diff --git a/README.md b/README.md index b5188f0..f593a4c 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,57 @@ HydraRoute Neo — плагин для Keenetic, который маршрути Все команды выполняются на **VPS**. +--- + +## 0. Подготовка перед установкой (VPS и роутер) + +### 0.1 VPS (Ubuntu/Debian) + +Панель работает как systemd‑сервис и по кнопке «📡 Обновить…» подключается по SSH к роутерам. + +Минимальный чек‑лист: + +- **Открыть порт панели** (если у тебя firewall): + +```bash +sudo ufw allow 8000/tcp +``` + +- **Проверить что сервис будет слушать 8000** (занято/не занято): + +```bash +ss -tlnp | grep :8000 || true +``` + +- **Для SSH‑операций нужен `sshpass`** (установщик ставит, но если ставишь руками): + +```bash +sudo apt-get update +sudo apt-get install -y sshpass +``` + +Если планируешь **обратный туннель** — в `.env` обязательно задать: +- `VPS_SSH_HOST` (публичный IP/домен VPS, который доступен роутеру) +- `VPS_SSH_PORT` (обычно 22) +- `VPS_SSH_USER` (обычно root) + +### 0.2 Роутер Keenetic (перед добавлением в панель) + +Панель не “магическая” — она **заходит по SSH** на роутер и кладёт файлы в `/opt/etc/HydraRoute/…`. + +Чек‑лист: + +- **HydraRoute Neo установлен**. +- **Entware установлен** и работает: + +```sh +opkg update +``` + +- **SSH включён**, логин обычно `root`, пароль задан (по умолчанию часто `keenetic`). +- Если у роутера **нестандартный SSH‑порт** — в панели во вкладке «Роутеры» укажи **`SSH порт (опц.)`**. +- Если у провайдера **серый IP** и VPS не может достучаться до роутера по WAN — используй раздел **«3. Обратный туннель»**. + ### Шаг 1 — установка ```bash @@ -101,6 +152,13 @@ http://IP_ТВОЕГО_VPS:8000 cd /opt/domen-hydra && git pull && sudo systemctl restart hydra-manager ``` +### Быстрая диагностика после обновления + +```bash +sudo systemctl status hydra-manager --no-pager -l +sudo journalctl -u hydra-manager -n 80 --no-pager +``` + ### Удаление ```bash @@ -143,6 +201,10 @@ geoip:ru - **«📡 Обновить все роутеры»** — отправляет конфиг на все роутеры и делает `neo restart` - **«📡 На роутер»** на карточке роутера — только на один конкретный +### Про SSH‑порт + +По умолчанию SSH порт **22**. Если у тебя нестандартный порт — во вкладке **«Роутеры»** заполни **«SSH порт (опц.)»**. + ### Импорт с роутера Вкладка «Роутеры» → **«⬇ С роутера»** — файлы подтянутся автоматически. @@ -316,6 +378,37 @@ fuser -k 20100/tcp ## 6. Частые ошибки и решения +### SSH: `Connection refused` / `timeout` / «нет SSH» + +**Причины (самые частые):** +- SSH на роутере не включён +- Неверный **IP/hostname** (в поле IP должен быть адрес **для SSH**, не веб‑ссылка) +- Нестандартный SSH‑порт — не указан **«SSH порт (опц.)»** +- Firewall на роутере/провайдере режет входящий SSH по WAN +- Серый IP → VPS физически не может достучаться (нужен **туннель**) + +**Что делать:** +- Сначала нажми **«🔌 Тест»** у роутера в панели — он покажет понятный вывод. +- Если SSH не на 22 — заполни порт в карточке роутера и повтори. +- Если WAN недоступен — настраивай **«⇄ Тоннель»**. + +--- + +### SSH: `Permission denied` / «неверный пароль» + +**Причина:** неверный пароль/логин (или роутер не пускает root). + +**Решение:** +- Уточни, что реально работает руками: + +```bash +ssh root@ROUTER_HOST +``` + +- Обнови поля `user/password` у роутера в панели. + +--- + ### Туннель: `ssh exited with error status 255; restarting ssh` **Причина:** autossh не может подключиться к VPS. Обычно это происходит сразу после переустановки туннеля — старый autossh запущен со старыми параметрами. @@ -415,6 +508,20 @@ sudo ufw allow 8000/tcp --- +### VPS: `sshpass not installed` + +**Причина:** на VPS не установлен `sshpass`, а панель использует его для SSH. + +**Решение:** + +```bash +sudo apt-get update +sudo apt-get install -y sshpass +sudo systemctl restart hydra-manager +``` + +--- + ## 7. Полезное **SSH на роутер:**