Keenetic · Entware · Xray
BROray
Менеджер Xray для Keenetic с WebUI, подписками, выбором серверов и интеграцией со штатным прокси-интерфейсом KeeneticOS.
ash.
1. Требования
- совместимый роутер Keenetic с архитектурой aarch64/arm64;
- установленный и запущенный Entware;
- доступ к терминалу Entware с правами root;
- доступ роутера в интернет;
- достаточно свободного места в разделе
/opt.
Предварительная проверка
uname -m
command -v opkg
df -h /opt
Архитектура должна определиться как aarch64 или
arm64, а команда opkg должна быть
доступна.
Официальная инструкция Keenetic
Это внешний материал. Он не является обязательным этапом, если Entware уже установлен и работает.
2. Установка BROray
Подключитесь к терминалу Entware на роутере и выполните одну команду:
wget -qO /tmp/broray-opkg.sh https://api.brovibe.cloud/releases/opkg.sh && ash /tmp/broray-opkg.sh
Сценарий установки автоматически:
- проверяет наличие Entware и архитектуру устройства;
- устанавливает необходимые сертификаты и HTTPS-загрузчик;
- подключает официальный OPKG-репозиторий BROvibe;
- устанавливает пакет
brorayи его зависимости; - создаёт безопасную начальную конфигурацию Xray;
- запускает Xray, монитор и WebUI;
- настраивает публикацию WebUI через KeenDNS HTTP Proxy;
- показывает локальный и внешний адреса WebUI.
3. Открытие WebUI
Стандартный локальный адрес:
http://192.168.1.1:8080/
Если LAN-адрес роутера изменён, установщик покажет фактический адрес. При настроенном KeenDNS также будет выведен внешний HTTPS-адрес вида:
https://broray.<домен-KeenDNS>/
4. Добавление подписки
- Откройте страницу BROray.
- Перейдите к разделу «Добавить подписку».
-
В поле имени укажите понятное название, например
BROvibe. - Вставьте полную ссылку подписки.
- Нажмите кнопку добавления подписки.
- Откройте список узлов добавленной подписки и импортируйте нужные серверы.
Импортированные конфигурации появятся в разделе «Серверы». Ссылки подписки и параметры доступа хранятся на роутере.
Обновление подписки
В разделе «Подписки» можно обновить одну подписку или воспользоваться общим обновлением всех подписок. После обновления проверьте список серверов.
5. Выбор сервера
- Откройте раздел «Серверы».
- Выберите нужную конфигурацию.
- Нажмите кнопку активации сервера.
- Дождитесь проверки конфигурации и перезапуска Xray.
- Убедитесь, что сервер отмечен как активный.
BROray проверяет конфигурацию до её применения. Название активного сервера используется в описании интерфейса Keenetic.
6. Интерфейс Keenetic
BROray использует штатный прокси-интерфейс KeeneticOS
Proxy0. В WebUI откройте раздел
«Интерфейс Keenetic».
В рабочем состоянии должны отображаться:
| Параметр | Ожидаемое состояние |
|---|---|
| Интерфейс | Proxy0 |
| Тип | Proxy |
| Link | up |
| Connected | yes |
| State | up |
Если интерфейс отсутствует или находится в неправильном состоянии, используйте доступные в WebUI действия создания или восстановления интерфейса. После смены сервера обновите его название, если оно не изменилось автоматически.
7. Маршрутизация устройств
После запуска Proxy0 выберите в KeeneticOS, какие
устройства или сегменты домашней сети должны использовать
подключение BROray.
- Откройте веб-интерфейс KeeneticOS.
- Перейдите к настройкам приоритетов подключений.
- Создайте отдельную политику доступа в интернет либо отредактируйте существующую.
- Добавьте в политику подключение BROray/Proxy0.
- Назначьте этой политике нужные домашние устройства.
- Сохраните настройки и проверьте доступ в интернет.
8. Обновление BROray
Обновление выполняется через подключённый OPKG-репозиторий:
opkg update && opkg upgrade broray
Проверить установленную версию:
/opt/broray/bin/broray version
9. Проверка и диагностика
Состояние BROray и активного сервера
/opt/broray/bin/broray status
Проверка конфигурации Xray
/opt/broray/bin/broray test
Успешная проверка заканчивается сообщением:
Configuration OK.
Состояние служб
/opt/etc/init.d/S23broray-monitor status
/opt/etc/init.d/S24broray status
/opt/etc/init.d/S25broray-web status
Состояние интерфейса Keenetic
ash /opt/broray/lib/interface.sh status
Перезапуск BROray
/opt/broray/bin/broray restart
Проверка локального WebUI
curl -fsS http://192.168.1.1:8080/ >/dev/null && echo "WebUI отвечает"
10. Предупреждения OPKG о настройках
При обновлении может появиться сообщение
resolve_conffiles:
Existing conffile ... is different from the conffile in the new package.
The new conffile will be placed at ...-opkg.
Это не ошибка установки. OPKG:
- сохраняет действующий пользовательский файл без изменений;
-
помещает новый шаблон из пакета рядом с суффиксом
-opkg.
В BROray это может касаться файлов:
/opt/broray/config/system/settings.json-opkg
/opt/broray/config/lighttpd.conf-opkg
Перед удалением шаблонов можно сравнить версии:
diff -u \
/opt/broray/config/system/settings.json \
/opt/broray/config/system/settings.json-opkg
diff -u \
/opt/broray/config/lighttpd.conf \
/opt/broray/config/lighttpd.conf-opkg
-opkg являются новыми шаблонами. Автоматическая
замена действующих файлов может сбросить адрес WebUI и другие
пользовательские параметры.
11. Удаление BROray
Рекомендуемое удаление с сохранением данных
Этот вариант удаляет BROray и интерфейс
Proxy0, но сохраняет оставшиеся пользовательские
данные для возможной повторной установки.
Выполняйте команды последовательно в терминале Entware:
ash /opt/broray/lib/interface.sh delete
opkg remove broray
При штатном удалении пакет автоматически:
- останавливает BROray Monitor;
- останавливает Xray;
- останавливает BROray WebUI;
- удаляет KeenDNS HTTP Proxy с именем
broray; - сохраняет конфигурацию KeeneticOS.
Proxy0.
Поэтому команда
ash /opt/broray/lib/interface.sh delete
выполняется до удаления пакета, пока служебные сценарии BROray
ещё доступны.
Полное удаление
Полное удаление дополнительно уничтожает настройки, подписки, импортированные серверы и запись репозитория BROray.
/opt/broray содержит ссылки подписок,
серверы и пользовательские настройки. После выполнения команд
восстановить их можно будет только из резервной копии.
1. Необязательная резервная копия
STAMP="$(date +%Y%m%d-%H%M%S)"
tar -czf "/opt/broray-backup-$STAMP.tar.gz" /opt/broray
chmod 600 "/opt/broray-backup-$STAMP.tar.gz"
Архив будет сохранён непосредственно в каталоге
/opt, то есть за пределами удаляемого каталога
BROray.
2. Удаление интерфейса и пакета
ash /opt/broray/lib/interface.sh delete
opkg remove broray
3. Удаление оставшихся данных и репозитория
rm -rf /opt/broray
rm -f /opt/etc/opkg/broray.conf
rm -f /opt/bin/broray /opt/bin/broray-server
Зависимости Entware, например curl,
jq или lighttpd, автоматически не
удаляются: они могут использоваться другими установленными
приложениями.
Проверка удаления
opkg list-installed | grep '^broray ' || echo "Пакет BROray удалён"
[ ! -e /opt/broray ] && echo "Каталог BROray удалён"
ndmc -c "show interface Proxy0" 2>/dev/null ||
echo "Интерфейс Proxy0 отсутствует"
Повторная установка
После полного удаления BROray можно установить заново стандартной командой:
wget -qO /tmp/broray-opkg.sh https://api.brovibe.cloud/releases/opkg.sh && ash /tmp/broray-opkg.sh