Установка программы DawnVPN на роутер с OpenWrt

Есть два способа установки: - A. Автоматически. Windows-клиент DawnVPN сам устанавливает программу на роутер с OpenWrt и проверяет её. - B. Вручную. Вы скачиваете пакет для своего роутера и версии OpenWrt, проверяете его, копируете на роутер через scp и запускаете установочный скрипт.

Поддерживаемые роутеры и пакеты

Роутер CPU OpenWrt Менеджер пакетов Пакет
Cudy TR3000 (256 МБ, board cudy,tr3000-256mb-v1) aarch64 (MT7981, mediatek/filogic) 24.10.5 opkg (.ipk) quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz
Cudy TR3000 aarch64 25.12.6 (ядро 6.12.112) apk (.apk) quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz
Xiaomi Redmi AC2100 mipsel 24kc soft-float (ramips/mt7621) 23.05.5 opkg quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz

Не ставьте пакет от одного роутера на другой: если uname -m не совпадает, установочный скрипт остановится.


A. Автоматическая установка (Windows-клиент)

Экраны Windows-клиента ещё не окончательные, поэтому шаги описаны в общих чертах.

A1. На роутере уже стоит OpenWrt (установка в один клик)

  1. Подключите компьютер к роутеру кабелем (лучше) или по его Wi-Fi.
  2. В Windows-клиенте DawnVPN откройте установщик для роутера. Он ищет роутер по адресу шлюза или по обычным адресам: 192.168.8.1, 192.168.1.1 и 192.168.2.1 (AC2100).
  3. Он входит по SSH как root и читает /tmp/sysinfo/board_name, uname -m и версию OpenWrt. По ним он выбирает нужный пакет: TR3000 на 24.10, TR3000 на 25.12 или AC2100.
  4. Он загружает файлы и сверяет каждый SHA256 с SHA256SUMS.json.
  5. Он запускает установочный скрипт и ждёт строку INSTALL_TR3000_DONE (или INSTALL_AC2100_DONE).
  6. Он проверяет http://127.0.0.1/api/discover на роутере и открывает страницу управления роутером.

A2. На роутере ещё нет OpenWrt (прошивка)

