代理协议独立百科词条存量基石

VMess

首创底层传输解耦 · 现代多路复用先驱 · 经典长青协议

由 Victoria Raymond 于 2015 年设计并作为 Project V / V2Ray 的核心加密协议推出[1]。 开创性地将代理认证逻辑与底层物理传输通道(TCP、mKCP、WebSocket、HTTP/2 等)彻底解耦[2]。 历经多代演化,通过引入强制 AEAD 认证与废除 AlterID 消除历史安全短板, 是 2017–2022 年间部署最广泛的翻墙协议之一。

核心作者Victoria Raymond
正式发布2015.11.04
架构突破协议与传输层彻底解耦
演进关键废除 AlterID · 强制 AEAD

日期辨析:2015 年 11 月正式发布 vs 2020 年 AEAD 强制升级

项目创建与初始构想2015.08.28

Victoria Raymond 在 GitHub 提交 V2Ray 首个 commit,提出多协议聚合与底层传输解耦的全新代理架构。

正式发布 · v1.0.0 首个稳定版2015.11.04

V2Ray v1.0.0 官方正式发布,VMess 作为其原生标志性代理协议登场,奠定现代翻墙多传输时代的基础。

AEAD 革命与废除 AlterID2020.06.01

针对 GFW 主动探测,v4.23.4 引入强制 AEAD 认证头部,彻底淘汰历史脆弱的 AlterID 机制。

编写口径:本条目严格梳理了 VMess 从初创发布、WebSocket 组合爆发到 2020 年强制 AEAD 升级的重要节点,全部附带 GitHub 官方版本出处。

词条概览与核心定位

01

在 Shadowsocks 之后,GFW 开始通过针对单一端口和 IP 的持续通信分析推断代理行为。 Victoria Raymond 发起 Project V 的核心初衷,是将代理工具从单一功能的“中继器”升级为可任意自由组合的多层次网络框架。

VMess 作为这一框架的原生协议,最大的创新在于「传输层与协议层解耦」: VMess 本身只负责用户身份认证(UUID)、时钟防重放校验与数据指令打包, 而外部可以使用任何标准的传输协议来承载(例如 TCP 原始流、伪装成视频推流的 mKCP、或者与 Nginx 配合的 WebSocket + TLS)。 在 2017 到 2021 年的数次封锁潮中,“VMess + WS + TLS + CDN”一度成为无数用户防失联的最稳固防线。

定位结论

VMess 是现代代理技术演进史上承前启后的多传输组合集大成者。 虽然新部署建议优先考虑更轻量的 VLESS REALITY 或 XHTTP,但 VMess 凭借极度完善的客户端支持与海量存量节点,依然是全网不可或缺的基石。

多传输解耦与 AEAD 原理

02
1. 用户 UUID 认证与 AEAD 头部加密层采用 16 字节 UUID 进行身份识别,结合 UTC 绝对时间戳防御重放攻击; 现代规范强制使用 AEAD 头部加密,彻底消除了旧版基于散列值主动探测的安全隐患。
2. 可插拔多协议传输封装层(Pluggable Transport)原生支持 TCP、WebSocket、HTTP/2、gRPC 及 mKCP; 将 VMess 密文完全伪装成常规的 Web 流量或媒体数据包,赋予极其灵活的抗审查通道。
3. 内部多路复用与路由分流层(Mux.Cool + Routing)支持客户端在单条物理连接内并发聚合多个 TCP 代理流,降低频繁握手延迟; 结合路由规则实现海量域名与 IP 的智能国内直连与分流。

VMess AEAD 握手与请求认证

  1. 计算基于时间戳与 UUID 的认证 Auth ID利用用户 UUID 与当前 UTC 时间戳计算 16 字节认证散列,服务端核验是否在 ±90 秒误差窗口内。
  2. AEAD 头部解密与指令解析使用派生出的密钥解密包含版本号、对称加密套件、目标地址与校验码的指令头。
  3. 服务端响应头部确认服务端生成动态响应头回传客户端,双方完成双向身份相互认证。
  4. 全双工密文分块传输后续所有代理数据均通过协商出的对称算法(如 AES-128-GCM / Chacha20-Poly1305)分块传递。

为什么废除了 AlterID?

早期 VMess 使用 AlterID 派生伪装 ID 抗探针,但被证实算法安全性不足且大幅增加内存开销; 2020 年引入 AEAD 后,数学加密强度已无可挑剔,官方全面将 AlterID 废除并置为 0。

精确到日的核验时间线(9 个关键节点)

03

所有节点均依据 GitHub 官方 Releases 发行注记与上游代码提交核验:

开创新局从 Project V 到多传输解耦协议(2015–2017)

Victoria Raymond 提交 V2Ray 第一个 Git Commit

在 Shadowsocks 作者删库后的艰难时期,Victoria Raymond 发起 Project V 并设计了全新的 VMess 协议。

核验来源:V2Ray Initial Commit
历史发布里程碑

V2Ray v1.0.0 稳定版正式发布

V2Ray 首个稳定版登场!VMess 协议正式定型,确立了基于 UUID 认证、时间戳防重放与自定义认证头的整体架构。

核验来源:V2Ray v1.0.0 Release

发布 V2Ray v2.0.0:引入 mKCP 传输加速

针对高丢包网络,将 KCP 协议移植到 Go 并封装为 mKCP 传输层,使用户无需购买单边加速工具即可体验高速 UDP 代理。

