6.3 KiB
keenetic_ssh-web
Веб‑панель, которая выполняет команды прямо на роутере Keenetic (Entware) и показывает вывод. Подходит для opkg update, перезапусков сервисов, диагностики, и т. п.
- Порт панели:
2001 - Где работает: на самом роутере (Entware)
- Вход: логин/пароль от веб‑админки Keenetic (NDM
/auth)
(есть запасной «мастер‑пароль»WEB_PASSWORD, если нужно) - Опционально: модуль
tunnel/— WireGuard‑туннель VPS ↔ роутер, чтобы открыть доступ к панели и SSH, даже если у роутера серый IP (без проброса портов).
Быстрый старт (минимум команд)
Вариант 1. Панель нужна только дома (LAN)
На роутере (в Entware shell по SSH):
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-router.sh | sh
Откройте в браузере:
http://IP_РОУТЕРА:2001
Вход — как в веб‑админку Keenetic.
Вариант 2. Серый IP, нужен доступ из любой точки (через VPS)
2 команды “с нуля” (самый простой путь)
Команда 1 — на VPS (Ubuntu): поставить туннель и сразу добавить роутер (peer).
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-vps.sh | sudo bash -s -- add my-router
Она выведет готовый блок (несколько строк export ... + curl ... | sh).
Команда 2 — на роутере (Entware shell): вставьте выданный блок как есть.
Он поднимет wg0, а затем установит панель на 2001.
Проверка с VPS:
curl http://10.99.0.X:2001
ssh root@10.99.0.X
Дальше уже красиво делается через HTTPS reverse‑proxy на VPS.
Caddy (3 строки):
router.example.com {
reverse_proxy 10.99.0.X:2001
}
Nginx (минимальный server block):
server {
server_name router.example.com;
location / { proxy_pass http://10.99.0.X:2001; }
}
Рекомендация: в .env панели выставить ALLOWED_IPS=10.99.0.1, чтобы к роутеру мог обращаться только VPS.
Вариант 3. Белый IP — без туннеля
Ставьте как в варианте 1 (LAN), а доступ снаружи делайте как вам удобно: проброс порта/файрвол/домен.
Важно: не открывайте 2001 в интернет без ограничений (см. безопасность ниже).
Как пользоваться панелью (по‑человечески)
1) Добавьте команду
- Название — как вам удобно (например:
opkg update) - Команда — обычная shell‑команда (например:
opkg update) - Примечание — необязательно
2) Запуск
- Выполнить — запускает одну команду и показывает результат
- Выполнить все команды — запускает все строки с галочкой «ВКЛ»
3) Расписание
- Поставьте интервал (в минутах) и нажмите Сохранить
- У нужных строк включите «Распис.»
По расписанию выполняются только строки: ВКЛ + Распис.
4) Просмотр вывода
Кнопка «Вывод» раскрывает полный лог последнего запуска (stdout + stderr).
Примеры полезных команд (можно копировать)
- Обновить пакеты:
opkg update && opkg list-upgradable | head - Обновить всё:
opkg update && opkg upgrade - Проверить место:
df -h - Процессы:
top -b -n 1 | head -60 - WireGuard:
wg show - Логи:
logread | tail -200
Безопасность (важно)
Это не песочница: команда выполняется с правами процесса (на Entware часто root).
- Не публикуйте порт 2001 в интернет «как есть».
- Используйте минимум: туннель + reverse‑proxy или
ALLOWED_IPS.
Удаление (одной командой)
Панель (на роутере):
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/uninstall.sh | sh
Туннель‑клиент (на роутере, если ставили):
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/tunnel/tunnel-uninstall.sh | sh
Туннель‑сервер (на VPS, если ставили):
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/tunnel/server-uninstall.sh | sudo sh
Туннель как отдельный сервис (по желанию)
Туннель — это дополнительный сервис для всей вашей экосистемы (keenetic‑unified, domen_hydra и т. д.). Он просто делает так, что VPS «видит» роутер по адресу 10.99.0.X.
Полная документация (для тех, кому нужно больше деталей): tunnel/README.md.
Поддержка проекта
- Boosty:
https://boosty.to/andrey27/donate - Ozon Bank (СБП):
https://finance.ozon.ru/apps/sbp/ozonbankpay/019dc200-2a5d-7931-a619-782d285f6798 - Telegram:
https://t.me/Iot_andrey
Кнопка Sponsor на GitHub ведёт на варианты из .github/FUNDING.yml.
Лицензия
MIT — см. LICENSE.
