From 038020408a836f0a12b66b1a3f1488c9c4f9f475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=91=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=D1=80=D0=B5=D0=B2?= Date: Fri, 15 May 2026 05:52:17 +0300 Subject: [PATCH] feat: donate links on login screen + unified README support block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - public/index.html: gate-donate nav with Boosty/Ozon/Telegram on login - public/styles.css: .gate-donate styles - landing: proj-support-strip - README: blockquote + "Поддержка проекта" section - .github/FUNDING.yml: added - version bumped to 1.2.28 Co-authored-by: Cursor --- .github/FUNDING.yml | 3 +- README.md | 11 +++++++ landing/index.html | 13 ++++++++ landing/styles.css | 39 ++++++++++++++++++++++++ package.json | 2 +- public/index.html | 29 ++++++++++++++++-- public/styles.css | 74 +++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 167 insertions(+), 4 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index d9a624b..ce5ddac 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,5 +1,6 @@ -# Как в https://github.com/andrey271192/domen_hydra/blob/main/.github/FUNDING.yml github: andrey271192 custom: - https://boosty.to/andrey27/donate + - https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798 + - https://t.me/lot_andrey diff --git a/README.md b/README.md index 0f6c8f5..3e6ce50 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,16 @@ # amnezia_web-PRO +> Где поддержать: [Boosty (донат)](https://boosty.to/andrey27/donate) · [Ozon СБП](https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798) · [Telegram @lot_andrey](https://t.me/lot_andrey) · [**GitHub** ↗](https://github.com/andrey271192/amnezia_web-PRO) + +## Поддержка проекта + +--- + +- ⭐ **GitHub:** [andrey271192/amnezia_web-PRO](https://github.com/andrey271192/amnezia_web-PRO) +- 💖 **Boosty:** [boosty.to/andrey27/donate](https://boosty.to/andrey27/donate) +- 💳 **Ozon Bank (СБП):** [ссылка](https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798) +- ✉️ **Telegram:** [@lot_andrey](https://t.me/lot_andrey) + Веб-панель на вашем VPS для управления клиентами **AmneziaWG**: вкл/выкл, удаление, переименование, дата отключения; при нескольких контейнерах — переключатель **«Инстанс»** (`AWG_PROFILES`); **экспорт .conf** при наличии `last_config`; **новый клиент под каскад** (свой Endpoint и ключи на сервере); **Telegram MTProto‑прокси** (отдельный контейнер `telegrammessenger/proxy`, управление из панели). **Cloudflare WARP** — *необязательное* дополнение: часть клиентов может выходить в интернет через интерфейс `warp` внутри контейнера AWG (ставится отдельно скриптом на хосте). Работает через Docker и `docker exec` в контейнер **Amnezia** (по умолчанию `amnezia-awg2`). Справочник по интерфейсу, типичным сбоям и HTTP API: **[docs/panel-guide.md](docs/panel-guide.md)**. diff --git a/landing/index.html b/landing/index.html index 01c7805..d7ce316 100644 --- a/landing/index.html +++ b/landing/index.html @@ -21,6 +21,19 @@ + +
Частный сервер

Подключение к VPN

diff --git a/landing/styles.css b/landing/styles.css index 231610b..918d236 100644 --- a/landing/styles.css +++ b/landing/styles.css @@ -839,6 +839,45 @@ body { text-align: right; } +.proj-support-strip { + border-bottom: 1px solid var(--border); + background: linear-gradient(90deg, rgba(29, 158, 117, 0.12), rgba(55, 138, 221, 0.08)); + padding: 0.4rem 1rem; +} + +.proj-support-inner { + max-width: 900px; + margin: 0 auto; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 0.35rem 0.65rem; + font-size: 12px; + color: var(--muted); +} + +.proj-support-lead { + margin-right: 0.25rem; + opacity: 0.95; +} + +.proj-support-dot { + opacity: 0.35; + user-select: none; +} + +.proj-support-inner a { + color: #5fd8b0; + text-decoration: none; + white-space: nowrap; + font-weight: 600; +} + +.proj-support-inner a:hover { + text-decoration: underline; +} + .site-footer { border-top: 1px solid var(--border); padding: 1.75rem 1.5rem 2rem; diff --git a/package.json b/package.json index 069ca18..7e48d02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "amnezia-admin", - "version": "1.2.0", + "version": "1.2.28", "private": true, "description": "amnezia_web-PRO — веб-панель AmneziaWG: несколько инстансов, WARP, каскад/Endpoint, экспорт .conf (Docker)", "license": "MIT", diff --git a/public/index.html b/public/index.html index a550eea..d1de6e2 100644 --- a/public/index.html +++ b/public/index.html @@ -7,9 +7,24 @@ - + + + @@ -293,6 +318,6 @@ - + diff --git a/public/styles.css b/public/styles.css index 66b42b0..628b674 100644 --- a/public/styles.css +++ b/public/styles.css @@ -26,6 +26,59 @@ body.page { flex-direction: column; } +.panel-promo-strip { + flex-shrink: 0; + position: sticky; + top: 0; + z-index: 40; + border-bottom: 1px solid rgba(125, 211, 252, 0.28); + background: linear-gradient(90deg, rgba(30, 41, 59, 0.94), rgba(15, 23, 42, 0.96)); + backdrop-filter: blur(8px); +} + +.panel-promo-strip-inner { + box-sizing: border-box; + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.5rem 1.25rem; + max-width: min(1120px, 100%); + margin: 0 auto; + padding: 0.55rem clamp(1rem, 3vw, 1.5rem); +} + +.panel-promo-subtitle { + margin: 0; + flex: 1 1 16rem; + font-size: 0.82rem; + line-height: 1.45; +} + +.panel-promo-links { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.35rem 0.65rem; +} + +.panel-promo-a { + font-weight: 650; + font-size: 0.86rem; + color: #fde68a; + text-decoration: none; + white-space: nowrap; +} + +.panel-promo-a:hover { + text-decoration: underline; +} + +.panel-promo-sep { + color: var(--muted); + font-weight: 700; + user-select: none; +} + .shell { flex: 1 0 auto; max-width: min(1120px, 100%); @@ -144,6 +197,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;