VMess 设计
摘要
数据请求
- 1 字节:版本号,目前为 0x1
 
- 16 字节:md5(用户 VID + 'ASK')
 
- 1 字节:余下字节数 L
 
- 1 字节:随机填充长度 M (M <= 32)
 
- M 字节:随机填充内容
 
- 32 字节:应答所使用的 AES Key AK
 
- 1 字节:保留
 
- X 字节:实际请求内容
- 16 字节:IV
 
- 1 字节:指令
 
- 0x0:保留
 
- 0x1:TCP 请求
 
- 0x2:UDP 请求
 
- 2 字节:目标端口
 
- 1 字节:目标类型
 
- 0x01:IPv4
 
- 0x02:域名
 
- 0x03:IPv6
 
- 目标地址:
 
- 4 字节:IPv4
 
- 2 字节长度 + 域名
 
- 16 字节:IPv6
 
- 4 字节:请求长度 N
 
- N 字节:请求数据
 
 
其中第 18 字节开始所有内容经过 AES-256 加密,Key 为 left(用户 VID, 32)。
数据应答
- 1 字节:版本号,目前为 0x1
 
- 16 字节:md5(用户 VID + 'ANS')
 
- 1 字节:余下字节数 L
 
- L 字节
- 16 字节:IV
 
- 1 字节:数据长度
 
- N 字节:应答数据
 
 
其中第 18 字节开始所有内容经过 AES-256 加密,Key 为 AK。