82 lines
1.8 KiB
Markdown
82 lines
1.8 KiB
Markdown
!!! warning ""
|
||
|
||
这是 SagerNet 创建的专有协议,不是 shadowsocks 的一部分。
|
||
|
||
UDP over TCP 协议用于在 TCP 中传输 UDP 数据包。
|
||
|
||
### 结构
|
||
|
||
```json
|
||
{
|
||
"enabled": true,
|
||
"version": 2
|
||
}
|
||
```
|
||
|
||
!!! info ""
|
||
|
||
当不指定版本时,结构可以用布尔值替换。
|
||
|
||
### 字段
|
||
|
||
#### enabled
|
||
|
||
启用 UDP over TCP 协议。
|
||
|
||
#### version
|
||
|
||
协议版本,`1` 或 `2`。
|
||
|
||
默认使用 2。
|
||
|
||
### 应用程序支持
|
||
|
||
| 项目 | UoT v1 | UoT v2 |
|
||
|--------------|----------------------|----------------------|
|
||
| sing-box | v0 (2022/08/11) | v1.2-beta9 |
|
||
| Clash.Meta | v1.12.0 (2022/07/02) | v1.14.3 (2023/03/31) |
|
||
| Shadowrocket | v2.2.12 (2022/08/13) | / |
|
||
|
||
### 协议详情
|
||
|
||
#### 协议版本 1
|
||
|
||
客户端向上层代理协议请求魔法地址以表示请求:`sp.udp-over-tcp.arpa`
|
||
|
||
#### 流格式
|
||
|
||
| ATYP | 地址 | 端口 | 长度 | 数据 |
|
||
|------|----------|-------|--------|----------|
|
||
| u8 | 可变长 | u16be | u16be | 可变长 |
|
||
|
||
**ATYP / 地址 / 端口**:使用 SOCKS 地址格式,但使用不同的地址类型:
|
||
|
||
| ATYP | 地址类型 |
|
||
|--------|-----------|
|
||
| `0x00` | IPv4 地址 |
|
||
| `0x01` | IPv6 地址 |
|
||
| `0x02` | 域名 |
|
||
|
||
#### 协议版本 2
|
||
|
||
协议版本 2 使用新的魔法地址:`sp.v2.udp-over-tcp.arpa`
|
||
|
||
##### 请求格式
|
||
|
||
| isConnect | ATYP | 地址 | 端口 |
|
||
|-----------|------|----------|-------|
|
||
| u8 | u8 | 可变长 | u16be |
|
||
|
||
**isConnect**:设置为 1 表示流使用连接格式,0 表示禁用。
|
||
|
||
**ATYP / 地址 / 端口**:请求目标,使用 SOCKS 地址格式。
|
||
|
||
##### 连接流格式
|
||
|
||
| 长度 | 数据 |
|
||
|--------|----------|
|
||
| u16be | 可变长 |
|
||
|
||
##### 非连接流格式
|
||
|
||
与协议版本 1 中的流格式相同。 |