3x-ui3x-ui test
Эксплуатация

Исходящие соединения и маршрутизация

Управляйте исходящим трафиком в 3x-ui — outbound-соединения WARP и NordVPN, подписки на исходящие соединения (пулы серверов), правила маршрутизации и балансировщики нагрузки.

Inbound-соединения принимают клиентов; outbound-соединения определяют, куда дальше пойдёт их трафик. 3x-ui может направлять трафик через Cloudflare WARP, NordVPN или произвольные пулы исходящих соединений, импортированные из подписки, а также выбирать между ними с помощью правил маршрутизации и балансировщиков.

Редактирование исходящих соединений и маршрутизации

Outbound-соединения, правила маршрутизации, балансировщики, DNS и логирование — всё это находится в конфигурации Xray (шаблоне конфигурации, который вы редактируете в разделе Xray Settings). Отдельного интерфейса для каждого правила нет — вы редактируете JSON, а панель перезагружает Xray. Панель также предлагает тест связности исходящего соединения и тест маршрута (запрос к работающему ядру о том, какое исходящее соединение будет использовано для заданного назначения).

Построение исходящего соединения

Каждое исходящее соединение — это JSON-объект, состоящий не более чем из четырёх частей: tag (на него ссылаются правила маршрутизации и балансировщики), protocol, специфичные для протокола settings и — для прокси-протоколов — streamSettings, которые должны совпадать с транспортом и безопасностью удалённого inbound-соединения. Почти всегда присутствуют два исходящих соединения:

  • freedom отправляет трафик напрямую к его назначению — исходящее соединение по умолчанию. При необходимости задайте domainStrategy (например, UseIP), чтобы управлять разрешением имён хостов.
  • blackhole отбрасывает трафик. Направляйте сюда нежелательные назначения (реклама, торренты).
freedom + blackhole
{
  "outbounds": [
    { "tag": "direct", "protocol": "freedom", "settings": {} },
    { "tag": "block", "protocol": "blackhole", "settings": {} }
  ]
}

Прокси-исходящее соединение (VLESS, VMess, Trojan, Shadowsocks) пересылает трафик на другой сервер — удобно для цепочек или отправки выборочного трафика за рубеж. Учитывайте форматы, которые использует 3x-ui: VLESS — плоская форма (address/port/id/flow/encryption), VMess использует settings.vnext[], а Trojan/Shadowsocks используют settings.servers[]. streamSettings должны отражать транспорт и безопасность назначения.

Соберите любое исходящее соединение ниже и вставьте JSON в Xray Settings → Outbounds:

Outbound config generator

Build an Xray outbound object — freedom, blackhole, a proxy protocol, WireGuard, or WARP — to paste into your Xray configuration.

Outbound (Xray JSON)
{
  "tag": "proxy",
  "protocol": "vless",
  "settings": {
    "address": "example.com",
    "port": 443,
    "id": "",
    "flow": "",
    "encryption": "none"
  },
  "streamSettings": {
    "network": "tcp",
    "security": "reality",
    "tcpSettings": {
      "header": {
        "type": "none"
      }
    },
    "realitySettings": {
      "fingerprint": "chrome",
      "serverName": "www.microsoft.com"
    }
  }
}

Cloudflare WARP

WARP позволяет вашему серверу направлять исходящий трафик через сеть Cloudflare. 3x-ui может зарегистрировать для вас аккаунт WARP и подключить его к WireGuard-соединению с тегом warp:

Добавьте исходящее соединение с тегом warp

Создайте WireGuard-соединение с тегом warp в вашей конфигурации Xray.

Зарегистрируйте WARP

В элементах управления WARP на панели зарегистрируйте аккаунт. 3x-ui автоматически заполнит ключи соединения, адреса, зарезервированные байты и конечную точку пира.

(Опционально) автоматическая ротация IP

Задайте интервал обновления WARP (в днях) для периодической ротации IP-адреса WARP. Также можно применить бесплатную лицензию.

