Update muxcool.md

pull/326/head
yuhan6665 2 years ago committed by GitHub
parent 12ec48305d
commit b9a1461700
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -47,21 +47,23 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
### 元数据 ### 元数据
元数据有若干种类型,由状态 S 来区分。所有类型的元数据都包含 ID 和 Opt 两项,其含义为: 元数据有若干种类型。所有类型的元数据都包含 ID 和 Opt 两项,其含义为:
- ID: 子连接的唯一标识 - ID: 子连接的唯一标识
- 对于一般 MUX 子链接ID 由 1 开始累加
- 对于 XUDPID 始终为 0
- Opt: - Opt:
- D(0x01): 有额外数据 - D(0x01): 有额外数据
当选项 Opt(D) 开启时,额外数据格式如下: 当选项 Opt(D) 开启时,额外数据格式如下:
| 2 字节 | L 字节 | | 2 字节 | X-2 字节 |
| ------ | ------ | | ------ | ------ |
| 长度 L | 数据 | | 长度 X-2 | 数据 |
### 新建子连接 (New) ### 新建子连接 (New)
| 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | X 字节 | | 2 字节 | 1 字节 | 1 字节 | 1 字节 | 2 字节 | 1 字节 | A 字节 |
| ------ | ------ | -------- | ---------- | ------ | ---------- | ------ | | ------ | ------ | -------- | ---------- | ------ | ---------- | ------ |
| ID | 0x01 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A | | ID | 0x01 | 选项 Opt | 网络类型 N | 端口 | 地址类型 T | 地址 A |
@ -88,6 +90,7 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
| ID | 0x02 | 选项 Opt | | ID | 0x02 | 选项 Opt |
在保持子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。 在保持子连接时,若 Opt(D) 开启,则这一帧所带的数据需要被发往目标主机。
XUDP 在 Opt(D) 之后加 UDP 地址,格式同新建子链接
### 关闭子连接 (End) ### 关闭子连接 (End)
@ -113,4 +116,4 @@ Mux.Cool 使用对称传输格式,即客户端和服务器发送和接收相
Mux.Cool 协议与底层协议无关,理论上可以使用任何可靠的流式连接来传输 Mux.Cool 的协议数据。 Mux.Cool 协议与底层协议无关,理论上可以使用任何可靠的流式连接来传输 Mux.Cool 的协议数据。
在目标导向的协议如 Shadowsocks 和 VMess 协议中,连接建立时必须包含一个指定的地址。 在目标导向的协议如 Shadowsocks 和 VMess 协议中,连接建立时必须包含一个指定的地址。
为了保持兼容性Mux.Cool 协议指定地址为“v1.mux.cool”。即当主连接的目标地址与之匹配时则进行 Mux.Cool 方式的转发,否则按传统方式进行转发。 为了保持兼容性Mux.Cool 协议指定地址为“v1.mux.cool”。即当主连接的目标地址与之匹配时则进行 Mux.Cool 方式的转发,否则按传统方式进行转发。这是一个程序内的标记VMess 和 VLESS 并不会发送“v1.mux.cool”地址

Loading…
Cancel
Save