Год назад я рассказывал на Хабре об open-source плагине XRAYUI для управления xray-core на роутерах ASUS с прошивкой MerlinWRT. За это время проект превратился из простого веб-интерфейса в полноценную экосистему управления сетевым трафиком домашней сети.

XRAY и Я

xray-core — это не просто «VPN» или «прокси», а универсальный инструмент маршрутизации трафика с поддержкой десятков протоколов. Он умеет принимать решения на основе домена, IP, порта, протокола и даже содержимого пакета. XRAYUI интегрирует эту систему в домашний роутер, превращая его в интеллектуальный шлюз.

XRAYUI — это плагин для роутеров ASUS, который интегрирует xray-core в экосистему домашнего роутера. Он позволяет:

  • Управлять маршрутизацией для конкретных устройств и портов

  • Автоматически настраивать прозрачное проксирование (TPROXY)

  • Контролировать DNS-резолвинг для предотвращения утечек

  • Работать с геоданными без ручного редактирования конфигов

  • Импортировать конфигурации по QR-коду или URL

  • По расписанию обновлять сторонние источники доменов

Главные изменения

Политики обхода/перенаправления для устройств

При включении прокси на роутере изначально весь трафик маршрутизируется через него. Это ломает IoT-устройства (условно поилка для кота идет через Финляндию), замедляет/блокирует игры и создаёт проблемы локальным сервисам.

Но теперь можно настроить политики для каждого устройства отдельно.

Настройка через веб-интерфейс: выбираете устройство по MAC-адресу, указываете порты — готово.
Настройка через веб-интерфейс: выбираете устройство по MAC-адресу, указываете порты — готово.

Читаем геофайлы налету

Шутка ли понять или угадать категории для подгруженных .dat файлов, когда этих категорий внутри тысячи? XRAYUI позволяет сразу же в правилах проверить валидность категорий на лету

так же работает и с geoip
так же работает и с geoip

Интеграция с IPSET

IPSET позволяет работать с большими списками IP-адресов без нагрузки на процессор роутера.

Как работают режимы DNS-обхода через IPSET:

OFF — условно классический режим

  • Весь трафик проходит через процесс xray

  • Каждый пакет анализируется на уровне приложения

  • Максимальная гибкость, но высокая нагрузка на CPU

  • Подходит для мощных роутеров или небольшого количества правил

BYPASS — режим белого списка

  • Домены с правилом FREEDOM (прямой доступ) обрабатываются ядром Linux через IPSET

  • Xray даже не видит этот трафик — он идёт напрямую

  • Снижение нагрузки на CPU до 80% при большом количестве локальных ресурсов

  • Пример: у вас 5000 российских доменов для прямого доступа — они полностью минуют xray, работая на скорости ядра

REDIRECT — режим чёрного списка (продвинутый)

  • Через xray идёт только трафик к доменам, которые НЕ помечены как FREEDOM

  • Весь остальной трафик обрабатывается ядром напрямую

  • Минимальная нагрузка на xray — он работает только с тем, что действительно нужно проксировать

  • Идеально для: ситуаций, когда нужно проксировать только несколько заблокированных сервисов, а всё остальное должно работать напрямую.

XRAYUI обзавелся важными вспомогательными подсистемами

  • RTLS Scanner

  • B4SNI

  • V2DAT

R(eality)TLS Scanner — найти себя

RTLS — это инструмент, который ищет наиближайший к вашему VPS домен, присутствующий на этом же хостинге. Проблема в том, что нужно найти сервер, котор��й физически близок к вашему VPS и имеет валидный сертификат.

Как работает сканер:
Результат — интерактивная карта-радар, где каждая точка — это найденный сервер. Чем ближе к центру, тем меньше задержка относительно вашего VPS.

сканер TLS
сканер TLS

Таким условным образом можно просканировать окражующую сеть и условно "паразитировать" чей-то рядом расположенный домен.

B4SNI — перехват SNI в реальном времени

Техническая реализация

B4SNI (B4SNIffer) — это процесс мониторинга, который перехватывает TCP/UDP ClientHello пакеты и извлекает из них SNI (Server Name Indication) на раннем этапе созд��ния соедниения.

SNI во всей крас
SNI во всей крас

Таким образом можно отследить любые второстепенные подключения сайта.

Что показывает B4SNI:
- Панель статистики в реальном времени
- Имена устройств или источники пакетов
- Фильтрация по протоколу, источнику, назначению, SNI

V2DAT - швейцарский нож для геоданных

Что такое Geodat файлы

В экосистеме Xray геоданные — это скомпилированные бинарные базы данных, содержащие тысячи IP-адресов и доменов, сгруппированных по категориям. Два основных файла:

  • geosite.dat — категоризированные списки доменов (Netflix, Google, рекламные сети, страны)

  • geoip.dat — диапазоны IP-адресов по странам и организациям (Cloudflare, AWS, частные сети)

Эти файлы используются в правилах маршрутизации вместо ручного перечисления сотен доменов:

# Вместо этого:
domain:netflix.com
domain:netflix.net
domain:nflxvideo.net
domain:nflximg.com
domain:nflxext.com
# ... ещё 200+ доменов

# Используем это:
geosite:netflix

Файлы геоданных - бинарные, протокол protobuf.
Нельзя просто открыть их в текстовом редакторе. Коммьюнити обновляет эти базы еженедельно, добавляя новые домены.

v2dat — что под капотом

v2dat — это процесс, который умеет парсить protobuf структуру geodat файлов и выводить содержимое в человекочитаемом виде.

PS

Сетевая тематика - сложная. Если у вас возникли вопросы, пожалуйста, задайте в комментариях. Я постораюсь ответить. Можно также писать в личку.