Направьте нужный трафик (например, определённые домены) на исходящее соединение warp с помощью правила маршрутизации.

NordVPN

3x-ui может получать учётные данные NordVPN (NordLynx/WireGuard) из токена доступа (или принимать приватный ключ напрямую) и выводить список стран/серверов, чтобы вы могли построить outbound-соединение NordVPN.

Подписки на исходящие соединения (пулы серверов)

Подписка на исходящие соединения импортирует удалённую подписку со ссылками-share и внедряет её серверы в качестве исходящих соединений в работающую конфигурацию Xray — не затрагивая ваш сохранённый шаблон. Это рекомендуемый способ подписаться на пул серверов.

ПолеПо умолчаниюЗначение
urlURL удалённой подписки (с защитой от SSRF).
tagPrefixautoПрефикс для генерируемых тегов исходящих соединений (например, hk-); пусто = subN-.
updateInterval600Интервал обновления в секундах.
prependfalseРазмещать эти исходящие соединения перед вашими ручными.
priority0Порядок слияния (меньшие значения первыми).

Импортированные исходящие соединения получают стабильные теги: один и тот же сервер сохраняет один и тот же тег между обновлениями, поэтому селекторы маршрутизации/балансировщиков по точному тегу остаются привязанными — в то время как селекторы по префиксу/шаблону (например, hk-*) автоматически подхватывают новые серверы по мере изменения пула. Поддерживаемые схемы ссылок: vmess, vless, trojan, ss, hysteria2 (hy2) и wireguard (wg). Панель обновляет включённые подписки по таймеру и перезагружает Xray при любых изменениях.

Правила маршрутизации

Правила маршрутизации определяют, какое исходящее соединение (или балансировщик) использует каждое подключение. Каждое правило — это сопоставитель типа field: задайте любое из domain, ip, port, network, protocol, inboundTag, sourceIP, … и направьте его на outboundTag или balancerTag. Правила вычисляются сверху вниз — побеждает первое совпадение, поэтому размещайте конкретные правила выше общих.

route ads to blackhole, private IPs direct
{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      { "type": "field", "domain": ["geosite:category-ads-all"], "outboundTag": "block" },
      { "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" }
    ]
  }
}

Балансировщики

Балансировщик группирует исходящие соединения по селектору (префиксы тегов, включая wildcard-пулы из подписок на исходящие соединения) и распределяет или перенаправляет трафик по ним при сбоях с помощью стратегии:

СтратегияВыбирает…Нужен монитор
randomслучайного участника на каждое подключениенет
roundRobinучастников по очерединет
leastPingучастника с наименьшей задержкойobservatory
leastLoadнаиболее стабильного участника по измеренной нагрузкеburstObservatory

Ссылайтесь на балансировщик из правила через balancerTag. leastPing и leastLoad требуют монитора состояния, который Xray размещает на верхнем уровне конфигурации (observatory / burstObservatory, не внутри routing). Панель может сообщать статус балансировщика и переопределять балансировщик на конкретное исходящее соединение для тестирования.

Постройте блок маршрутизации — правила, балансировщики и соответствующий observatory — здесь:

Balancer & routing builder

Compose Xray balancers and routing rules, then copy the routing block (with a matching observatory for leastPing/leastLoad).

Balancers

Rules

Routing block (Xray JSON)
{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "domain": [
          "geosite:category-ads-all"
        ],
        "outboundTag": "block"
      },
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      }
    ],
    "balancers": [
      {
        "tag": "balancer",
        "selector": [
          "proxy"
        ],
        "strategy": {
          "type": "leastPing"
        }
      }
    ]
  },
  "observatory": {
    "subjectSelector": [
      "proxy"
    ],
    "probeURL": "https://www.google.com/generate_204",
    "probeInterval": "1m",
    "enableConcurrency": true
  }
}

Исходящие соединения, обращающиеся к внешним сервисам, получаются с защитой от SSRF — по умолчанию частные/внутренние адреса блокируются, если вы явно не разрешите их для каждого источника.

On this page