Публичный релиз

BROray 3.1.0

Локальный клиент Xray и менеджер сетевых политик для совместимых маршрутизаторов Keenetic.

Stable · опубликован 10 сентября 2026
Устанавливаете BROray впервые?

Отдельная инструкция простыми словами проведёт через Entware, Termius или PuTTY, чистую установку, обновление, переустановку и удаление.

Открыть пошаговую инструкцию →

Статус и состав релиза

BROray 3.1.0-r09 OPKG 3.0.0-r14 WebUI-3.1.0-r09c02 Updater v5 aarch64-3.10 Xray 26.9.9

Технический кандидат текущего Stable — 3.1.0-r09c02, release — 3.1.0-r09. Пакет OPKG остаётся 3.0.0-r14 и не участвует в выборе обновления. Stable опубликован из физически проверенных application и updater-platform байтов без их пересборки.

Новый выпуск проверен Проверены выбор версий Xray, матрица шести разрешённых версий и действия WebUI. На конечном 3.1.0-r09c02 выполнена чистая установка: Xray 26.9.9 устанавливается автоматически, промежуточного приложения нет. Обычное обновление BROray сохраняет установленную версию Xray. Подробности и границы испытаний приведены в описании релиза.
6 версийфизическая матрица Xray
13 групппроверок WebUI пройдено
4 из 4сборки побайтно совпали
PASSчистая установка с Xray 26.9.9
Что делает BROray BROray устанавливает и обслуживает Xray на роутере, принимает отдельные подключения и подписки, создаёт штатный прокси-интерфейс Keenetic, управляет маршрутами и DNS-over-TLS через авторизованный WebUI.

Требования к роутеру

КомпонентОбязательное условие
Архитектураaarch64 и Entware aarch64-3.10
Open PackageОдин записываемый накопитель, подключённый как /opt
Компоненты Keeneticproxy, opkg и ndns
Entware shellДоступ root, /opt/bin/ash, BusyBox, curl, jq и ndmc
Место на /optНе менее 64 МиБ; рекомендуется от 100 МиБ
Место в /tmpНе менее 75 МиБ; рекомендуется от 128 МиБ
Временные файлыВозможность создать 4096 файлов в /tmp
СетьРабочие DNS, HTTPS и правильное системное время

Совместимость определяется фактическими возможностями устройства во время предварительной проверки. Основной полный gate выполнен на KN-2710 с KeeneticOS 5.1.4. Владелец проекта также подтвердил успешные установку и обновление на KN-2710, KN-3812, KN-3811, KN-1812, KN-1811 и KN-1012. Релиз не привязан к конкретному роутеру, серийному номеру или SSH-ключу.

Установка и обновление текущего Stable

Рекомендуемый путь: BROray → Проверить обновление → Установить обновление. Поддерживается любая исправная версия от 3.0.0-r1. Более старый release обновляется, равный завершается без изменений, более новый не понижается. Если BROray ещё не установлен, этот же установщик выполняет чистую установку 3.1.0.

Для обычного обновления не запускайте opkg update: установленный BROray уже содержит необходимые зависимости. Для административного запуска достаточно проверить curl, jq, mktemp, sha256sum, awk и sh.

command -v curl
command -v jq
command -v mktemp
command -v sha256sum
command -v awk
command -v sh
BROray ещё не установлен?

Только перед первой установкой:

  1. Откройте терминал Entware на роутере.
  2. Войдите как root.
  3. Один раз выполните команду ниже.

Если BROray уже установлен и вы его обновляете, пропустите этот шаг.

opkg update &&
opkg install ca-bundle ca-certificates curl jq

Для чистой установки или терминального обновления выполните один и тот же проверяемый блок целиком:

