- Убрать kmod-wireguard из opkg (не существует, ядро Keenetic уже имеет WireGuard)
- ndmc теперь основной путь (нативная интеграция в Keenetic UI), а не fallback
- Fallback: raw wg set + ip link/addr (без wg-quick, которого нет в Entware)
- init.d S50wg0 использует wg + ip вместо wg-quick
- Приватный ключ пишется в отдельный файл wg0.key для wg set private-key
- Убрать set -e — чтобы fallback-пути не прерывали скрипт
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Новая вкладка «🔒 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>