核验来源:V2Ray v2.0.0 Release

发布 V2Ray v2.41.0:WebSocket + TLS 时代开启

正式将 WebSocket 作为底层传输管道,搭配 TLS 与真实 Web 服务器,成为随后数年间抗封锁最主流的配置黄金范式。

核验来源:V2Ray v2.41.0 Release
黄金时代全生态普及与规则路由体系确立(2018–2019)

发布 V2Ray v3.0.0:重构复杂路由树

优化多出站路由分流匹配引擎,使分流规则处理数十万条域名与 IP 列表时的匹配速度提升数倍。

核验来源:V2Ray v3.0.0 Release

发布 V2Ray v4.0.0 长期维护版

确立了统治随后数年的标准化 JSON 配置模型(入站 inbounds、出站 outbounds、路由 routing),VMess 成为机场行业绝对主流。

核验来源:V2Ray v4.0.0 Release
安全升级引入 AEAD、废除 AlterID 与现代过渡(2020–2026)

发布 V2Ray v4.23.4:引入 VMess AEAD 头部加密

针对学术界与开源社区披露的旧版 VMess 头部被动特征漏洞,紧急推出基于 AEAD 的握手认证机制,开始淘汰 AlterID。

核验来源:V2Ray v4.23.4 Release

官方强制启用 VMess AEAD,废除 AlterID

正式将 AlterID = 0 作为强制标准,任何旧版不安全的 VMess 握手均会被服务端直接拒连,消除了历史安全包袱。

十年坚守:多传输协议集大成者

尽管 VLESS、REALITY 及 Hysteria 2 承接了现代主流直连,VMess 依然作为各大商业服务中覆盖率极高的存量基石稳定运行。

生态实现与客户端兼容性

04

VMess 是全球范围内受支持程度最广的现代复杂协议,享有几乎 100% 的客户端普及率:

软件 / 内核类型支持平台支持级别起始版本发布日期特性支持与备注
V2Ray (v2fly/v2ray-core)核心内核全平台 (Linux / macOS / Windows / BSD)官方参考实现v1.0.02015.11.04VMess 发源母体,提供最标准的协议实现、复杂路由分流与多传输层适配器支持。
Xray-core核心内核全平台 (Linux / Android / macOS / Windows)完整原生支持v1.0.02020.11.29Project X 超高性能内核,针对 VMess AEAD 性能进行优化,提供更低的内存常驻与极速转发。
sing-box核心内核全平台 (Linux / Android / iOS / macOS / Windows)完整原生支持v1.0.02022.03.18SagerNet 团队原生接入 VMess 协议栈,全面支持 TCP、WebSocket 及 gRPC 等多种出站组合。
Mihomo (Clash.Meta) / Clash核心内核全平台 (Linux / Android / macOS / Windows)完整原生支持全系主流版本2018.11.10Clash 生态全面完美支持 VMess 各类节点配置(包括 WS、TLS、gRPC 以及 AEAD 参数)。
Shadowrocket / Quantumult X / Loon客户端iOS / macOS出站客户端支持全系全版本2017.06.10各大苹果生态代理软件深度支持 VMess 订阅格式导入,具备 100% 普遍兼容性。
v2rayN / NekoBox客户端Windows / Android出站客户端支持全系全版本2018.05.20基于主流核心编译,提供可视化的 VMess UUID、AlterID 及传输流编辑界面。

适用场景与网络边界限制

05

最推荐使用场景:

  • 存量机场节点兼容:各商业机场长期维护的万能保底节点,绝大多数老版本客户端无需更新即可直接畅连。
  • 配合 WebSocket + TLS + CDN:成熟稳定、技术方案成熟的大众化 CDN 救砖配置。
  • 多出站复杂路由代理链:在软路由或服务器上作为聚合网关节点使用。

不适用或受限场景:

  • 客户端系统时间偏差过大:若手机或电脑系统时间与标准 UTC 时间相差超过 90 秒,握手认证将全部报错失败。
  • 追求极致低延迟与低服务器开销:由于自身包含两层加密(VMess 内部对称加密 + 外层 TLS 加密),性能略逊于 VLESS。

时钟同步要求、AlterID 废除与局限性

06

1. 必须确保 NTP 时钟同步:VMess 的防重放机制深度依赖系统时钟。自建 VPS 服务端与用户客户端务必配置自动网络授时(NTP)。

2. 客户端配置务必将 AlterID 设为 0:旧版客户端默认填写的 `alterId: 64` 会强制兼容旧版伪装握手;现代所有新配置均应当填写 `alterId: 0`, 以强制启用最安全的 VMess AEAD 认证算法。

文献引注与第一手资料出处

07

百科词条中所有架构数据、算法定义及发布时间均以官方公开发行物为基准:

包含 VMess 协议官方实现代码、历史发行注记及 AEAD 升级说明。

https://github.com/v2fly/v2ray-core

Victoria Raymond 编写的 VMess 协议数据包格式、握手流程与认证定义。

https://www.v2fly.org/developer/protocols/vmess.html

通用代理内核对 VMess 协议的配置定义与各类底层传输层说明。

https://sing-box.sagernet.org/configuration/inbound/vmess/

VMess 协议采用的 16 字节通用唯一识别码用户认证规范。

https://datatracker.ietf.org/doc/html/rfc4122

现代核心关于 VMess 强制 AEAD 模式与移除旧版 AlterID 的详细说明。

https://xtls.github.io/config/protocols/vmess.html