(
set -eu
PATH=/opt/broray/bin:/opt/sbin:/opt/bin:/opt/usr/bin:/opt/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
for cmd in curl jq mktemp sha256sum awk sh rm; do command -v "$cmd" >/dev/null; done

T="$(mktemp /tmp/broray-stable-update.XXXXXX)"
trap 'rm -f "$T"' EXIT

curl -q \
  --proto '=https' \
  --proto-redir '=https' \
  --tlsv1.2 \
  --connect-timeout 15 \
  --max-time 600 \
  --retry 3 \
  -fsSL \
  -H 'Cache-Control: no-cache, no-store' \
  -H 'Accept-Encoding: identity' \
  'https://api.brovibe.cloud/releases/stable/broray/3.1.0-r09/INSTALL-ON-ROUTER.sh' \
  -o "$T"

[ "$(sha256sum "$T" | awk 'NR==1{print $1}')" = \
  'ac334c4f3ce16e9119dcc3b84e21bd076ba5fce5252cf0f6aef2df5510edba1a' ]

sh "$T"
)

Если текущий Stable уже установлен, завершение содержит:

UPDATE_DECISION=already-current
INSTALLED_RELEASE=3.1.0-r09
CURRENT_RELEASE=3.1.0-r09
RELEASE_MUTATION=NONE
ENVIRONMENT_RECONCILED=YES
Чистая установка Stable-установщик сам проверяет чистое состояние и сразу разворачивает 3.1.0-r09c02. OPKG 3.0.0-r14 используется только как регистрационный якорь; промежуточное приложение r14c68 не устанавливается и не запускается. Полный проверяемый блок приведён в инструкции по установке.
Переход с BROray 2.x Прямое обновление с 2.x не поддерживается. Сохраните нужные данные, завершите штатное удаление старой ветки и запустите чистую установку текущей 3.1.0 универсальным Stable-установщиком. Не используйте opkg upgrade, opkg --force-reinstall или ручную замену файлов приложения.

Подписанная установка через штатный механизм Keenetic

