feat: sticky donate strip on all pages + unified README block

- templates/index.html: proj-support-strip replaces inline header links
- templates/setup.html: same strip (already added)
- static/styles.css: .proj-support-strip styles
- README.md: blockquote + "Поддержка проекта" section
- .github/FUNDING.yml: added

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Андрей Бобырев
2026-05-15 05:52:21 +03:00
parent 7f84dff88c
commit 7f26d2a200
5 changed files with 84 additions and 12 deletions

6
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
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

View File

@@ -1,5 +1,16 @@
# kaskad_web_vpn — каскад NAT под ключ # kaskad_web_vpn — каскад NAT под ключ
> Где поддержать: [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/kaskad_web_vpn)
## Поддержка проекта
---
-**GitHub:** [andrey271192/kaskad_web_vpn](https://github.com/andrey271192/kaskad_web_vpn)
- 💖 **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)
Веб-панель на **Flask** с **HTTP Basic Auth**: **каскад** (DNAT UDP/TCP с российского VPS на зарубежный узел AmneziaWG / WireGuard / TCP), блок **Система**, **Сервисы**, таблица правил и вывод **iptables**. Установка одной командой с **вашего** репозитория GitHub. Веб-панель на **Flask** с **HTTP Basic Auth**: **каскад** (DNAT UDP/TCP с российского VPS на зарубежный узел AmneziaWG / WireGuard / TCP), блок **Система**, **Сервисы**, таблица правил и вывод **iptables**. Установка одной командой с **вашего** репозитория GitHub.
Репозиторий: [github.com/andrey271192/kaskad_web_vpn](https://github.com/andrey271192/kaskad_web_vpn) Репозиторий: [github.com/andrey271192/kaskad_web_vpn](https://github.com/andrey271192/kaskad_web_vpn)

View File

@@ -284,6 +284,48 @@ a {
margin-top: 0.35rem; margin-top: 0.35rem;
} }
.proj-support-strip {
position: sticky;
top: 0;
z-index: 100;
border-bottom: 1px solid rgba(125, 211, 252, 0.22);
background: rgba(7, 11, 16, 0.94);
backdrop-filter: blur(8px);
}
.proj-support-inner {
max-width: min(1180px, 100%);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.35rem 0.65rem;
padding: 0.4rem clamp(1rem, 3vw, 1.25rem);
font-size: 0.82rem;
color: var(--muted);
}
.proj-support-inner a {
color: var(--accent);
font-weight: 650;
white-space: nowrap;
}
.proj-support-lead {
margin-right: 0.25rem;
opacity: 0.95;
}
.proj-support-dot {
opacity: 0.4;
user-select: none;
}
.kaskad-support-top + .shell {
padding-top: 0.75rem;
}
.site-header { .site-header {
border: 1px solid var(--line); border: 1px solid var(--line);
border-radius: 14px; border-radius: 14px;

View File

@@ -11,6 +11,18 @@
<link rel="stylesheet" href="/static/styles.css"> <link rel="stylesheet" href="/static/styles.css">
</head> </head>
<body> <body>
<div class="proj-support-strip kaskad-support-top" role="navigation" aria-label="Поддержка автора">
<div class="proj-support-inner">
<span class="proj-support-lead">Поддержка:</span>
<a href="https://github.com/andrey271192/kaskad_web_vpn" 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&nbsp;СБП</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>
<div class="shell shell-wide"> <div class="shell shell-wide">
<div class="top-bar"> <div class="top-bar">
<h1 class="product-title">{{ ui_title }}</h1> <h1 class="product-title">{{ ui_title }}</h1>
@@ -18,21 +30,10 @@
</div> </div>
<header class="site-header"> <header class="site-header">
<div class="support-line">
<span class="support-title">Поддержка автора</span>
<span class="sep" aria-hidden="true">·</span>
<a href="https://github.com/andrey271192/kaskad_web_vpn" target="_blank" rel="noopener noreferrer">GitHub</a>
<span class="sep">·</span>
<a href="https://boosty.to/andrey27/donate" target="_blank" rel="noopener noreferrer">Boosty</a>
<span class="sep">·</span>
<a href="https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798" target="_blank" rel="noopener noreferrer">Ozon&nbsp;СБП</a>
<span class="sep">·</span>
<a href="https://t.me/lot_andrey" target="_blank" rel="noopener noreferrer">Telegram @lot_andrey</a>
</div>
{% if panel_url %} {% if panel_url %}
<p class="support-blurb">Панель Amnezia / доп.: <a href="{{ panel_url }}">{{ panel_url }}</a></p> <p class="support-blurb">Панель Amnezia / доп.: <a href="{{ panel_url }}">{{ panel_url }}</a></p>
{% else %} {% else %}
<p class="support-blurb">Открытый исходный код, без сторонней рекламы на странице.</p> <p class="support-blurb">Открытый исходный код, без сторонней рекламы на странице. Ссылки на поддержку закреплены в верхней полоске.</p>
{% endif %} {% endif %}
</header> </header>

View File

@@ -11,6 +11,18 @@
<link rel="stylesheet" href="/static/styles.css"> <link rel="stylesheet" href="/static/styles.css">
</head> </head>
<body> <body>
<div class="proj-support-strip kaskad-support-top" role="navigation" aria-label="Поддержка автора">
<div class="proj-support-inner">
<span class="proj-support-lead">Поддержка:</span>
<a href="https://github.com/andrey271192/kaskad_web_vpn" 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&nbsp;СБП</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>
<div class="shell shell-wide"> <div class="shell shell-wide">
<div class="card" style="max-width:26rem;margin:2rem auto;"> <div class="card" style="max-width:26rem;margin:2rem auto;">
<h1 class="product-title" style="margin-bottom:0.5rem;">Первый вход</h1> <h1 class="product-title" style="margin-bottom:0.5rem;">Первый вход</h1>