zapret-kvn/docs/sing-box/reference/transport.md
2026-03-27 14:15:12 +03:00

6 KiB
Raw Permalink Blame History

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

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

Доступные типы транспорта: HTTP, WebSocket, gRPC, HTTPUpgrade, QUIC. xhttp (Xray-специфичный) НЕ поддерживается sing-box -- при его обнаружении XrayFluent переключается в hybrid mode.

WebSocket (ws)

Структура

{
  "type": "ws",
  "path": "/ws-path",
  "headers": {},
  "max_early_data": 0,
  "early_data_header_name": ""
}

Поля

path

Тип string

HTTP-путь запроса. Сервер проверяет точное совпадение.

headers

Тип object

Дополнительные HTTP-заголовки запроса. Сервер вернёт их в ответе, если указаны.

max_early_data

Тип number
По умолчанию 0

Размер полезной нагрузки, отправляемой в запросе (early data). Включается, если значение не равно нулю.

early_data_header_name

Тип string

По умолчанию early data отправляется в path. Для совместимости с Xray-core установите значение "Sec-WebSocket-Protocol". Должно совпадать с сервером.

HTTP

Структура

{
  "type": "http",
  "host": [],
  "path": "/",
  "method": "",
  "headers": {},
  "idle_timeout": "0s",
  "ping_timeout": "15s"
}

Примечание: TLS не обязателен. Без настроенного TLS используется HTTP 1.1 в открытом виде.

Поля

host

Тип string[]

Список доменов хоста. Клиент выбирает случайный, сервер проверяет при непустом списке.

path

Тип string

HTTP-путь запроса. Сервер проверяет соответствие. V2Ray позволяет клиенту добавлять произвольный суффикс к path -- sing-box воспроизводит это поведение (только для HTTP, не для WebSocket/HTTPUpgrade).

method

Тип string

HTTP-метод запроса. Сервер проверяет, если значение указано.

headers

Тип object

Дополнительные HTTP-заголовки запроса.

idle_timeout

Тип string (duration)
По умолчанию "0s" (проверка не выполняется)

Период бездействия, после которого клиент отправляет PING-кадр для проверки соединения. При нулевом значении проверка не выполняется.

ping_timeout

Тип string (duration)
По умолчанию "15s"

Тайм-аут ожидания ответа на HTTP/2 PING. Если ответ не получен, соединение закрывается.

gRPC

Структура

{
  "type": "grpc",
  "service_name": "TunService",
  "idle_timeout": "15s",
  "ping_timeout": "15s",
  "permit_without_stream": false
}

Примечание: стандартный gRPC не включён в сборку sing-box по умолчанию. См. документацию по build-тегам.

Поля

service_name

Тип string

Имя gRPC-сервиса.

idle_timeout

Тип string (duration)
По умолчанию "15s"

Интервал keepalive. Если нет активности в течение указанного времени, отправляется проверочный пинг.

ping_timeout

Тип string (duration)
По умолчанию "15s"

Тайм-аут ожидания ответа на keepalive-пинг. Если ответ не получен, соединение закрывается.

permit_without_stream

Тип bool
По умолчанию false

Отправлять keepalive-пинги даже без активных соединений. Если выключено, idle_timeout и ping_timeout игнорируются при отсутствии потоков.

HTTPUpgrade

Структура

{
  "type": "httpupgrade",
  "host": "",
  "path": "/upgrade-path",
  "headers": {}
}

Поля

host

Тип string

Домен хоста. Сервер проверяет, если значение указано.

path

Тип string

HTTP-путь запроса. Сервер проверяет соответствие.

headers

Тип object

Дополнительные HTTP-заголовки запроса.

QUIC

Структура

{
  "type": "quic"
}

Заметки

Дополнительные поля отсутствуют -- указывается только тип. Шифрование QUIC дублирует TLS-шифрование протокола -- фактически трафик шифруется дважды.

Не поддерживается

Транспорт Причина
xhttp Специфичен для Xray-core. При обнаружении XrayFluent переключается в hybrid mode (sing-box TUN + xray SOCKS).
TCP transport В sing-box нет отдельного TCP-транспорта; plain HTTP объединён с HTTP-транспортом.
mKCP Не реализован в sing-box.
DomainSocket Не реализован в sing-box.