Маршрутизатор

05_routing.json для xKeen: как устроен файл

Файл 05_routing.json задаёт маршрутизацию Xray на роутере Keenetic. Здесь — из чего он состоит и как его собрать без ошибок.

domainStrategy и rules geosite / geoip / domain / full Генератор с проверкой ошибок
Шаг 2 из 5

Что пускать через VPN?

Это основа. Отдельные сервисы и сайты настроите дальше — они важнее сценария.

Дальше: Сервисы

Структура файла

routing.domainStrategyКак сверять IP. IPIfNonMatch — сначала по именам сайтов, потом по IP. Подходит почти всегда.
routing.rulesСписок правил. Проверяются сверху вниз, срабатывает первое подходящее.
type: "field"Обязательное поле каждого правила в Xray.
inboundTagОткуда пришёл трафик. В xKeen это redirect и tproxy.
domainСайты: geosite:категория, domain:сайт (с поддоменами), full:адрес (точно), regexp:выражение.
ipIP-адреса и подсети: geoip:ru, geoip:private, 1.2.3.0/24.
port / network / protocolПорты, tcp/udp, распознанный протокол (например, bittorrent).
outboundTagКуда отправить: тег сервера (vless-reality), direct или block.

Частые ошибки

  • Домен и IP в одном правиле: в Xray это «И», а не «ИЛИ» — правило почти никогда не сработает. Конструктор сам делит такие правила на два.
  • Общее правило выше точечного: например, «все российские сайты напрямую» над «youtube.ru через VPN». Срабатывает первое, поэтому точечные правила должны стоять выше.
  • Категории нет в geosite.dat на роутере — Xray не запустится. Обновите базы (xkeen -ug) или уберите категорию.
  • outboundTag не совпадает с тегом в 04_outbounds.json.

Пример

Пример: YouTube и Telegram через VPN, остальное напрямую

{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "inboundTag": [
          "redirect",
          "tproxy"
        ],
        "domain": [
          "geosite:youtube"
        ],
        "outboundTag": "vless-reality"
      },
      {
        "type": "field",
        "inboundTag": [
          "redirect",
          "tproxy"
        ],
        "domain": [
          "geosite:telegram"
        ],
        "outboundTag": "vless-reality"
      },
      {
        "type": "field",
        "inboundTag": [
          "redirect",
          "tproxy"
        ],
        "ip": [
          "geoip:telegram"
        ],
        "outboundTag": "vless-reality"
      },
      {
        "type": "field",
        "inboundTag": [
          "redirect",
          "tproxy"
        ],
        "domain": [
          "geosite:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "inboundTag": [
          "redirect",
          "tproxy"
        ],
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "inboundTag": [
          "redirect",
          "tproxy"
        ],
        "network": "tcp,udp",
        "outboundTag": "direct"
      }
    ]
  }
…

Частые вопросы

Как проверить файл перед загрузкой на роутер?

Конструктор проверяет правила при сборке: подскажет, если правило перекрыто другим или категории нет в базе. Финальная проверка — запуск xkeen -restart и его вывод.

Можно ли загрузить свой 05_routing.json и доработать?

Да. В режиме «Для продвинутых» откройте «Импорт конфига» и вставьте содержимое файла — правила появятся в редакторе, их можно двигать, отключать и править.

Нужно ли отправлять куда-то конфиг роутера?

Нет. Правила собираются прямо в браузере, а ссылки серверов обрабатываются только на этой странице — они не попадают ни в черновик, ни в ссылку «Поделиться».

Ещё по теме