Для каталога /opt/install/*.tgz опубликован отдельный альтернативный bootstrap broray-webcli-bootstrap-3.0.0-r14c68-b1. После проверки подписи он устанавливает точную базовую версию 3.0.0-r14c68. Затем только для этого варианта выполните обычное обновление через WebUI до текущего Stable 3.1.0-r09. Физическая проверка базового пути на Keenetic aarch64 — PASS.

Что умеет Web CLI Web CLI принимает команды KeeneticOS, но не является Linux shell и не загружает файлы. Архив сначала копируется в /opt/install/ через SFTP или USB, после чего выполняется штатная перезагрузка роутера.

1. Скачайте и проверьте

Архив SHA-256: 50904456e998dc501ee534efca5eccc47b997f9986bf5aef3f959d468ad66dd7
Key ID:         aaac0ea3b4a6334c
SPKI SHA-256:   aaac0ea3b4a6334c8be5626aba4a1a10078526c731ce5392fb41ddb66f033b4a

Проверка должна завершиться строкой SIGNED_BOOTSTRAP=ACCEPTED.

2. Скопируйте и перезагрузите

  1. Скопируйте только принятый .tgz в /opt/install/.
  2. Выполните штатную перезагрузку через WebUI Keenetic или командой KeeneticOS на вкладке Parse.
  3. После загрузки откройте BROray и проверьте Stable-канал, Xray и Keenetic.

Bootstrap повторно проверяет встроенную подпись до сети, затем точные SHA-256 Stable-объектов. Успешная повторная загрузка идемпотентна. При отказе ручной повтор разрешён только из Entware shell после устранения причины.

Полная инструкция на GitHub

Вход в WebUI

Прямой адрес в локальной сети

http://<LAN-IP-роутера>:8080/

Адрес через KeenDNS

Если на роутере настроен KeenDNS, BROray создаёт отдельный HTTP Proxy с поддоменом broray:

http://broray.<KeenDNS-домен-роутера>/

HTTP автоматически перенаправляется на https://broray.<KeenDNS-домен-роутера>/. Например, домен роутера myrouter.keenetic.link даёт адрес https://broray.myrouter.keenetic.link/. Порт 8080 в KeenDNS-адресе не указывается. Доступ из Интернета зависит от режима KeenDNS и настроек роутера.

Для входа используется учётная запись Keenetic. Не публикуйте пароль и данные сессии в обращениях поддержки.

Начало работы

  1. Добавьте сервер или подписку. BROray проверит формат до сохранения.
  2. Проверьте и подключите сервер. Конфигурация Xray тестируется до перезапуска.
  3. Проверьте страницу Keenetic. Управляемый ProxyN должен быть подключён и соответствовать активному серверу.
  4. Настройте DNS-over-TLS. Сначала выполните свежую TLS/SNI-проверку, затем примените выбранные записи.
  5. Установите маршруты. Готовые и пользовательские наборы применяются транзакционно с проверкой владельцев.

Возможности и страницы WebUI

Вход

Авторизация учётной записью Keenetic, создание локальной сессии и безопасный выход.

Главная

Быстрый сводный статус серверов, подписок, маршрутов, Keenetic, Xray и BROray без запуска тяжёлых проверок.

Серверы

Импорт VLESS, VMess, Trojan и Hysteria2, ручная и автоматическая проверка качества, подключение, отключение, удаление и автоматический выбор резервного сервера.

Подписки

Добавление, обновление и удаление подписок, просмотр серверов и безопасное обновление списка без потери активного подключения.

DNS-over-TLS

Выбор до восьми серверов, TLS/SNI-проверка, применение в Keenetic и удаление только подтверждённых записей BROray.

Маршруты — Обзор

Сводка готовых и пользовательских наборов, состояние установки, обновления и конфликты владельцев.

Свои маршруты

Безопасный импорт BAT как данных, нормализация, удаление дублей, предварительная проверка и транзакционное применение.

Готовые маршруты

Десять наборов: Telegram, WhatsApp, YouTube, ChatGPT/OpenAI, Instagram, Facebook, Meta, TikTok, Speedtest и Wikipedia.

Keenetic

Диагностика ProxyN, восстановление, синхронизация имени, проверка Xray и управление адресом WebUI через KeenDNS.

Xray

Состояние и диагностика, запуск, остановка, перезапуск, выбор официальной версии со статусом совместимости и переустановка текущего ядра.

BROray

Версии, компоненты, обновление, переустановка, восстановление, журнал операции, очистка и авторизованное удаление.

Совместимость

Служебная страница переводит старые закладки на актуальные разделы и не выполняет сетевых изменений.

Обновление и переустановка

Обычное обновление

В WebUI откройте:

BROray → Проверить обновление → Установить обновление

Updater-v5 проверяет Stable index и SHA-256, создаёт резервную копию, готовит новый app-slot и переключает его только после предварительной проверки. Ошибка после переключения запускает откат.

Обязательно после обновления Очистите кэш браузера и заново откройте WebUI. На компьютере используйте Ctrl+R; на мобильном устройстве очистите кэш сайта в настройках браузера и перезагрузите страницу.

Переустановка текущей версии

На странице BROray выберите переустановку. Серверы, подписки, пользовательские маршруты, DNS-настройки и общий Xray runtime находятся вне сменяемого app-slot и сохраняются.

Аварийное административное обновление

Если WebUI не открывается, но Entware shell доступен, повторите проверяемый Stable-блок из раздела обновления. Он обновляет более старый release, ничего не меняет при равном и отказывается понижать более новый.

Если updater-v5 исправен, можно отправить административный запрос:

/opt/bin/broray-updaterctl check &&
/opt/bin/broray-updaterctl request update
/opt/bin/broray-updaterctl status

Для переустановки текущего кандидата:

/opt/bin/broray-updaterctl request reinstall

Не удаляйте lock-файлы вручную и не запускайте новую операцию, пока предыдущая имеет состояние running или recovery-required.

Что нового в BROray 3.1.0

  • На странице Xray можно выбрать и установить конкретную официальную версию, а также переустановить текущую.
  • Две последние стабильные версии и до пяти предварительных по переключателю. Установленная и последняя проверенная совместимая версии остаются доступны без дублирования.
  • Три статуса: «Совместима с BROray», «Не проверялась на совместимость с BROray», «Несовместима с BROray». Совместимость указана для текущей сборки BROray, без привязки к модели роутера.
  • При чистой установке устанавливается Xray 26.9.9. При обновлении BROray установленное ядро сохраняется.
  • Исправлены ложное определение остановки Xray во время проверки конфигурации, загрузка SOCKS-хелперов, фильтр предварительных версий и повторяющиеся подписи.
  • 26.2.6 несовместима и заблокирована для установки. Проверки конфигурации, SHA-256, запуска и возврат прежнего ядра при неудачной замене сохранены.

Как выбрать версию Xray

  1. Откройте Xray → Проверить версии.
  2. Выберите версию; при необходимости включите предварительные релизы.
  3. Прочитайте статус совместимости, нажмите Установить и подтвердите предупреждения. Понижение версии требует отдельного подтверждения.
  4. Дождитесь результата и проверьте состояние Xray. Если нужная версия уже установлена, заменять её не требуется.

В реестре совместимы 26.3.27, 26.6.27, 26.7.11, 26.7.28, 26.9.8 и 26.9.9. Испытания выполнены для arm64 с VLESS/XHTTP/REALITY; все возможные протоколы и конфигурации не проверялись.

После установки с нуля добавьте и активируйте сервер: работающий Xray сам по себе ещё не означает настроенный VPN. В диагностике может остаться предупреждение об отсутствии прежней записи «Испытание на Keenetic»; оно отдельно от реестра совместимости.

Сохранённые возможности и исправления 3.0.1

  • Запуск служб при обновлении синхронно завершает строго доказанную рассинхронизацию только имени собственного ProxyN и повторно проверяет весь интерфейс.
  • Длинные UTF-8-имена сервера читаются из канонической конфигурации Keenetic без обрезания переносами вывода.
  • Известная неизменённая legacy-установка Lighttpd без прежней квитанции принимается только через строгую проверку точных хешей; неоднозначные файлы отклоняются.
  • Чистое восстановление принимает только структурные родительские каталоги уже разрешённых пользовательских путей и не расширяет список сохраняемых данных.
  • Монитор соединения автоматически восстанавливается после неожиданной остановки, проверяет PID и атомарно публикует состояние.
  • После завершения ручной или плановой пакетной проверки Главная получает единый итоговый снимок без ложного предупреждения об устаревшем качестве.
  • На странице Keenetic добавлено безопасное управление адресом https://broray.<KeenDNS-домен>/: состояние, включение, отключение, открытие и копирование.
  • В готовые маршруты добавлен десятый независимый набор Wikipedia.
  • Счётчик выбранных DNS-серверов на Главной теперь прямо подписан как DNS-over-TLS.
  • Чистая терминальная установка сразу разворачивает текущий кандидат без промежуточного приложения r14c68.
  • Исправлена установка Wikipedia: актуальная конфигурация Keenetic сохраняется до транзакционной сверки, после применения подтверждаются все 12 маршрутов.
  • На карточках DNS-over-TLS оставлен один статус «Установлен в Keenetic» без повторяющегося значка.
  • Свежесть качества учитывает настроенный интервал автопроверки и время последовательного обхода серверов.
  • BROray восстанавливает планировщик автоматического обновления подписок после обновления и перезапуска.
  • Запуск служб больше не конфликтует с блокировкой операции универсального обновителя.
  • Изменение отображаемого имени активного сервера при обновлении подписки синхронизируется с управляемым ProxyN.
  • Если точное согласование ProxyN подтвердить нельзя, обновление подписки откатывается и сохраняет последнее согласованное состояние.
  • После активации сервера статус Keenetic обновляется сразу, без старого имени из кэша.
  • Внутренняя навигация и локальные ресурсы WebUI привязаны к идентификатору сборки и не смешиваются со страницами предыдущего кандидата.
  • При запуске BROray безопасно устраняет рассинхронизацию только отображаемого имени собственного исправного ProxyN и принимает результат лишь после полного повторного контроля.
  • Расхождения адреса, протокола, runtime или подтверждения владения этим исключением не принимаются.
  • Универсальный переход от 3.0.0-r1 и updater-v5 не изменены.

История версий

3.1.0

Исправлено: определение рабочего процесса Xray, проверка SOCKS при замене ядра, фильтр предварительных версий и повторяющиеся подписи.

Добавлено: выбор версии Xray со статусом совместимости, Xray 26.9.9 при чистой установке, запрет установки несовместимой 26.2.6. При обновлении BROray установленный Xray сохраняется; updater-v5 не изменён.

3.0.1

Исправлено: восстановление и атомарное состояние монитора соединения, установка Wikipedia, повторяющийся статус DNS-over-TLS, свежесть качества, запуск служб при обновлении, восстановление планировщика подписок, синхронизация имени активного сервера с ProxyN, длинные UTF-8-имена, точное восстановление владения legacy Lighttpd, безопасное восстановление разрешённых пользовательских путей и кэширование внутренних страниц WebUI.

Добавлено: маршрут Wikipedia, управление адресом WebUI через KeenDNS и прямая чистая установка текущего приложения без промежуточного r14c68.

3.0.0

Исправлено: обработка современных конфигураций Xray, транзакции маршрутов и DoT, удаление, переустановка и отображение канала обновлений.

Добавлено: updater-v5 с откатом, универсальный переход от 3.0.0-r1, новый авторизованный WebUI, управление Xray, серверами, подписками, ProxyN, DNS-over-TLS и маршрутами, автоматическая проверка качества.

2.2.5

Исправлено: OPKG-обновление, транзакционный DoT и JSON backend.

Добавлено: адаптивный WebUI, отдельная страница DNS-over-TLS, обновление Xray и девять готовых маршрутных наборов.

2.2.0

Исправлено: серия полевых замечаний после обновления на реальном Keenetic.

Добавлено: первая отдельная страница DNS-over-TLS и новая архитектура маршрутов.

2.1.1-2

Исправлено: сохранение общих маршрутов при обновлении.

Добавлено: проверка удалённых источников и автоматический откат обновителя.

2.1.1

Исправлено: повторы и ненормализованные CIDR при импорте.

Добавлено: безопасный импорт пользовательских BAT и карточки пользовательских наборов.

2.1.0

Добавлено: авторизованный WebUI, страницы серверов, подписок, ProxyN, маршрутов, Xray и BROray, а также три темы.

2.0.0

Добавлено: первая публичная версия с базовым WebUI, серверами, подписками и интеграцией Xray с KeeneticOS.

Подробная техническая история на GitHub

Безопасность операций

  • релизные файлы проверяются по SHA-256;
  • конфигурация Xray тестируется до перезапуска;
  • обновление BROray использует резервную копию и postcheck;
  • ProxyN, маршруты, DoT и KeenDNS HTTP Proxy изменяются только при подтверждённом владении;
  • внешние объекты Keenetic и пользовательские файлы не удаляются;
  • BAT-файлы разбираются как данные и не исполняются;
  • конфликтующие операции сериализуются общим контролем.

Проверка и диагностика

/opt/broray/bin/broray-system info
/opt/bin/broray-updaterctl version
/opt/bin/broray-updaterctl check
/opt/bin/broray-updaterctl status
/opt/etc/init.d/S22broray-updater status
/opt/etc/init.d/S23broray-monitor status
/opt/etc/init.d/S24broray status
/opt/etc/init.d/S25broray-web status

Для текущего Stable ожидаются release 3.1.0-r09, кандидат 3.1.0-r09c02, WebUI WebUI-3.1.0-r09c02, пакет 3.0.0-r14, broray-updater/5, канал Stable и отсутствие доступного обновления.

Удаление

Используйте раздел удаления на странице BROray. Обычное удаление и полное удаление показывают точный план и требуют авторизованного подтверждения. Ручное удаление файлов не заменяет штатную операцию и может оставить объекты Keenetic без receipt.

Поддержка

В обращении укажите модель, версию KeeneticOS, версию BROray и текст ошибки. Удалите пароли, токены подписок, UUID серверов, приватные ключи и данные сессии.

Лицензия

Исходный код BROray распространяется по лицензии GNU General Public License v3.0. Xray-core является отдельным сторонним компонентом и распространяется по Mozilla Public License 2.0.