Files
kaskad_web_vpn/templates/setup.html
Андрей Бобырев 7f26d2a200 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>
2026-05-15 05:52:21 +03:00

50 lines
2.9 KiB
HTML

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Первый вход — пароль</title>
<base href="/">
<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&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/static/styles.css">
</head>
<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="card" style="max-width:26rem;margin:2rem auto;">
<h1 class="product-title" style="margin-bottom:0.5rem;">Первый вход</h1>
<p class="muted">Задайте логин и пароль для HTTP Basic Auth (в браузере запросит их при открытии панели).</p>
{% if error %}
<p class="setup-error">{{ error }}</p>
{% endif %}
<form method="post" class="form-grid" style="grid-template-columns:1fr;">
<label>Логин
<input name="username" value="{{ default_user }}" required maxlength="64" autocomplete="username">
</label>
<label>Пароль (мин. 8 символов)
<input name="password" type="password" required minlength="8" autocomplete="new-password">
</label>
<label>Пароль ещё раз
<input name="password2" type="password" required minlength="8" autocomplete="new-password">
</label>
<button type="submit" class="btn" style="justify-self:start;margin-top:0.25rem;">Сохранить и перейти к панели</button>
</form>
<p class="muted" style="margin-top:1rem;font-size:0.78rem;">Данные сохраняются в томе <span class="mono">/var/lib/kaskad/web_auth.json</span>. При указании <span class="mono">ADMIN_PASSWORD</span> или <span class="mono">BASIC_AUTH_PASSWORD</span> в Docker этот шаг пропускается.</p>
</div>
</div>
</body>
</html>