Обновление Hydra Route Neo/Web 3.10
Версии: **hrneo 3.10.0**, **hrweb 1.37.0** (release PCA: `3.10`).
Где лежат файлы в репозитории
router/hydra-ipk/3.10/aarch64/*.ipk
router/hydra-ipk/3.10/mipsel/*.ipk
Скрипт на роутере (опционально): `router/hydra_pkg_upgrade.sh` → `/opt/bin/hydra_pkg_upgrade.sh` после `install.sh`.
URL для скачивания (прод)
Базовый хост — `PUBLIC_BASE_URL` (обычно https://keenetichome.ru):
| Файл | URL | |------|-----| | hrneo aarch64 | `https://keenetichome.ru/router/hydra-ipk/3.10/aarch64/hrneo_3.10.0-1_aarch64-3.10.ipk` | | hrweb aarch64 | `https://keenetichome.ru/router/hydra-ipk/3.10/aarch64/hrweb_1.37.0-1_aarch64-3.10.ipk` | | hrneo mipsel | `https://keenetichome.ru/router/hydra-ipk/3.10/mipsel/hrneo_3.10.0-1_mipsel-3.4.ipk` | | hrweb mipsel | `https://keenetichome.ru/router/hydra-ipk/3.10/mipsel/hrweb_1.37.0-1_mipsel-3.4.ipk` |
Проверка с ПК: `curl -fsSI '<url>'` → HTTP 200.
API метаданные: `GET /api/hydra-pkg/info` (заголовок `X-Admin-Password`).
КРИТИЧНО: до обновления на каждом роутере
1. В админке Hydra Route (hrweb, порт 2000) **удалите все записи Proxy**. 2. После обновления старые прокси **не появятся** (изменился формат). 3. Восстановление при сбое:
- снова удалить прокси в HR;
- на роутере: `rm -f /opt/etc/xray/*`;
- заново добавить прокси в Hydra Route.
Архитектура роутера
grep '^arch=' /opt/etc/entware_release
# aarch64 → каталог aarch64
# mipsel (или mips) → каталог mipsel
В PCA: **Админка → Файлы** → «Обновить arch» или `POST /api/file-sync/arches/refresh`, либо `GET /api/hydra-pkg/arch-plan`.
Один роутер (рекомендуется сначала)
Вариант A — кнопка в /admin
1. Открыть https://keenetichome.ru/admin → вкладка с Hydra PKG. 2. Прочитать предупреждение про Proxy → подтвердить. 3. Выбрать роутер → «Обновить на одном».
Вариант B — SSH на роутере
# после удаления всех Proxy в hrweb
/opt/bin/hydra_pkg_upgrade.sh
# или вручную:
cd /opt/tmp/hydra-pkg-3.10
SERVER=$(cat /opt/etc/server_url)
ARCH=$(grep '^arch=' /opt/etc/entware_release | cut -d= -f2)
# скачать оба .ipk с $SERVER/router/hydra-ipk/3.10/$ARCH/
opkg install ./hrneo_*.ipk
opkg install ./hrweb_*.ipk
neo restart; hrweb restart
Вариант C — cmd_sync / file_sync
1. **Файлы** (`/files`): при необходимости залить IPK в `/router/files/…` (не обязательно — IPK уже в `router/hydra-ipk/`). 2. **Команды** (`/commands`): для каждой архитектуры отдельная запись с командой как в `hydra_pkg_upgrade.sh` или вызов `/opt/bin/hydra_pkg_upgrade.sh`.
Массовое обновление (22 роутера)
**Не запускать «на всех» без явного решения.**
1. `GET /api/hydra-pkg/arch-plan` — список aarch64 / mipsel / unknown. 2. Пройти **пилот** на 1 роутере каждой архитектуры. 3. Массово:
- **Админка**: «Обновить Hydra Neo/Web 3.10 (всем)» после второго confirm;
- **API**: `POST /api/hydra-pkg/upgrade-batch` с телом
`{"confirm_proxy_cleanup": true, "routers": ["r1","r2"]}` или без `routers` для всех из `routers.json`. 4. Параллельность: 2 роутера одновременно (таймаут SSH до ~15 мин).
upstream install.sh
Файл из архива Hydra Route делает только:
opkg install ./hrneo_….ipk
opkg install ./hrweb_….ipk
Отдельный `install.sh` в PCA **не нужен** — достаточно `opkg` по URL с VPS.
Деплой на VPS
./scripts/deploy-keenetic.sh
# router/hydra-ipk/ синкается (в отличие от router/files/)
Проверка: `curl -fsSI https://keenetichome.ru/router/hydra-ipk/3.10/mipsel/hrneo_3.10.0-1_mipsel-3.4.ipk`
После обновления
1. `neo status` / hrweb :2000 — сервисы живы. 2. При необходимости: push доменов (`/domains` или кнопка «Домены»). 3. Заново настроить Proxy/xRay в Hydra Route.