vmess.md 1.1 KB

VMess 设计

摘要

  • 版本:1

数据请求

  • 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。