mirror of
https://github.com/andrey271192/keenetic_ssh-web.git
synced 2026-09-21 14:52:01 +00:00
auth: вход по логину/паролю от веб-админки роутера + сессионные токены
- auth.py: NDM-аутентификация (md5+sha256 challenge) к http://ROUTER_HOST/auth - Сессионные токены (secrets, TTL 8ч, скользящее окно), заголовок X-Session-Token - WEB_PASSWORD остаётся как запасной мастер-пароль - /api/login и /api/logout, форма входа в UI с полем «Логин» - Шапка автора в UI: GitHub, Telegram, Boosty, Поддержать (Ozon СБП) - README: NDM-флоу, переменные ROUTER_HOST/ROUTER_LOGIN/ROUTER_TIMEOUT - install.sh копирует auth.py
This commit is contained in:
25
.env.example
25
.env.example
@@ -1,16 +1,29 @@
|
||||
# Пароль веб-интерфейса (обязательно смените)
|
||||
WEB_PASSWORD=change_me
|
||||
# --- Авторизация по логину/паролю от веб-админки роутера (рекомендуется) ---
|
||||
# HTTP-адрес админки Keenetic. На самом роутере обычно подходит loopback.
|
||||
# Если приложение крутится в той же LAN — поставьте http://192.168.1.1
|
||||
ROUTER_HOST=http://127.0.0.1
|
||||
|
||||
# Логин по умолчанию в форме входа (можно изменить руками при логине)
|
||||
ROUTER_LOGIN=admin
|
||||
|
||||
# Таймаут запроса к /auth роутера, секунд
|
||||
ROUTER_TIMEOUT=5
|
||||
|
||||
# --- Запасной/мастер пароль (если ROUTER_HOST недоступен) ---
|
||||
# Если роутерная авторизация не сработала, разрешит вход по этому паролю.
|
||||
# Можно оставить пустым, чтобы вход был только по паролю от админки.
|
||||
WEB_PASSWORD=
|
||||
|
||||
# --- Сеть ---
|
||||
# Порт HTTP (по умолчанию 2001)
|
||||
PORT=2001
|
||||
|
||||
# Таймаут одной команды, сек
|
||||
CMD_TIMEOUT=300
|
||||
|
||||
# Подпись внизу страницы (Telegram @username без @)
|
||||
# Подпись и Telegram внизу страницы (без @)
|
||||
AUTHOR_TELEGRAM_USERNAME=Iot_andrey
|
||||
|
||||
# Ограничение по IP клиента (через запятую). Пусто = все IP (только пароль).
|
||||
# Пример: ALLOWED_IPS=192.168.1.0/24 нельзя — только конкретные хосты:
|
||||
# ALLOWED_IPS=192.168.1.100,10.0.0.5
|
||||
# Ограничение по IP клиента (через запятую, без масок). Пусто = все IP.
|
||||
# Пример: ALLOWED_IPS=192.168.1.100,10.0.0.5
|
||||
ALLOWED_IPS=
|
||||
|
||||
Reference in New Issue
Block a user