1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-13 15:56:18 -05:00
v2fly/spec/vmess.md
2015-09-05 17:48:38 +02:00

1.1 KiB
Raw Blame History

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保留
      • 0x1TCP 请求
      • 0x2UDP 请求
    • 2 字节:目标端口
    • 1 字节:目标类型
      • 0x01IPv4
      • 0x02域名
      • 0x03IPv6
    • 目标地址:
      • 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。