POST /api/routers/{name}/wireguard/uninstall:
- killall autossh
- rm init.d S50hydravpn, S99hydra_tun
- rm hydra_tun, hydra_tk, wg0.conf, wg0.key
- ip link delete nwg50-70
Confirm-диалог с описанием что будет удалено.
Добавлена кнопка «⬇ Скачать .conf» рядом с «Копировать».
Имя файла: wg0-server.conf для VPS, hydravpn-{name}.conf для роутера.
Hint роутера обновлён: «Загрузить из файла» вместо «Вставить из буфера».
- Новая вкладка «🔒 WireGuard VPN» в панели
- Авто-установка WireGuard сервера на VPS (apt + systemd wg-quick@wg0)
- Генерация ключевых пар (сервер + клиент на каждый роутер)
- Выдача IP из подсети 10.8.0.0/24
- Деплой на роутер по SSH: opkg install wireguard-tools + wg-quick + init.d
- Попытка нативной интеграции через Keenetic CLI (ndmc) — роутер появится
в «Приоритетах подключений»; fallback на wg-quick если ndmc недоступен
- Просмотр и копирование конфигов (wg0.conf для VPS и для каждого роутера)
- Добавление/удаление пиров с авто-обновлением wg0.conf на VPS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace setsid/nohup with start-stop-daemon -S -b as primary daemon
method (setsid fails silently when script runs inside curl|sh pipe)
- Same fix in init.d S99hydra_tun start/restart cases
- Add "✓ Готово" button to tunnel modal to close it after setup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>