zapret-kvn/docs/sing-box/reference/outbounds.md
2026-07-11 21:01:15 +03:00

14 KiB
Raw Permalink Blame History

Outbound -- справочник полей

Целевая версия: sing-box 1.14.x

Ниже подробно документирован исторический конвертируемый набор: vless, vmess, trojan, shadowsocks, socks, http, direct, block. Hysteria, Hysteria2 и TUIC импортируются как native sing-box outbounds; остальные типы sing-box extended можно импортировать объектом {"type": ...} без преобразования в Xray JSON.


vless

Структура

{
  "type": "vless",
  "tag": "vless-out",
  "server": "example.com",
  "server_port": 443,
  "uuid": "bf000d23-0752-40b4-affe-68f7707a9661",
  "flow": "",
  "network": "tcp",
  "packet_encoding": "xudp",
  "tls": {},
  "transport": {},
  "multiplex": {}
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
server string да Адрес сервера IP или домен
server_port number да Порт сервера 1-65535
uuid string да UUID пользователя VLESS формат UUID
flow string нет Суб-протокол VLESS xtls-rprx-vision -- только с TLS/Reality, несовместим с transport
network string нет Разрешённые протоколы tcp, udp. По умолчанию оба
packet_encoding string нет Кодирование UDP-пакетов xudp (по умолчанию), packetaddr (v2ray 5+), пустая строка -- отключено
tls object нет Настройки TLS -> TLS
transport object нет V2Ray Transport -> Transport
multiplex object нет Мультиплексирование -> Multiplex
Dial Fields нет Параметры подключения -> Dial Fields

Пример

{
  "type": "vless",
  "tag": "vless-out",
  "server": "example.com",
  "server_port": 443,
  "uuid": "bf000d23-0752-40b4-affe-68f7707a9661",
  "flow": "xtls-rprx-vision",
  "packet_encoding": "xudp",
  "tls": {
    "enabled": true,
    "server_name": "example.com",
    "utls": {
      "enabled": true,
      "fingerprint": "chrome"
    }
  }
}

vmess

Структура

{
  "type": "vmess",
  "tag": "vmess-out",
  "server": "example.com",
  "server_port": 443,
  "uuid": "bf000d23-0752-40b4-affe-68f7707a9661",
  "security": "auto",
  "alter_id": 0,
  "global_padding": false,
  "authenticated_length": true,
  "network": "tcp",
  "packet_encoding": "xudp",
  "tls": {},
  "transport": {},
  "multiplex": {}
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
server string да Адрес сервера IP или домен
server_port number да Порт сервера 1-65535
uuid string да UUID пользователя VMess формат UUID
security string нет Метод шифрования см. таблицу ниже. По умолчанию auto
alter_id number нет Alter ID см. таблицу ниже. По умолчанию 0
global_padding bool нет Случайное заполнение (тратит трафик; в v2ray включено принудительно) По умолчанию false
authenticated_length bool нет Шифрование блоков длины По умолчанию true
network string нет Разрешённые протоколы tcp, udp. По умолчанию оба
packet_encoding string нет Кодирование UDP-пакетов xudp (xray), packetaddr (v2ray 5+), пустая строка -- отключено
tls object нет Настройки TLS -> TLS
transport object нет V2Ray Transport -> Transport
multiplex object нет Мультиплексирование -> Multiplex
Dial Fields нет Параметры подключения -> Dial Fields

Таблица security:

Значение Описание
auto Автоматический выбор (по умолчанию)
none Без шифрования
zero Без шифрования, без аутентификации
aes-128-gcm AES-128-GCM
chacha20-poly1305 ChaCha20-Poly1305
aes-128-ctr Legacy, не рекомендуется

Таблица alter_id:

Alter ID Описание
0 Протокол AEAD (рекомендуется)
1 Legacy-протокол
> 1 Не используется, эквивалентно 1

Пример

{
  "type": "vmess",
  "tag": "vmess-out",
  "server": "example.com",
  "server_port": 443,
  "uuid": "bf000d23-0752-40b4-affe-68f7707a9661",
  "security": "auto",
  "alter_id": 0,
  "authenticated_length": true,
  "tls": {
    "enabled": true,
    "server_name": "example.com"
  },
  "transport": {
    "type": "ws",
    "path": "/ws"
  }
}

trojan

Структура

{
  "type": "trojan",
  "tag": "trojan-out",
  "server": "example.com",
  "server_port": 443,
  "password": "my-secret-password",
  "network": "tcp",
  "tls": {},
  "transport": {},
  "multiplex": {}
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
server string да Адрес сервера IP или домен
server_port number да Порт сервера 1-65535
password string да Пароль Trojan строка
network string нет Разрешённые протоколы tcp, udp. По умолчанию оба
tls object нет Настройки TLS -> TLS
transport object нет V2Ray Transport -> Transport
multiplex object нет Мультиплексирование -> Multiplex
Dial Fields нет Параметры подключения -> Dial Fields

Важно: протокол Trojan требует TLS. Без tls.enabled: true соединение не будет работать корректно.

Пример

{
  "type": "trojan",
  "tag": "trojan-out",
  "server": "example.com",
  "server_port": 443,
  "password": "my-secret-password",
  "tls": {
    "enabled": true,
    "server_name": "example.com",
    "utls": {
      "enabled": true,
      "fingerprint": "chrome"
    }
  }
}

shadowsocks

Структура

{
  "type": "shadowsocks",
  "tag": "ss-out",
  "server": "example.com",
  "server_port": 8388,
  "method": "2022-blake3-aes-128-gcm",
  "password": "base64-encoded-key",
  "plugin": "",
  "plugin_opts": "",
  "network": "tcp",
  "udp_over_tcp": false,
  "multiplex": {}
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
server string да Адрес сервера IP или домен
server_port number да Порт сервера 1-65535
method string да Метод шифрования см. таблицу ниже
password string да Пароль Shadowsocks строка или base64-ключ (для 2022-методов)
plugin string нет SIP003-плагин obfs-local, v2ray-plugin
plugin_opts string нет Параметры плагина строка параметров
network string нет Разрешённые протоколы tcp, udp. По умолчанию оба
udp_over_tcp bool / object нет UDP поверх TCP. Конфликтует с multiplex По умолчанию false
multiplex object нет Мультиплексирование. Конфликтует с udp_over_tcp -> Multiplex
Dial Fields нет Параметры подключения -> Dial Fields

Таблица method:

Категория Метод
Современные (2022) 2022-blake3-aes-128-gcm
2022-blake3-aes-256-gcm
2022-blake3-chacha20-poly1305
AEAD aes-128-gcm
aes-192-gcm
aes-256-gcm
chacha20-ietf-poly1305
xchacha20-ietf-poly1305
Без шифрования none
Legacy (не рекомендуются) aes-128-ctr
aes-192-ctr
aes-256-ctr
aes-128-cfb
aes-192-cfb
aes-256-cfb
rc4-md5
chacha20-ietf
xchacha20

Пример

{
  "type": "shadowsocks",
  "tag": "ss-out",
  "server": "example.com",
  "server_port": 8388,
  "method": "2022-blake3-aes-256-gcm",
  "password": "8JCsPssfgS8tiRwiMlhARg=="
}

socks

Структура

{
  "type": "socks",
  "tag": "socks-out",
  "server": "127.0.0.1",
  "server_port": 1080,
  "version": "5",
  "username": "",
  "password": "",
  "network": "tcp",
  "udp_over_tcp": false
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
server string да Адрес сервера IP или домен
server_port number да Порт сервера 1-65535
version string нет Версия SOCKS 4, 4a, 5. По умолчанию 5
username string нет Имя пользователя строка
password string нет Пароль (только SOCKS5) строка
network string нет Разрешённые протоколы tcp, udp. По умолчанию оба
udp_over_tcp bool / object нет UDP поверх TCP По умолчанию false
Dial Fields нет Параметры подключения -> Dial Fields

Внимание (гибридный режим): при использовании SOCKS outbound для relay-подключения (например, xray -> sing-box SOCKS) критически важно указать inet4_bind_address: "127.0.0.1" в Dial Fields, иначе соединение может не установиться.

Пример

{
  "type": "socks",
  "tag": "socks-relay",
  "server": "127.0.0.1",
  "server_port": 10808,
  "version": "5",
  "network": "tcp",
  "inet4_bind_address": "127.0.0.1"
}

http

Структура

{
  "type": "http",
  "tag": "http-out",
  "server": "proxy.example.com",
  "server_port": 8080,
  "username": "",
  "password": "",
  "path": "",
  "headers": {},
  "tls": {}
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
server string да Адрес прокси-сервера IP или домен
server_port number да Порт прокси-сервера 1-65535
username string нет Имя пользователя Basic-авторизации строка
password string нет Пароль Basic-авторизации строка
path string нет Путь HTTP-запроса строка
headers object нет Дополнительные HTTP-заголовки {"key": "value"}
tls object нет Настройки TLS (для HTTPS-прокси) -> TLS
Dial Fields нет Параметры подключения -> Dial Fields

Пример

{
  "type": "http",
  "tag": "http-out",
  "server": "proxy.example.com",
  "server_port": 8080,
  "username": "user",
  "password": "pass"
}

direct

Структура

{
  "type": "direct",
  "tag": "direct-out",
  "domain_resolver": "dns-local"
}

Поля

Поле Тип Обязательное Описание Значения / По умолчанию
domain_resolver string / object да (1.14+) DNS-резолвер для доменных адресов тег DNS-сервера (строка) или inline-объект
Dial Fields нет Параметры подключения -> Dial Fields

Важно (sing-box 1.14+): поле domain_resolver обязательно для outbound-ов, которые обрабатывают доменные адреса. Без него sing-box вернёт ошибку при попытке разрешить домен через direct outbound.

Пример

{
  "type": "direct",
  "tag": "direct-out",
  "domain_resolver": "dns-local"
}

block

Структура

{
  "type": "block",
  "tag": "block"
}

Поля

Настраиваемых полей нет. Указываются только type и tag.

Пример

{
  "type": "block",
  "tag": "block"
}