discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
ArtixSx/RAZVILKA · source
Snapshot 0 · 2026-11-04T12:47:28Z · Go · MIT
Content fingerprint
9c170cb86d28b74a655ceb329b5703edd49bb2ab352008fd3a9b530acee7e2aaGitHub description at capture
Локальная панель управления обходами и маршрутами для Keenetic/Netcraze с Entware
README at capture
<p align="center">
<img src="docs/assets/razvilka-banner.png" alt="RAZVILKA — управление подключениями на роутере" width="960">
</p>
<p align="center">
<a href="https://github.com/ArtixSx/RAZVILKA/releases"><img alt="Сборки в Releases" src="https://img.shields.io/badge/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B8-Releases-1fb6d9"></a>
<img alt="Keenetic · Netcraze · Entware" src="https://img.shields.io/badge/Keenetic%20%C2%B7%20Netcraze-Entware-0b1424">
<img alt="ARM64 · MIPS · MIPSel" src="https://img.shields.io/badge/ARM64%20%C2%B7%20MIPS%20%C2%B7%20MIPSel-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8-e09a2b">
<a href="LICENSE"><img alt="Лицензия MIT" src="https://img.shields.io/badge/%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F-MIT-8aa0c2"></a>
<a href="https://t.me/RAZVILKA_UI"><img alt="Telegram" src="https://img.shields.io/badge/Telegram-RAZVILKA__UI-26a5e4?logo=telegram&logoColor=white"></a>
<a href="https://dalink.to/artixsx"><img alt="Поддержать проект" src="https://img.shields.io/badge/%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82-69d6b1"></a>
</p>
<h3 align="center">Нужные сервисы через подходящее подключение — прямо на роутере</h3>
<p align="center">
<a href="#установка">Установка</a> ·
<a href="#обновление">Обновление</a> ·
<a href="#удаление">Удаление</a> ·
<a href="#рекомендации">Рекомендации</a> ·
<a href="docs/INSTALL_RU.md">Подробная инструкция</a> ·
<a href="README_EN.md">English</a>
</p>
RAZVILKA — локальная веб-панель для роутеров **Keenetic и Netcraze с Entware**.
Вы выбираете сервисы и устройства, а панель подбирает и проверяет способ
доступа: NFQWS2, VLESS, WireGuard/AmneziaWG или WARP. Работает на самом роутере
и по расписанию, даже когда браузер закрыт.
Готовые сборки и изменения версий — в [Releases](https://github.com/ArtixSx/RAZVILKA/releases).
## Как это работает
<p align="center">
<img src="docs/assets/razvilka-how-it-works.svg" alt="Трафик к включённым сервисам идёт через обход, всё остальное — обычным маршрутом роутера" width="960">
</p>
- **Обход только для того, что вы включили.** Сайты и приложения не из списка идут обычным маршрутом роутера;
пустой список также не меняет маршрут,
включая ваш собственный VPN. Исключения устройств для NFQWS2 задаются
штатной политикой Keenetic; собственные исключения устройств RAZVILKA
пока не поддерживаются.
- **Исключения сайтов учитывают способ обхода.** NFQWS2 не обрабатывает
исключённые домены и их поддомены. Для VPN и прокси исключайте IP-адрес,
сеть IP или сервис: доменное исключение такие маршруты не различают.
Пересечение исключённого адреса или сервиса с маршрутом VPN или прокси
останавливает применение с объяснением.
- **Чужие сайты не перехватываются.** Сервисы, заданные доменами, обходятся
только способом, который проверяет имя сайта в каждом соединении (NFQWS2).
Перенаправление по IP через VPN или прокси для них отключено: на одном IP
могут работать посторонние сайты.
## Что умеет
| | |
| --- | --- |
| 🧭 **Автопилот** | Проверяет выбранные сервисы, подбирает рабочий путь и резерв; позволяет поставить свои разрешённые источники первыми в очереди поиска |
| 🧩 **Сервисы** | Готовый каталог и свои сервисы; группы; проверка доступа с роутера |
| 🔌 **Подключения** | VLESS/Xray, WireGuard, AmneziaWG, WARP; подписки, фильтр по стране из метки источника и отдельная проверка доступа |
| 🛡️ **Обходы DPI** | Управляемые HTTPS-профили NFQWS2 для доменных списков, проверка совместимости и откат при отказе |
| 📱 **Устройства** | Экспериментальный выбор устройств на точном профиле NC-1812; для NFQWS2 — штатная политика Keenetic |
| 🧾 **Журнал и диагностика** | Понятные причины ошибок, отчёт для поддержки, резервные копии |
| 🔄 **Обновления** | Проверка доступных выпусков; тестовая версия требует чистой установки |
Состояния «настроено», «маршрут применён» и «сервис доступен» в панели
показываются отдельно: запущенный процесс сам по себе не доказывает, что обход работает.
В настройке «Проверять сначала» можно упорядочить разрешённые источники
подключений. Они проверяются перед стандартным подбором, когда рабочего пути
ещё нет или он перестал работать. Исправное подключение сохраняется;
пустой список оставляет стандартный порядок.
Полная аппаратная приёмка WireGuard, WARP и AmneziaWG ещё не завершена;
перечень компонентов не означает подтверждённую поддержку всех режимов.
Обновление NFQWS2 с управляемым профилем пока блокируется: сохранение его
настроек при замене пакета ещё проверяется. Ночное расписание не отменяет
этот отказ.
## Рекомендации
- **Роутер.** Keenetic или Netcraze с USB-накопителем и [Entware](docs/INSTALL_RU.md#подготовка-entware).
Лучше всего проверен **Netcraze Ultra (NC-1812), ARM64**. Сборки MIPS и MIPSel
выпускаются, но управляемые маршруты на MIPS/MIPSel пока недоступны;
сборка не подтверждает поддержку запуска.
- **Накопитель.** Не меньше 1 ГБ свободного места; лучше отдельная флешка или SSD.
- **DNS роутера должен работать** до установки: каталоги, подписки и проверки
используют его. Ошибка DNS выглядит как недоступность сервиса.
- **USQUE и локальные адреса.** Установка и обновление пакета остановятся,
если диапазон `172.16.1.100–172.16.1.200` пересекается с локальной сетью или
адресом интерфейса, в том числе уже работающего USQUE. Проверьте настройки
пакета перед повтором; подробности — в [ограничениях](docs/CURRENT_STATUS_RU.md#компоненты).
- **Один обход DPI за раз.** Не запускайте z2k или второй nfqws2 параллельно
с RAZVILKA: два обработчика одной очереди портят соединения.
- **Начните с малого.** Один сервис и одно подключение; проверьте с нужного
устройства, затем добавляйте остальные.
- **Telegram — через VPN или прокси.** Добавьте из каталога «Telegram · через VPN
или прокси» (только сети Telegram) и выберите для него узел VLESS. Сервисы,
заданные доменами (YouTube, Discord и другие), идут через NFQWS2.
- **Банки и Госуслуги — в «Сайты без обхода».** Если сайт открывается и без
обхода, а с ним работает хуже, добавьте его в «Исключения → Сайты без обхода»
и нажмите «Применить».
- **Безопасность.** Не открывайте порт панели `8787` в Интернет. Ключ
восстановления храните отдельно от роутера. Не запускайте общий `opkg upgrade`
ради панели.
## Установка
<p align="center">
<img src="docs/assets/razvilka-install-steps.svg" alt="Три шага: Entware, одна команда, панель на порту 8787" width="960">
</p>
**1. Подготовьте Entware.** Нужен `/opt`, SSH к оболочке Entware от `root`
и средства HTTPS-загрузки:
```sh
opkg update && opkg install curl wget-ssl ca-certificates ca-bundle
```
| Архитектура роутера | Пакет Entware | Сборка RAZVILKA |
| --- | --- | --- |
| AArch64 / ARM64 | [aarch64-k3.10](https://bin.entware.net/aarch64-k3.10/installer/aarch64-installer.tar.gz) | `arm64` |
| MIPS | [mipssf-k3.4](https://bin.entware.net/mipssf-k3.4/installer/mips-installer.tar.gz) | `mips`, soft-float |
| MIPSel | [mipselsf-k3.4](https://bin.entware.net/mipselsf-k3.4/installer/mipsel-installer.tar.gz) | `mipsle`, soft-float |
**2. На роутере без прежней установки RAZVILKA установите Test:**
```sh
mkdir -p /opt/tmp &&
curl -fsSL --retry 2 -o /opt/tmp/razvilka-setup.sh \
https://raw.githubusercontent.com/ArtixSx/RAZVILKA/v0.20.0-rc.73/scripts/bootstrap.sh &&
RAZVILKA_VERSION=v0.20.0-rc.73 sh /opt/tmp/razvilka-setup.sh
```
Явный `RAZVILKA_VERSION` обязателен: он закрепляет архив на том же тестовом
выпуске, что и скрипт. Установщик определит архитектуру, сверит SHA-256 и запустит
службу. Компоненты обхода ставятся потом из панели. Особенности тестовой сборки —
в [примечаниях к выпуску](https://github.com/ArtixSx/RAZVILKA/releases/tag/v0.20.0-rc.73).
**3. Откройте панель** — **http://192.168.1.1:8787** (или адрес своего роутера
с портом `8787`; точная ссылка будет в выводе установщика). Войдите по выданному
ключу, задайте пароль, сохраните ключ восстановления и пройдите мастер:
устройства → сервисы → способы обхода.
Где что лежит: настройки — `/opt/etc/razvilka`, рабочие данные —
`/opt/razvilka/{state,run,cache,log}`, снимки обновлений —
`/opt/razvilka/state/update-backups`.
## Обновление
**Обновление на этот Test с 0.19.x или другой предварительной сборки не
поддерживается.** Сохраните нужные настройки, выполните подходящее для своей
версии удаление и установите Test начисто. Старые журналы управления не импортируются.
Обычный стабильный канал пропускает предварительные выпуски; явно выбранный
тестовый канал может предлагать их. Это не подтверждает возможность установки поверх RC.
Установщик поверх работающей 0.20+ откажет и ничего не изменит — так обновление
не обходит свой журнал и откат. Проверить версию:
```sh
/opt/bin/razvilka -version
/opt/etc/init.d/S99razvilka status
```
### Переход с 0.19.3 и более ранних версий
0.20.0 ставится **начисто**, без переноса старых настроек. Установщик откажет,
если найдёт старую установку. Порядок перехода: удалить старую версию её
собственным деинсталлятором, затем установить 0.20.0 —
[подробно в инструкции](docs/INSTALL_RU.md#переход-с-0193-и-более-ранних-версий).
## Удаление
Команда ниже относится к установленной `0.20.0-rc.73`. Для другой версии
используйте bootstrap и явный `RAZVILKA_VERSION` из её выпуска.
```sh
mkdir -p /opt/tmp &&
curl -fsSL --retry 2 -o /opt/tmp/razvilka-setup.sh \
https://raw.githubusercontent.com/ArtixSx/RAZVILKA/v0.20.0-rc.73/scripts/bootstrap.sh &&
RAZVILKA_VERSION=v0.20.0-rc.73 sh /opt/tmp/razvilka-setup.sh --uninstall --purge
```
Сначала сохраните нужные настройки и подключения. Команда удаляет панель,
её автозапуск и собственные маршруты, затем **переносит** (не стирает) все данные в
`/opt/razvilka-removed-<дата>` с доступом только для `root`. Entware,
сторонние программы и установленные пакеты обходов не затрагиваются.
Для чистой установки повторите команду из раздела «Установка» и настройте панель
заново. Архив сохраняет исходные данные, но не является пакетом автоматического
импорта: не копируйте журналы управления из него в новую установку.
Без `--purge` удаление управляемой 0.20 откажет **до остановки панели**:
переустановка поверх сохранённых данных пока не поддерживается. Панель и данные
останутся на месте.
## Поддерживаемые роутеры
| | Состояние |
| --- | --- |
| Netcraze Ultra (NC-1812), ARM64, прошивка 5.01.C.6.0-1 | основной тестовый стенд |
| Другие Keenetic / Netcraze ARM64 с Entware | запуск панели не подтверждает поддержку обхода; управляемые маршруты требуют точного поддержанного профиля, см. матрицу поддержки |
| MIPS / MIPSel | сборки есть; управляемые маршруты недоступны |
Подробнее — [матрица поддержки](docs/RUNTIME_SUPPORT_RU.md).
## Безопасность и приватность
Панель работает только в вашей сети и защищена паролем. Обновления скачиваются
по HTTPS с проверкой SHA-256 и архитектуры; к выпускам прилагаются аттестации
сборки GitHub. Ключи, пароли и ссылки узлов не попадают в журналы и отчёты.
Подробнее — [SECURITY](SECURITY.md).
## Документация
- [Установка, обновление, удаление и откат](docs/INSTALL_RU.md)
- [Совместимость и ограничения](docs/CURRENT_STATUS_RU.md)
- [Примечания к тестовому выпуску](https://github.com/ArtixSx/RAZVILKA/releases/tag/v0.20.0-rc.73) · [История изменений](CHANGELOG.md)
- [План развития](docs/ROADMAP.md) · [Идея двух DPI-исполнителей](docs/DUAL_DPI_ARCHITECTURE_RU.md)
- [Что означают файлы и папки](docs/FILES_RU.md) · [Сторонние компоненты](THIRD_PARTY.md)
- [Как помочь проекту](CONTRIBUTING.md)
## Поддержка проекта
Новости, вопросы и предложения — в Telegram **[@RAZVILKA_UI](https://t.me/RAZVILKA_UI)**.
Если RAZVILKA вам помогает — **[поддержать проект](https://dalink.to/artixsx)**.
<p align="center"><sub>MIT · RAZVILKA — «развилка»: каждому сервису — свой путь.</sub></p>