Sing-box Router
Sing-box Router — это движок маршрутизации внутри процесса sing-box. Он матчит трафик по доменам, перехватывая DNS-запросы целевых устройств, и применяет правила на уровне netfilter/TPROXY. По сравнению с обычной Маршрутизацией Keenetic (через ipset) это даёт точность по доменам: запрос к нужному домену пойдёт в туннель, даже если домен находится за общим CDN с десятками других сайтов, которые туда отправлять не надо.
Когда нужен Sing-box Router
Sing-box Router нужен прежде всего, когда обычная маршрутизация по DNS/IP начинает выдавать ложные срабатывания на CDN: правило для одного домена отправляет в туннель IP, через который проходят сотни нерелевантных доменов, и в туннель утекает посторонний трафик. Sing-box матчит запрос по самому домену в перехваченном DNS-запросе, поэтому такого побочного эффекта нет. Дополнительно он даёт готовые geosite/geoip-наборы из публичных репозиториев (sing-geosite, sing-geoip), composite outbound’ы (selector/urltest) внутри одного правила и действие reject — блокировку трафика на уровне роутера без подкладывания пустого ipset.
Где находится
Вкладка Маршрутизация → Sing-box Router видна только при установленном sing-box и на уровне использования Продвинутый (см. Настройки). У страницы два режима отображения — переключатель Простой / Эксперт в правом верхнем углу. Это один и тот же конфиг, разница только в подаче: простой режим показывает «что и куда отправлять», экспертный раскрывает все объекты sing-box как есть. Рядом с переключателем — живой счётчик соединений, кнопка Параметры sing-box, поиск по правилам и просмотр итогового конфига.
Простой режим
Сверху — схема потока трафика: источник (устройства, привязанные к политике) → движок sing-box → назначения (куда уходит трафик по умолчанию и какие правила ведут в туннели). Клик по карточке источника открывает выбор: обрабатывать устройства в политике (только привязанные к NDMS-политике) или весь роутер (весь LAN-трафик без привязки к политике); здесь же выбирается или создаётся сама политика. Клик по карточке движка — его параметры.

Ниже — список «Что и куда отправлять»: правила применяются сверху вниз, срабатывает первое подходящее. Первые строки — системные (анализ протокола, перехват DNS, локальная сеть напрямую), они заблокированы от редактирования. Дальше — ваши правила: иконка сервиса, условия (домены, наборы) и действие справа — туннель, Напрямую или Заблокировать. Правила перетаскиваются за «ручку» слева, редактируются карандашом.
+ Правило открывает пошаговый редактор: «Что направить» — готовый шаблон сервиса (YouTube, OpenAI, …) или ручное описание (домены, IP, CIDR, порты, geosite:/geoip:); «Куда» — через туннель / напрямую / заблокировать; «Превью» — что именно добавится в конфиг.

Если конфигурация пустая, вместо списка правил показывается мастер первичной настройки: выбрать сервисы из пресетов → выбрать туннель → отметить устройства → Применить. Мастер собирает минимальную рабочую связку (политика, правила, DNS) за один проход — для первого запуска это самый короткий путь.
Движок sing-box
Кнопка Параметры sing-box открывает панель движка: состояние (включён/выключен), версия sing-box и зависимости — модуль netfilter и доступность TPROXY target. Здесь же движок включается, выключается и перезапускается. Если зависимость не готова, панель покажет, чего именно не хватает.

Sing-box Router работает через TPROXY/netfilter и требует системного компонента Модули ядра подсистемы Netfilter. Если он не установлен, на странице появляется баннер с указанием установить компонент через веб-интерфейс роутера (Управление → Общие настройки → Изменить набор компонентов).

Экспертный режим
Все объекты конфигурации на одной странице: сводные счётчики сверху (движок, правила, rule-sets, outbounds, DNS, rewrite, прокси) и секции ниже.

Правила и Rule Sets
Правило — одна строчка матча: условия (домены, IP-CIDR, source-IP, порты, ссылки на rule_set) плюс действие — направить в outbound или заблокировать (reject). Rule set — переиспользуемый набор паттернов: remote (sing-box сам скачивает srs-файл по URL и периодически обновляет), local (файл на роутере), inline (правила прямо в конфиге); кроме того, модалка предлагает быстрые типы Geosite и GeoIP — готовый набор по имени, без ручного URL. Несколько правил могут ссылаться на один набор — удобно для крупных списков вроде sing-geosite. Порядок правил важен: first-match-wins; глобальный Final outbound определяет, куда уходит всё, что не попало ни под одно правило (по умолчанию direct — мимо VPN).
DNS
Секция DNS-серверы настраивает встроенный резолвер sing-box: апстримы (UDP/TLS/HTTPS), сервер по умолчанию и DNS-правила, направляющие отдельные домены или rule-set’ы на конкретный сервер (например, целевые сервисы резолвить через туннель). Резолвер обслуживает только устройства, привязанные к выбранной политике, — остальные клиенты роутера продолжают пользоваться обычным DNS Keenetic. Перехват запросов (hijack-dns) — то, что позволяет матчить трафик по реальным доменам.
DNS Rewrite — переписывание DNS-ответов: домену или маске (glob/regex) принудительно сопоставляется нужный IP. Пригодится, когда сервис надо посадить на конкретный адрес в обход его собственного DNS.
Outbounds и composite
Composite outbound — виртуальный outbound, объединяющий несколько обычных под одним тегом: selector (ручной выбор активного члена) или urltest (автовыбор быстрейшего по периодическим замерам задержки). Правило ссылается на группу, а не на конкретный туннель. Composite, пришедшие из подписок, отмечены бейджем и доступны только на чтение — ими управляет страница подписок.
Прокси
Секция Прокси (в простом режиме — пункт «Прокси» в навигации) поднимает SOCKS5/HTTP-прокси для устройств локальной сети. LAN-устройство или отдельное приложение указывает роутер как прокси и выходит через выбранный outbound — без TPROXY-перехвата и привязки к политике.

Экземпляров может быть несколько — каждый со своим портом, интерфейсом прослушивания (все интерфейсы или конкретный сегмент), паролем и своим туннелем. В карточке экземпляра: Активный туннель — переключение outbound’а на лету (radio-список: Direct, AWG-туннели, sing-box-туннели, подписки), и Подключение клиента — адрес для настройки на устройстве, кнопка копирования proxy-URL и проверка внешнего IP через прокси (убедиться, что трафик действительно идёт через туннель).
Соединения
Клик по счётчику соединений в шапке открывает живой монитор: сводные диаграммы по outbound’ам, хостам и клиентам (клик по строке — быстрый фильтр), поиск и таблица активных соединений — источник, назначение, outbound, сработавшее правило, трафик. Данные стримятся из Clash-API sing-box (индикатор Live). Любое соединение можно принудительно закрыть. Это главный инструмент проверки «что сейчас идёт через какой туннель и почему».

Связь с другими разделами
Sing-box Router не вводит новый тип outbound’а — он работает со всеми объектами, которые уже есть в системе: AWG-туннелями awg-manager, системными NativeWG-туннелями Keenetic, sing-box-туннелями и composite outbound’ами (как собственными, так и пришедшими из подписок). Тот же объект может быть одновременно целью для обычной Маршрутизации (через Proxy-NDMS-интерфейс) и outbound’ом для правил Router’а — разница в том, на каком уровне принимается решение: ipset/policy у NDMS против netfilter/TPROXY и матчинга по доменам/rule set’ам у sing-box.