feat: token field ON by default in FREE, donate links everywhere

- server.js: ALLOW_COMMUNITY_GITHUB_ACTIVATION defaults to true for
  community edition (disable explicitly with =0/false/no/off)
- app.js: updated hint text when field is disabled by owner
- public/index.html: donate links block on login screen
- public/styles.css: .gate-donate styles
- landing: proj-support-strip with donate links
- README: unified "Поддержка проекта" block + blockquote at top
- .github/FUNDING.yml: Boosty + Ozon + Telegram
- scripts/install.sh: updated comment header
- version bumped to 1.2.28

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Андрей Бобырев
2026-05-15 05:52:15 +03:00
parent 24ce104aea
commit 8e886d6547
10 changed files with 155 additions and 39 deletions

View File

@@ -213,9 +213,9 @@ async function hydratePanelPromoFooter() {
if (fSepDO) fSepDO.classList.toggle("hidden", !(footerD && (footerO || footerT)));
if (fSepOT) fSepOT.classList.toggle("hidden", !(footerO && footerT));
if (strip && (okD || okO || okT)) strip.classList.remove("hidden");
if (strip) strip.classList.remove("hidden");
} catch {
/* офлайн или сбой — блок остаётся скрытым */
/* офлайн или сбой — в HTML уже дефолтные ссылки шапки/подвала */
}
}
@@ -420,7 +420,7 @@ function applyEditionPayload(data) {
hint.className = "edition-banner-no-activation muted";
hint.setAttribute("role", "note");
hint.textContent =
"Строки для GitHubтокена нет специально: эта возможность была отключена при установке FREE. Чтобы она появилась здесь под кнопкой Boosty — переустановите панель с INSTALL_FREE_COMMUNITY_ACTIVATION=1 (README, раздел «Установка для клиента»), либо задайте ALLOW_COMMUNITY_GITHUB_ACTIVATION=1 в переменных контейнера; также помогает файл .install-free-github-pro-opt-in в каталоге данных панели и повторный запуск install.sh.";
"Владелец сервера отключил установку PRO из интерфейса (в контейнере задано ALLOW_COMMUNITY_GITHUB_ACTIVATION=0 или экв.). Уберите переменную или поставьте 1/true — и перезапустите контейнер панели.";
editionBanner.appendChild(hint);
}
} else {

View File

@@ -7,7 +7,7 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/styles.css?v=1.2.25">
<link rel="stylesheet" href="/styles.css?v=1.2.28">
<script>
(function () {
try {
@@ -23,15 +23,17 @@
</script>
</head>
<body class="page">
<aside id="panel-promo-strip" class="panel-promo-strip hidden" role="complementary" aria-label="Поддержка проекта">
<aside id="panel-promo-strip" class="panel-promo-strip" role="complementary" aria-label="Поддержка и донат">
<div class="panel-promo-strip-inner">
<p id="panel-promo-subtitle" class="panel-promo-subtitle muted"></p>
<p id="panel-promo-subtitle" class="panel-promo-subtitle muted">Поддержите через Boosty (или вашу ссылку), Ozon СБП и Telegram — те же ссылки внизу панели. На пользовательские лендинги это не выводится.</p>
<div class="panel-promo-links">
<a id="panel-strip-donate" class="panel-promo-a hidden" target="_blank" rel="noopener noreferrer"></a>
<span id="panel-strip-sep-donate-ozon" class="panel-promo-sep hidden" aria-hidden="true">·</span>
<a id="panel-strip-ozon" class="panel-promo-a hidden" target="_blank" rel="noopener noreferrer"></a>
<span id="panel-strip-sep-ozon-tg" class="panel-promo-sep hidden" aria-hidden="true">·</span>
<a id="panel-strip-telegram" class="panel-promo-a hidden" target="_blank" rel="noopener noreferrer"></a>
<a class="panel-promo-a panel-promo-github-fixed" href="https://github.com/andrey271192/amnezia_web" target="_blank" rel="noopener noreferrer">⭐ GitHub</a>
<span class="panel-promo-sep" aria-hidden="true">·</span>
<a id="panel-strip-donate" class="panel-promo-a" href="https://boosty.to/andrey27/purchase/3906453?ssource=DIRECT&amp;share=subscription_link" target="_blank" rel="noopener noreferrer">Поддержать проект</a>
<span id="panel-strip-sep-donate-ozon" class="panel-promo-sep" aria-hidden="true">·</span>
<a id="panel-strip-ozon" class="panel-promo-a" href="https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798" target="_blank" rel="noopener noreferrer">Донат · Ozon СБП</a>
<span id="panel-strip-sep-ozon-tg" class="panel-promo-sep" aria-hidden="true">·</span>
<a id="panel-strip-telegram" class="panel-promo-a" href="https://t.me/lot_andrey" target="_blank" rel="noopener noreferrer">Telegramканал спонсора</a>
</div>
</div>
</aside>
@@ -47,6 +49,18 @@
<button type="submit" class="btn primary full">Войти</button>
<p id="login-error" class="status err" role="alert"></p>
</form>
<nav class="gate-donate muted" aria-label="Поддержка и донат">
Поддержка веб‑панелей (вне этого сервера):<br/>
<a href="https://github.com/andrey271192/amnezia_web" target="_blank" rel="noopener noreferrer">GitHub</a>
<span class="gate-donate-dot" aria-hidden="true">·</span>
<a href="https://boosty.to/andrey27/purchase/3906453?ssource=DIRECT&amp;share=subscription_link" target="_blank" rel="noopener noreferrer">Boosty · PRO панели</a>
<span class="gate-donate-dot" aria-hidden="true">·</span>
<a href="https://boosty.to/andrey27/donate" target="_blank" rel="noopener noreferrer">Донат</a>
<span class="gate-donate-dot" aria-hidden="true">·</span>
<a href="https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798" target="_blank" rel="noopener noreferrer">Ozon СБП</a>
<span class="gate-donate-dot" aria-hidden="true">·</span>
<a href="https://t.me/lot_andrey" target="_blank" rel="noopener noreferrer">Telegram</a>
</nav>
</div>
</div>
@@ -267,15 +281,15 @@
<strong class="support-title">amnezia_web</strong>
<span class="support-sep" aria-hidden="true">·</span>
<a href="https://github.com/andrey271192/amnezia_web" target="_blank" rel="noopener noreferrer">GitHub</a>
<span id="footer-promo-gap1" class="support-sep hidden" aria-hidden="true">·</span>
<a id="footer-promo-donate" class="support-promo-link hidden" target="_blank" rel="noopener noreferrer"></a>
<span id="footer-promo-sep-donate-ozon" class="support-sep hidden" aria-hidden="true">·</span>
<a id="footer-promo-ozon" class="support-promo-link hidden" target="_blank" rel="noopener noreferrer"></a>
<span id="footer-promo-sep-ozon-tg" class="support-sep hidden" aria-hidden="true">·</span>
<a id="footer-promo-telegram" class="support-promo-link hidden" target="_blank" rel="noopener noreferrer"></a>
<span id="footer-promo-gap1" class="support-sep" aria-hidden="true">·</span>
<a id="footer-promo-donate" class="support-promo-link" href="https://boosty.to/andrey27/purchase/3906453?ssource=DIRECT&amp;share=subscription_link" target="_blank" rel="noopener noreferrer">Поддержать проект</a>
<span id="footer-promo-sep-donate-ozon" class="support-sep" aria-hidden="true">·</span>
<a id="footer-promo-ozon" class="support-promo-link" href="https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798" target="_blank" rel="noopener noreferrer">Донат · Ozon СБП</a>
<span id="footer-promo-sep-ozon-tg" class="support-sep" aria-hidden="true">·</span>
<a id="footer-promo-telegram" class="support-promo-link" href="https://t.me/lot_andrey" target="_blank" rel="noopener noreferrer">Telegramканал спонсора</a>
</div>
<p class="support-blurb">
Базовая панель: AWGклиенты, статусы и MTProtoпрокси (Docker). Ссылки поддержки (Boosty, Ozon СБП, Telegram) подставляются из настроек сервера — только в этом интерфейсе, не на пользовательских лендингах.
AWGклиенты, статусы и MTProtoпрокси в FREE. Жёлтая шапка поддержки совпадает с подвалом; текст ссылок может подтягиваться с сервера (Boosty подписка / донат). На пользовательских лендингах блоков поддержки нет.
</p>
</footer>
@@ -313,6 +327,6 @@
</div>
</dialog>
<script src="/app.js?v=1.2.25" type="module"></script>
<script src="/app.js?v=1.2.28" type="module"></script>
</body>
</html>

View File

@@ -340,6 +340,27 @@ h1 {
margin-bottom: 0.75rem;
}
.gate-donate {
margin-top: 1rem;
padding-top: 0.9rem;
border-top: 1px dashed rgba(148, 163, 184, 0.45);
font-size: 0.84rem;
line-height: 1.65;
}
.gate-donate a {
color: var(--accent);
font-weight: 650;
white-space: nowrap;
}
.gate-donate-dot {
display: inline-block;
opacity: 0.45;
margin: 0 0.2rem;
user-select: none;
}
.btn.full {
width: 100%;
margin-top: 0.25rem;