Год назад я рассказывал на Хабре об 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

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

Комментарии (0)