TrustTunnel - это современный открытый VPN-протокол, изначально разработанный AdGuard VPN.
Клиент доступен для архитектур mips, mipsel, aarch64.
Что делает скрипт
Я подготовил набор shell-скриптов для автоматической установки и настройки TrustTunnel-клиента на роутерах Keenetic с установленным Entware: https://github.com/artemevsevev/TrustTunnel-Keenetic
Скрипт берёт на себя:
Установку клиента TrustTunnel нужной архитектуры (mips, mipsel, aarch64)
Создание интерфейса в Keenetic (Proxy или OpkgTun) через ndmc
Установку init-скрипта автозапуска (S99trusttunnel)
Установку WAN-хука для переподключения при смене WAN
Watchdog с exponential backoff (до 10 попыток перезапуска)
Health check — мониторинг реальной связности через туннель с автоматическим перезапуском при потере соединения
Ротацию логов
Два режима работы
SOCKS5 - проще в настройке, работает на всех прошивках. Клиент поднимает SOCKS5-прокси на 127.0.0.1:1080, скрипт создаёт интерфейс Proxy в Keenetic, после чего можно направлять трафик нужных устройств/сайтов через это соединение.
TUN - полноценный туннель. Работает только на прошивке версии 5+. Клиент создаёт интерфейс tun0, init-скрипт переименовывает его в opkgtunN, после чего Keenetic видит его как стандартный интерфейс OpkgTun и позволяет настраивать маршрутизацию и файрвол через веб-интерфейс.
Предварительные требования
Установленный Entware https://help.keenetic.com/hc/ru/articles/360021214160 на роутере
Пакет curl (opkg update && opkg install curl)
Для SOCKS5: установленный компонент «Клиент прокси» в KeeneticOS
Настроенный TrustTunnel-сервер на VPS (https://github.com/TrustTunnel/TrustTunnel)
Установка
На роутере выполняется одна команда:
curl -fsSL https://raw.githubusercontent.com/artemevsevev/TrustTunnel-Keenetic/main/install.sh | sh
Интерактивный мастер предложит:
Выбрать режим работы (SOCKS5 или TUN)
Автоматически определит свободные индексы интерфейсов
Создаст интерфейс в Keenetic
Установит клиент TrustTunnel
После установки нужно положить конфигурацию клиента (экспортированную с сервера) в /opt/trusttunnel_client/trusttunnel_client.toml и запустить сервис:
/opt/etc/init.d/S99trusttunnel start
Управление сервисом
/opt/etc/init.d/S99trusttunnel start # Запуск
/opt/etc/init.d/S99trusttunnel stop # Остановка
/opt/etc/init.d/S99trusttunnel restart # Перезапуск
/opt/etc/init.d/S99trusttunnel status # Статус
/opt/etc/init.d/S99trusttunnel reload # Мягкий перезапуск (watchdog перезапустит клиент)
Лог:
cat /opt/var/log/trusttunnel.log
Как это работает
При загрузке роутера Entware автоматически запускает S99trusttunnel
Watchdog следит за процессом клиента и перезапускает его при падении
Health check периодически проверяет реальную связность через туннель (настраивается в mode.conf)
WAN-хук автоматически переподключает клиент при смене WAN-соединения
Подробная документация и troubleshooting - в https://github.com/artemevsevev/TrustTunnel-Keenetic.