mirror of
https://github.com/andrey271192/amnezia_web-PRO.git
synced 2026-09-20 14:42:00 +00:00
feat: donate links on login screen + unified README support block
- 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 <cursoragent@cursor.com>
This commit is contained in:
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
@@ -1,5 +1,6 @@
|
|||||||
# Как в https://github.com/andrey271192/domen_hydra/blob/main/.github/FUNDING.yml
|
|
||||||
github: andrey271192
|
github: andrey271192
|
||||||
|
|
||||||
custom:
|
custom:
|
||||||
- https://boosty.to/andrey27/donate
|
- https://boosty.to/andrey27/donate
|
||||||
|
- https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798
|
||||||
|
- https://t.me/lot_andrey
|
||||||
|
|||||||
11
README.md
11
README.md
@@ -1,5 +1,16 @@
|
|||||||
# amnezia_web-PRO
|
# 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`).
|
Веб-панель на вашем 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)**.
|
Справочник по интерфейсу, типичным сбоям и HTTP API: **[docs/panel-guide.md](docs/panel-guide.md)**.
|
||||||
|
|||||||
@@ -21,6 +21,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
<div class="proj-support-strip" role="navigation" aria-label="Поддержка и донат — проект панелей">
|
||||||
|
<div class="proj-support-inner">
|
||||||
|
<span class="proj-support-lead">Панели Amnezia Admin · поддержать проект:</span>
|
||||||
|
<a href="https://github.com/andrey271192/amnezia_web" target="_blank" rel="noopener noreferrer">⭐ GitHub</a>
|
||||||
|
<span class="proj-support-dot" aria-hidden="true">·</span>
|
||||||
|
<a href="https://boosty.to/andrey27/donate" target="_blank" rel="noopener noreferrer">💖 Boosty</a>
|
||||||
|
<span class="proj-support-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="proj-support-dot" aria-hidden="true">·</span>
|
||||||
|
<a href="https://t.me/lot_andrey" target="_blank" rel="noopener noreferrer">✉️ Telegram @lot_andrey</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<section class="hero">
|
<section class="hero">
|
||||||
<div class="hero-badge">Частный сервер</div>
|
<div class="hero-badge">Частный сервер</div>
|
||||||
<h1>Подключение к VPN</h1>
|
<h1>Подключение к VPN</h1>
|
||||||
|
|||||||
@@ -839,6 +839,45 @@ body {
|
|||||||
text-align: right;
|
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 {
|
.site-footer {
|
||||||
border-top: 1px solid var(--border);
|
border-top: 1px solid var(--border);
|
||||||
padding: 1.75rem 1.5rem 2rem;
|
padding: 1.75rem 1.5rem 2rem;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "amnezia-admin",
|
"name": "amnezia-admin",
|
||||||
"version": "1.2.0",
|
"version": "1.2.28",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "amnezia_web-PRO — веб-панель AmneziaWG: несколько инстансов, WARP, каскад/Endpoint, экспорт .conf (Docker)",
|
"description": "amnezia_web-PRO — веб-панель AmneziaWG: несколько инстансов, WARP, каскад/Endpoint, экспорт .conf (Docker)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@@ -7,9 +7,24 @@
|
|||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<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 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">
|
<link rel="stylesheet" href="/styles.css?v=1.2.28">
|
||||||
</head>
|
</head>
|
||||||
<body class="page">
|
<body class="page">
|
||||||
|
<aside class="panel-promo-strip" role="complementary" aria-label="Поддержка и донат">
|
||||||
|
<div class="panel-promo-strip-inner">
|
||||||
|
<p class="panel-promo-subtitle muted">Поддержите проект через Boosty, Ozon СБП и Telegram — ниже те же ссылки в подвале.</p>
|
||||||
|
<div class="panel-promo-links">
|
||||||
|
<a class="panel-promo-a" href="https://github.com/andrey271192/amnezia_web-PRO" target="_blank" rel="noopener noreferrer">⭐ GitHub · PRO</a>
|
||||||
|
<span class="panel-promo-sep" aria-hidden="true">·</span>
|
||||||
|
<a class="panel-promo-a" href="https://boosty.to/andrey27/donate" target="_blank" rel="noopener noreferrer">💖 Boosty</a>
|
||||||
|
<span class="panel-promo-sep" aria-hidden="true">·</span>
|
||||||
|
<a 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 class="panel-promo-sep" aria-hidden="true">·</span>
|
||||||
|
<a class="panel-promo-a" href="https://t.me/lot_andrey" target="_blank" rel="noopener noreferrer">✉️ Telegram @lot_andrey</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
|
||||||
<div id="login-gate" class="gate hidden" aria-hidden="true">
|
<div id="login-gate" class="gate hidden" aria-hidden="true">
|
||||||
<div class="gate-card">
|
<div class="gate-card">
|
||||||
<p class="eyebrow">Панель сервера</p>
|
<p class="eyebrow">Панель сервера</p>
|
||||||
@@ -21,6 +36,16 @@
|
|||||||
<button type="submit" class="btn primary full">Войти</button>
|
<button type="submit" class="btn primary full">Войти</button>
|
||||||
<p id="login-error" class="status err" role="alert"></p>
|
<p id="login-error" class="status err" role="alert"></p>
|
||||||
</form>
|
</form>
|
||||||
|
<nav class="gate-donate muted" aria-label="Поддержка и донат">
|
||||||
|
Поддержка веб‑панелей (вне этого сервера):<br/>
|
||||||
|
<a href="https://github.com/andrey271192/amnezia_web-PRO" target="_blank" rel="noopener noreferrer">GitHub · PRO</a>
|
||||||
|
<span class="gate-donate-dot" aria-hidden="true">·</span>
|
||||||
|
<a href="https://boosty.to/andrey27/donate" target="_blank" rel="noopener noreferrer">Boosty</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -293,6 +318,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
|
||||||
<script src="/app.js" type="module"></script>
|
<script src="/app.js?v=1.2.28" type="module"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -26,6 +26,59 @@ body.page {
|
|||||||
flex-direction: column;
|
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 {
|
.shell {
|
||||||
flex: 1 0 auto;
|
flex: 1 0 auto;
|
||||||
max-width: min(1120px, 100%);
|
max-width: min(1120px, 100%);
|
||||||
@@ -144,6 +197,27 @@ h1 {
|
|||||||
margin-bottom: 0.75rem;
|
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 {
|
.btn.full {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 0.25rem;
|
margin-top: 0.25rem;
|
||||||
|
|||||||
Reference in New Issue
Block a user