brainstate

ArtixSx/RAZVILKA · source

Snapshot 0 · 2026-11-04T12:47:28Z · Go · MIT

Content fingerprint9c170cb86d28b74a655ceb329b5703edd49bb2ab352008fd3a9b530acee7e2aa

GitHub 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>