Skip to content

UDP over TCP

这是 SagerNet 创造的专有协议,不是 Shadowsocks 协议的一部分。

UDP over TCP 协议用于在 TCP 中传输 UDP 数据包。

结构

json
{
  "enabled": true,
  "version": 2
}

当内容只有一项时,可以忽略 JSON 数组 [] 标签

字段

enabled

启用 UDP over TCP 协议。

version

协议版本,1 或者 2

默认使用协议版本 2

支持的程序

项目UoT v1UoT v2
sing-boxv0 (2022/08/11)v1.2-beta9
Xray-corev1.5.7 (2022/06/05)f57ec13
Clash.Metav1.12.0 (2022/07/02)8cb67b6
Shadowrocketv2.2.12 (2022/08/13)/

协议细节

版本 1

客户端向上层代理协议请求魔法地址 sp.udp-over-tcp.arpa 来表示请求。

流格式

ATYPaddressportlengthdata
u8variableu16beu16bevariable

ATYP / address / port: 请求目标地址,使用 SOCKS 地址格式。

版本 2

协议版本 2 使用一个新的魔法地址:sp.v2.udp-over-tcp.arpa

请求格式

isConnectATYPaddressport
u8u8variableu16be

isConnect: 设置为 1 表示数据使用连接流格式,设置为 0 表示使用无连接格式。

ATYP / address / port: 请求目标地址,使用 SOCKS 地址格式。

连接流格式

lengthdata
u16bevariable

无连接流格式

与协议版本 1 中的数据流格式相同。