Установка программы 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 (установка в один клик)
- Подключите компьютер к роутеру кабелем (лучше) или по его Wi-Fi.
- В Windows-клиенте DawnVPN откройте установщик для роутера. Он ищет роутер по адресу шлюза или по обычным адресам:
192.168.8.1,192.168.1.1и192.168.2.1(AC2100). - Он входит по SSH как
rootи читает/tmp/sysinfo/board_name,uname -mи версию OpenWrt. По ним он выбирает нужный пакет: TR3000 на 24.10, TR3000 на 25.12 или AC2100. - Он загружает файлы и сверяет каждый SHA256 с
SHA256SUMS.json. - Он запускает установочный скрипт и ждёт строку
INSTALL_TR3000_DONE(илиINSTALL_AC2100_DONE). - Он проверяет
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. Что нужно
- Cudy TR3000 с OpenWrt 24.10.x или 25.12.x либо Redmi AC2100 с OpenWrt 23.05.5.
- LAN-адрес роутера. Обычно это
192.168.8.1или192.168.1.1у TR3000 и192.168.2.1у AC2100. - Доступ по SSH под
root. На свежей OpenWrt сначала задайте пароль root командойpasswd. - Компьютер с
ssh,scpиtar. В Windows 10/11 все три команды есть по умолчанию. - Подключение к интернету: поддерживается только WAN по DHCP; PPPoE не поддерживается. Подключите роутер за модемом или вышестоящим роутером, который раздаёт адреса по DHCP. После установки LuCI выключена; всё управление идёт через нашу страницу управления на порту 80.
- Проверка роутера:
sh ssh [email protected] 'uname -m; uname -r; cat /tmp/sysinfo/board_name; . /etc/openwrt_release; echo $DISTRIB_RELEASE'Должно бытьaarch64, имя платы сtr3000и24.10.xили25.12.x. На 25.12 модули ядра из пакета подходят только к ядру6.12.112. С любым другим ядром 25.12 роутеру во время установки нужен доступ в интернет.
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. Адрес и порт страницы управления
- Страницу управления отдаёт сама программа:
http://<LAN-адрес роутера>/, порт 80. Адрес, на котором она слушает, хранится в/opt/quicvpn/etc/web_listen(по умолчанию0.0.0.0:80). Если этот файл пустой или повреждён, программа возвращается к0.0.0.0:80. - Установщик останавливает и отключает
uhttpd, поэтому после установки LuCI (стандартная страница управления OpenWrt) выключена и ни на каком порту не сохраняется. Всё управление идёт через нашу страницу управления на порту 80. Старые ссылки LuCI (/cgi-bin/luci) открывают нашу страницу управления. - WAN: поддерживается только WAN по DHCP, PPPoE не поддерживается. Подключите порт WAN роутера к модему или вышестоящему роутеру, который раздаёт адреса по DHCP.
- LAN-адрес может измениться. Если подсеть LAN роутера пересекается с вышестоящей сетью (например, обе
192.168.1.x), программа переносит LAN в свободную подсеть192.168.X.1/24и обновляет DHCP. Если страница перестала открываться, переподключитесь и откройте адрес шлюза, который получил компьютер.
C2. Первый вход
- При первом открытии страница управления попросит задать пароль администратора. Придумайте новый пароль; не используйте пароль от Wi-Fi.
- Сессия администратора завершается после 5 минут без действий.
- Войдите в аккаунт DawnVPN (раздел аккаунта на странице управления) и выберите сервер или оставьте автоматический выбор.
- Выберите режим маршрутизации:
- Раздельный режим для Китая (умный): трафик к китайским адресам идёт напрямую, всё остальное — через VPN.
- Глобальный VPN: весь трафик идёт через VPN.
Смена режима срабатывает сразу.
5. Можно также привязать роутер к аккаунту на router.tinystone.us, отсканировав QR-код.
6. Можно также настроить правила доступа: только интернет, игры, без соцсетей и видео, режим учёбы. Режиму учёбы нужен kmod-nft-queue.
C3. Wi-Fi
- Программа сама управляет Wi-Fi (
QUICVPN_WIFI_OWN=1). Она выключает стандартные точки доступа OpenWrt (wireless.default_radio0/1.disabled=1) и запускает свои. Имя и пароль Wi-Fi меняйте на экране Wi-Fi страницы управления, а не в/etc/config/wireless. - На том же экране роутер можно подключить к другой сети Wi-Fi как к источнику интернета. Когда проводной WAN работает, всегда используется сначала он.
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 (в той же папке). Пока ничего не загружено; загрузка требует одобрения пользователя.