Как настроить RU напрямую, остальное в туннель

Привет всем. Только начинаю разбираться. Имеется панель, конфиг VLESS-XHTTP-Selfstel-Reality, нода, хост, тестовый юзер. Клиент подключается по ссылке подписки, всё работает. Сейчас сценарий простой: весь трафик - в туннель, соответственно, если клиент не настроит на своей стороне самостоятельно маршрутизацию, то ru-сервисы через vpn у него не будут работать.

Подскажите, как настроить на стороне сервера сценарий маршрутизации:

  • трафик от RU-сервисов (банки, госуслуги и пр.) пользователя должен идти напрямую его провайдеру мимо туннеля
  • все остальное в туннель
  • то есть чтобы пользователю не нужно было постоянно отключать-включать VPN для доступа в ru-сервисы и чтобы пользователю не нужно было настраивать маршрутизацию на своей стороне

Пожалуйста, поделитесь примерами настроек и на что нужно обращать внимание?

Подписка - Шаблоны - Нужный тебе тип конфига.

Пишешь в клиентском конфиге все, что нужно пустить в директ по документации ядра XRAY Маршрутизация | Project X

Или используй готовое решение, например GitHub - Davoyan/mihomo-rule-sets: Designed for routing internet traffic within Russia. This repository contains my routing rules for various applications and configurations. · GitHub

Спасибо вам. Разбираюсь. Можно ещё вопрос по Xray JSON шаблонам маршрутизации подписок. Там можно скачать такой шаблон Xray JSON (Without RU) by legiz-ru

Суть вопроса в следующем: там есть geosite:category-ru, geoip:ru и пр. Откуда панель их возьмёт? dat-файлы надо скачивать, чтобы и как-то примонтировать, чтобы маршрутизация раздалась на клиенское устройство?

{
  "log": {
    "loglevel": "warning"
  },
  "dns": {
    "queryStrategy": "IPIfNonMatch",
    "servers": [
      {
        "address": "1.1.1.1",
        "skipFallback": false
      }
    ],
    "tag": "dns_out"
  },
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "domain": [
          "habr.com",
          "4pda.to",
          "4pda.ru",
          "kemono.su",
          "jut.su",
          "kara.su",
          "theins.ru",
          "tvrain.ru",
          "echo.msk.ru",
          "the-village.ru",
          "snob.ru",
          "novayagazeta.ru",
          "moscowtimes.ru"
        ],
        "outboundTag": "proxy"
      },
      {
        "domain": [
          "geosite:private",
          "geosite:apple",
          "geosite:apple-pki",
          "geosite:huawei",
          "geosite:xiaomi",
          "geosite:category-android-app-download",
          "geosite:f-droid",
          "geosite:twitch",
          "geosite:category-ru"
        ],
        "outboundTag": "direct"
      },
      {
        "ip": [
          "geoip:ru",
          "geoip:private"
        ],
        "outboundTag": "direct"
      }
    ]
  },
  "policy": {
    "system": {
      "statsOutboundDownlink": true,
      "statsOutboundUplink": true
    }
  },
  "inbounds": [
    {
      "port": 10808,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true,
        "userLevel": 8
      },
      "sniffing": {
        "destOverride": [
          "http",
          "tls",
          "fakedns"
        ],
        "enabled": true
      },
      "tag": "socks"
    },
    {
      "port": 10809,
      "protocol": "http",
      "settings": {
        "userLevel": 8
      },
      "tag": "http"
    }
  ],
  "outbounds": [
    {
      "tag": "direct",
      "protocol": "freedom"
    },
    {
      "tag": "block",
      "protocol": "blackhole"
    }
  ],
  "stats": {}
}

Панель?

Ниоткуда.

Панель никак отсюда ничего и не грузит.

Этот конфиг улетает на клиентское приложение, а клиентское приложение в свою очередь подтянет его из стандартных геофайлов ядра.