Способы прошивки у разных устройств разные. Чтобы установить OpenWrt на роутер, следуйте инструкции к своему устройству или официальной документации OpenWrt (https://openwrt.org/docs/). Затем установите нашу программу в один клик (A1) или вручную (B).

Дополнительные файлы для Cudy TR3000 (Cudy 2.5.21 → OpenWrt 24.10.5). Рядом с каждым лежит файл .sha256; полный список: https://client.tinystone.us/downloads/manifest.json

Файл URL SHA256
recovery.bin https://www.tinystone.us/downloads/router/tr3000/cudy-2.5.21_openwrt-24.10.5/recovery.bin 8762df3d172107ea0fd4f5efd348df91f9581ab73d970062344a31f546d34637
sysupgrade-intermediate.bin https://www.tinystone.us/downloads/router/tr3000/cudy-2.5.21_openwrt-24.10.5/sysupgrade-intermediate.bin 702d8a0019f50d81565bf2b7d0eecd1ca4e1720937b1f8340bd4be77c79a2552
openwrt-sysupgrade.bin https://www.tinystone.us/downloads/router/tr3000/cudy-2.5.21_openwrt-24.10.5/openwrt-sysupgrade.bin 0cffd428f472f3800c1aa1a1a08910d0630ae04c36247c7e6c98a5fc22cdf9d9

B. Ручная установка на уже установленную OpenWrt

B1. Что нужно

B2. Скачивание и проверка

Предложение (на сайте пока нет): см. «Записи для страницы загрузок» в конце. Пока файлы не загружены, ссылки ниже не работают.

https://www.tinystone.us/download/router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz
https://www.tinystone.us/download/router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz
https://www.tinystone.us/download/router/ac2100/pack/20261028-ffd8045b/quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz

У каждого файла есть файл .sha256 с тем же именем. Ожидаемые значения:

Пакет Байт SHA256
tr3000 24.10.5 11,790,613 abd881f3b529c924fe0a504e2f78d5af9d21860d6586fee3f636a27da7ba74ae
tr3000 25.12.6 11,643,601 7821c6ddd36e54d867eae7a5901f6e4df304e3949c2af109652dba3432325a7f
ac2100 23.05.5 7,479,187 f65bf0ed245c25282b2ca29f2a84b2301e192562abd7530e30b43aabc65e4fb3

Проверка скачанного файла: - Windows (PowerShell): Get-FileHash .\quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz -Algorithm SHA256 - Windows (cmd): certutil -hashfile quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz SHA256 - macOS / Linux: shasum -a 256 -c quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz.sha256

Распакуйте командой tar xzf <файл>.tar.gz. Внутри есть MANIFEST.json и SHA256SUMS.json с размером и SHA256 каждого файла.

B3. Копирование файлов на роутер

SSH-сервер OpenWrt (dropbear) не поддерживает SFTP, поэтому используйте scp -O:

# пример: TR3000 на 25.12.6
scp -O -r quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b [email protected]:/tmp/qvpack
ssh [email protected]

Затем на роутере разложите файлы туда, где их ждёт MANIFEST.json.

TR3000, обе версии:

cd /tmp/qvpack
cp bin/quicvpn-linux-gw bin/quicvpn-sni-filter www/index.html /tmp/
cp hotplug/98-quicvpn-uplink hotplug/99-quicvpn-usb-wan /tmp/
cp install.sh /tmp/install_quicvpn.sh

Дополнительно для TR3000 на 24.10.5 (opkg):

cp kmods/kmod-tun.ipk kmods/kmod-tcp-bbr.ipk /tmp/
mkdir -p /tmp/quicvpn-usb-ipks /tmp/dnsmasq-ipks
cp kmods/*.ipk /tmp/quicvpn-usb-ipks/
cp deps/dnsmasq/*.ipk /tmp/dnsmasq-ipks/

Дополнительно для TR3000 на 25.12.6 (apk):

mkdir -p /tmp/quicvpn-apk-kmods
cp kmods-25.12/*.apk /tmp/quicvpn-apk-kmods/

AC2100 на 23.05.5:

cd /tmp/qvpack
cp bin/quicvpn-linux-gw bin/quicvpn-sni-filter www/index.html hotplug/98-quicvpn-uplink /tmp/
cp kmods/kmod-tun.ipk kmods/kmod-tcp-bbr.ipk /tmp/
mkdir -p /tmp/sni-iptables /tmp/dnsmasq-ipks
cp deps/sni-iptables/*.ipk /tmp/sni-iptables/
cp deps/dnsmasq/*.ipk /tmp/dnsmasq-ipks/
cp install.sh /tmp/install_quicvpn.sh

B4. Запуск установщика

chmod +x /tmp/install_quicvpn.sh /tmp/quicvpn-linux-gw /tmp/quicvpn-sni-filter
sh /tmp/install_quicvpn.sh

Последняя строка должна быть INSTALL_TR3000_DONE (или INSTALL_AC2100_DONE).

На TR3000 скрипт сначала определяет, какой менеджер пакетов на роутере: - 24.10 (opkg): ставит .ipk из пакета. - 25.12 (apk): сначала ставит модули ядра .apk из пакета, если они подходят к uname -r. Всё, чего не хватает, ставится из официального онлайн-репозитория OpenWrt (apk update и apk add kmod-tun kmod-tcp-bbr kmod-nft-queue). dnsmasq ставится только если его нет; dnsmasq-full не используется.

В обоих случаях дальше скрипт ставит программу в /opt/quicvpn, создаёт и запускает службы quicvpn-gw и quicvpn-sni и отключает uhttpd.

B5. Проверка установки

wget -qO- http://127.0.0.1/api/discover

В ответе должно быть "ok":true, в board — tr3000 или ac2100, а в caps — access_schedule и lan_access. После этого откройте в браузере http://<LAN-адрес роутера>/.


C. Настройка после установки

C1. Адрес и порт страницы управления

C2. Первый вход

  1. При первом открытии страница управления попросит задать пароль администратора. Придумайте новый пароль; не используйте пароль от Wi-Fi.
  2. Сессия администратора завершается после 5 минут без действий.
  3. Войдите в аккаунт DawnVPN (раздел аккаунта на странице управления) и выберите сервер или оставьте автоматический выбор.
  4. Выберите режим маршрутизации:
  5. Раздельный режим для Китая (умный): трафик к китайским адресам идёт напрямую, всё остальное — через VPN.
  6. Глобальный VPN: весь трафик идёт через VPN.

Смена режима срабатывает сразу. 5. Можно также привязать роутер к аккаунту на router.tinystone.us, отсканировав QR-код. 6. Можно также настроить правила доступа: только интернет, игры, без соцсетей и видео, режим учёбы. Режиму учёбы нужен kmod-nft-queue.

C3. Wi-Fi

C4. Что делается автоматически, а что вручную

Область Автоматически (install.sh или программа) Вручную
Модули ядра (tun, tcp_bbr, nft_queue) Ставит install.sh: офлайн .ipk на 24.10/23.05; на 25.12 — офлайн .apk для ядра 6.12.112, иначе из онлайн-репозитория 25.12 с другим ядром: роутеру нужен доступ в интернет
TUN-интерфейс quicvpn0 Создаёт программа —
Зона файрвола Программа добавляет зону quicvpn (в ней quicvpn0, маскарадинг и коррекция MSS), пересылку lan → quicvpn и добавляет wwan в зону WAN —
DNS Программа настраивает dnsmasq: noresolv=1, localuse=1, filter_aaaa=1, cachesize=1000, confdir=/tmp/dnsmasq.d, и добавляет правила перенаправления qv_dns_udp/qv_dns_tcp, которые отправляют весь DNS из LAN на роутер —
Маршрутизация и раздельный режим Программа создаёт свои таблицы nft inet quicvpn_* (раздельный режим, kill switch, UDP, режим учёбы и т. д.) и правила маршрутизации —
WAN Если network.wan нет, программа создаёт его (DHCP на подходящем порту). Проводной WAN всегда важнее подключения через Wi-Fi Поддерживается только WAN по DHCP; PPPoE не поддерживается. Подключите роутер за модемом или вышестоящим роутером, который раздаёт адреса по DHCP
LAN-адрес Переносится автоматически при конфликте подсетей (C1) —
IPv6 Отключён намеренно: ipv6=0 на lan/wan/wwan, wan6 отключён, в LAN нет RA и DHCPv6 —
Wi-Fi Стандартные точки доступа выключены; программа запускает свои Имя и пароль — на странице управления
Веб-сервер uhttpd остановлен и отключён; страница управления на порту 80 —
Службы quicvpn-gw (части web, wifi и route-guard) и quicvpn-sni, запускаются при загрузке и перезапускаются при сбое —
Пароль администратора и аккаунт DawnVPN — Задаются на странице управления (C2)

Программа и установочный скрипт одни и те же для всех моделей и версий. Отличия по версиям: - TR3000 24.10.5: офлайн-файлы .ipk (ядро 6.6.119). - TR3000 25.12.6: apk, офлайн-файлы .apk (ядро 6.12.112). - AC2100 23.05.5: офлайн-файлы .ipk (ядро 5.15.167) и офлайн-пакеты iptables/xt_string для SNI-фильтра.


D. Неполадки

Что вы видите Что делать
ERROR: arch=… not aarch64 Не тот пакет: пакет TR3000 поставлен на AC2100 или наоборот.
WARN: offline apk kmods are not for kernel … У вас 25.12 с ядром, отличным от 6.12.112. Убедитесь, что роутер видит интернет, и запустите установщик ещё раз.
WARN: kmod-nft-queue missing Режим учёбы работать не будет. Подключите роутер к интернету и выполните apk add kmod-nft-queue (25.12) или opkg update && opkg install kmod-nft-queue (24.10).
tun missing VPN не запустится. Поставьте kmod-tun тем же способом и запустите установщик ещё раз.
Страница управления не открывается Выполните ps w \| grep quicvpn и logread \| grep quicvpn. Убедитесь, что порт 80 не занят другой программой (uhttpd, nginx). Установочный скрипт останавливает uhttpd, а программа ещё пытается остановить uhttpd, nginx и lighttpd.
SSH не отвечает Проверьте, что вы в сети роутера и что на компьютере нет неправильного статического маршрута (не направляйте шлюз на точку доступа телефона).
scp: … sftp-server not found Используйте scp -O.
После установки пропал доступ Возможно, изменился LAN-адрес (C1). Посмотрите адрес шлюза, который получил компьютер.

Удаление программы

Чтобы удалить программу, перепрошейте роутер на стоковую прошивку или официальную OpenWrt.


Записи для страницы загрузок (предложение, загрузка требует одобрения)

Предлагаемые пути, рядом с уже выложенными образами прошивки:

router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-24.10.5-20261028-ffd8045b.tar.gz (+ .sha256)
router/tr3000/pack/20261028-ffd8045b/quicvpn-tr3000-openwrt-25.12.6-20261028-ffd8045b.tar.gz (+ .sha256)
router/ac2100/pack/20261028-ffd8045b/quicvpn-ac2100-openwrt-23.05.5-20261028-ffd8045b.tar.gz (+ .sha256)

Предлагаемые записи для products[] в manifest.json лежат в manifest-products.proposed.json (в той же папке). Пока ничего не загружено; загрузка требует одобрения пользователя.