Files
keenetic_ssh-web/.env.example
Андрей Бобырев d8ee078ef5 auth: ROUTER_HOST как список + диагностика причин в логе
На Keenetic админка часто не слушает loopback — биндится только на
LAN-интерфейсах. Делаем ROUTER_HOST списком (через запятую), пробуем
все по порядку.

- auth.py: keenetic_validate_any() — обходит список, на каждом шаге
  пишет в лог конкретную причину отказа: unreachable / нет realm /
  POST HTTP <code> / неверный логин-пароль
- app.py: парсит ROUTER_HOST как список (csv); login fail логируется
- install.sh: при создании свежего .env подставляет в ROUTER_HOST
  обнаруженный LAN-IP, my.keenetic.net и loopback (через запятую)
- .env.example: тот же дефолт, комментарии обновлены
2026-04-26 01:32:34 +03:00

32 lines
1.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# --- Авторизация по логину/паролю от веб-админки роутера (рекомендуется) ---
# HTTP-адрес(а) админки Keenetic для проверки логина/пароля.
# Можно перечислить через запятую — будет пробовать по порядку, пока кто-то не примет.
# Установщик сам подставит LAN-IP роутера, если запущен на нём.
# Часто loopback закрыт админкой Keenetic — основной кандидат это LAN-IP.
ROUTER_HOST=http://192.168.1.1,http://my.keenetic.net,http://127.0.0.1
# Логин по умолчанию в форме входа (можно изменить руками при логине)
ROUTER_LOGIN=admin
# Таймаут запроса к /auth роутера, секунд
ROUTER_TIMEOUT=5
# --- Запасной/мастер пароль (если ROUTER_HOST недоступен) ---
# Если роутерная авторизация не сработала, разрешит вход по этому паролю.
# Можно оставить пустым, чтобы вход был только по паролю от админки.
WEB_PASSWORD=
# --- Сеть ---
# Порт HTTP (по умолчанию 2001)
PORT=2001
# Таймаут одной команды, сек
CMD_TIMEOUT=300
# Подпись и Telegram внизу страницы (без @)
AUTHOR_TELEGRAM_USERNAME=Iot_andrey
# Ограничение по IP клиента (через запятую, без масок). Пусто = все IP.
# Пример: ALLOWED_IPS=192.168.1.100,10.0.0.5
ALLOWED_IPS=