Files
kaskad_web_vpn/README.md
Андрей Бобырев 23f5649651 feat: kaskad memo site with Basic Auth
Flask + Docker, header support links, install/uninstall curl scripts, password file or ADMIN_PASSWORD.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 20:25:02 +03:00

2.8 KiB
Raw Blame History

kaskad_web_vpn

Мини-сайт на Flask с HTTP Basic Auth: памятка про каскад AmneziaWG, без сторонней рекламы. В шапке — ссылки автора на поддержку (GitHub, Boosty, Ozon СБП, Telegram).

Репозиторий: github.com/andrey271192/kaskad_web_vpn

Требования

  • Docker с доступом для текущего пользователя (или запуск скриптов от root).

Установка одной командой

На сервере (порт хоста по умолчанию 8088, логин user1, пароль генерируется и пишется в /root/kaskad_web.initial-password):

curl -fsSL https://raw.githubusercontent.com/andrey271192/kaskad_web_vpn/main/install.sh | sudo bash

Свой пароль и порт:

curl -fsSL https://raw.githubusercontent.com/andrey271192/kaskad_web_vpn/main/install.sh | sudo \
  env ADMIN_PASSWORD=аш_секрет' HOST_PORT=8443 bash

Опционально ссылка на вашу веб-панель Amnezia (подставится на страницу):

curl -fsSL https://raw.githubusercontent.com/andrey271192/kaskad_web_vpn/main/install.sh | sudo \
  env PANEL_URL='https://panel.example.com' bash

Переменные окружения установки:

Переменная По умолчанию Описание
HOST_PORT 8088 Порт на хосте (HOST_PORT:8088 в контейнере)
BASIC_AUTH_USER user1 Логин Basic Auth
ADMIN_PASSWORD Пароль; если не задан — берётся из файла или генерируется
PASSWORD_FILE /root/kaskad_web.initial-password Файл с паролем при автогенерации
PANEL_URL пусто URL панели для блока на главной
KASKAD_REPO andrey271192/kaskad_web_vpn Репозиторий GitHub
KASKAD_REF main Ветка
KASKAD_INSTALL_ROOT /opt Куда распаковать исходники для сборки

Удаление

curl -fsSL https://raw.githubusercontent.com/andrey271192/kaskad_web_vpn/main/uninstall.sh | sudo bash

Удалить ещё и Docker-образ:

curl -fsSL https://raw.githubusercontent.com/andrey271192/kaskad_web_vpn/main/uninstall.sh | sudo env REMOVE_IMAGE=1 bash

Локально без Docker

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
export BASIC_AUTH_PASSWORD='secret'
flask --app app run --host 0.0.0.0 --port 8088

Проверка без авторизации: GET /health.

Лицензия

MIT