VMess 协议是什么?VMess 节点与 V2Ray 的关系

先说结论

VMess 协议是 V2Ray 项目原生的加密传输协议,用 UUID 标识用户,无需先握手,但依赖两端系统时间接近。节点连不上时,先查时间和协议是否匹配。

VMess 资料卡核验于 2026-10-09

来历
V2Ray(Project V)的原生加密通信协议;V2Fly 开发者文档称它是 V2Ray 的原始加密协议。实现与文档见 github.com/v2fly/v2ray-core 和 www.v2fly.org,Xray 文档(xtls.github.io)也收录该协议。官方页面未写明首次提出的个人与时间。
传输与加密
基于 TCP;协议头认证有 AEAD 与旧的 MD5 两种,MD5 已标注弃用;数据加密可选 aes-128-gcm、chacha20-poly1305,默认 auto。依赖系统时间,两端时间误差需很小。
官方文档写明支持的内核
V2Fly v2ray-core、Xray-core、sing-box、Mihomo

站内收录的客户端里,文档写明支持 VMess 的

完整对照见协议 × 客户端支持矩阵。

这张卡片的资料来源(7 条)
  1. VMess 是 V2Ray 的原始加密通信协议;头部认证有 AEAD 与 MD5 两种,MD5 已弃用;基于 TCP;VMess 是无状态协议,无需握手即可传输(www.v2fly.org)
  2. VMess 依赖系统时间,UTC 时间误差需在 90 秒内;客户端 AlterID 为 0 即启用 VMessAEAD;加密方式支持 auto/none/zero/aes-128-gcm/chacha20-poly1305(www.v2fly.org)
  3. VMess 是加密传输协议,通常作为 Xray 客户端和服务端的桥梁;时间需在 120 秒内;id 可为 UUID 或不足 30 字节的自定义字符串;auto 的选择规则(xtls.github.io)
  4. 协议与传输方式兼容表中 VMess 对各传输方式均为 Supported;脚注称 VMess/Shadowsocks 缺少 TLS 1.3 式前向保密且流量模式仍可被分类(xtls.github.io)
  5. v2fly/v2ray-core 仓库 README 将 Project V 描述为一组网络工具(raw.githubusercontent.com)
  6. sing-box 文档含 VMess 出站,支持 security、alter_id、transport 等字段(sing-box.sagernet.org)
  7. Mihomo 文档含 vmess 代理类型,network 支持 ws/http/h2/grpc/mkcp/mekya(wiki.metacubex.one)

节点列表里 vmess:// 开头的那一类,用的就是 VMess 协议,也就是 V2Ray 项目原生的加密传输协议。它出现得早,旧教程里常拿它举例,所以你很可能在订阅里遇到它。弄懂它有三件事要做:知道它和 V2Ray、Xray 是什么关系,知道它为什么对系统时间敏感,知道节点链接转成别的配置时要核对哪些字段。下面按官方文档逐项说明。

VMess 协议是什么:V2Ray 原生的加密传输协议

V2Fly 开发者文档把 VMess 称为 V2Ray 的原始加密通信协议。V2Ray 属于 Project V,代码仓库是 v2fly/v2ray-core,文档站是 V2Fly 文档;Xray 的文档里同样收录了 VMess。你如果想先理清 V2Ray、Xray 和各种客户端之间的关系,可以读 V2Ray 是什么,再看 Xray-core 档案。

放进日常使用的语境里,这几句话就够了:

  • 协议分入站和出站两部分,通常作为 V2Ray 或 Xray 客户端与服务端之间的通道。
  • 用户用 UUID 标识:客户端发起请求,服务端校验后转发。
  • 官方页面没有写明 VMess 最初由谁在什么时候提出,这部分资料待核实,梯子岛不去补。

所以 vmess是什么这个问题,最短的回答是:一种 V2Ray 系的、自带加密的代理协议。它不是客户端,也不是订阅格式,客户端或内核读到 VMess 节点,才会按这套协议去连。

无状态、UUID 与系统时间:VMess 协议的三个设计特点

特点 文档怎么说 日常含义
无状态 客户端和服务端不必先握手即可传输数据,每次传输互不影响(V2Fly 开发者文档) 协议本身没有单独的握手步骤,排查时重点放在时间和字段上
UUID 标识用户 用户 ID 是 UUID;Xray 还允许写一段不超过 30 字节的自定义字符串,由它映射成 UUID 节点里的 id 通常是一串 UUID,复制时别带上空格
依赖系统时间 V2Fly 文档要求系统 UTC 时间与真实时间相差在 90 秒内,Xray 文档写的是 120 秒内 设备时间不准,节点没问题也连不上
传输层 V2Fly 开发者文档按 TCP 描述;Xray 兼容表显示可以和多种传输方式组合 实际用哪种传输,以节点配置为准

两份文档给出的时间容差不一样,说明这个数字不宜当成固定值去背。可靠的做法是让设备的日期、时间和时区都处于自动同步状态,而不是靠手动调到“差不多”。

加密与认证:AEAD、MD5 弃用和 auto 的选择规则

VMess 的加密可以拆成两件事:协议头怎么认证,数据怎么加密。

项目 选项 说明
协议头认证 AEAD、旧的 MD5 MD5 方式已被标注弃用,文档要求改用 AEAD
AlterID 客户端设为 0 V2Fly 配置页写明 AlterID 为 0 即启用 VMessAEAD
数据加密 aes-128-gcm、chacha20-poly1305,默认 auto V2Fly 配置页另列有 none、zero 两个取值
auto 的规则 按运行平台选择 Xray 文档:AMD64、ARM64、s390x 用 aes-128-gcm,其他平台用 chacha20-poly1305

旧教程里的 AlterID 填法往往和现在的文档不一致。拿到教程时,先对照当前的 V2Fly VMess 配置页 看一眼,再决定要不要照填。

还有一点要老实说:Xray 文档的脚注指出,VMess 与 Shadowsocks 都保护了载荷,但没有 TLS 1.3 那样的前向保密,流量模式仍可能被归类。这条是文档的说明,梯子岛没有测试数据,不对其程度下判断。

VMess 节点链接里有什么,vmess转clash 要核对哪几项

一个 VMess 节点,从协议和各内核的配置文档倒推,至少包含这些信息:服务器地址与端口、UUID、加密方式、AlterID,以及传输方式和它的子参数。sing-box 的 VMess 出站有 security、alter_id 和 transport 字段,Mihomo 的 vmess 代理类型则通过 network 选择 ws、http、h2、grpc 等传输。链接里每一段的含义,在 节点链接怎么读 里逐项解释;词典里的 节点链接 URI 解释了 vmess:// 这类写法为什么存在。

如果你搜索 vmess转clash,要做的其实是同一件事:把链接里的字段映射成 Mihomo 配置里的字段。转完之后建议对照下面的清单,一项项核对:

  1. UUID 是否完整,没有被截断或多出空格。
  2. AlterID 是否为 0,对照上一节的说明。
  3. 加密方式是否保留,没有被转换工具悄悄改成别的值。
  4. 传输方式(ws、grpc 等)和它的路径、主机名之类的子参数是否都还在。
  5. TLS 相关设置是否随链接一起带过来。

转换的完整做法放在 vmess 转 Clash 里。用在线转换站要小心订阅链接外泄,先读 订阅转换怎么做才安全,需要工具时可以去 节点转换工具。

哪些内核支持 VMess,传输方式怎么搭配

内核 文档里怎么提到 VMess 要留意什么
V2Fly v2ray-core 有开发者协议页和中文配置页 英文版配置页显示“文档缺失”,查资料请看中文版
Xray-core 有 VMess 出站文档 时间容差写的是 120 秒;id 可写不足 30 字节的自定义字符串
sing-box 有 VMess 出站文档 支持 security、alter_id、transport 等字段
Mihomo 有 vmess 代理类型 network 支持 ws、http、h2、grpc 等

Xray 的协议与传输方式兼容表显示,VMess 可以与 raw、xhttp、grpc、websocket、httpupgrade、mkcp 等传输方式组合。这些传输方式各自是什么,放在 传输方式有哪些 里统一讲,本文不重复。具体到某款客户端支不支持、界面里有没有对应选项,以 协议支持矩阵 和各客户端档案页为准。

VMess 与 VLESS:取舍看哪几点

VLESS 同样用 UUID 认证,但按 Xray 文档,它不依赖系统时间,协议本身默认不加密,要放在 TLS 或 REALITY 之上使用。两者在文档层面的差别可以这样对照:

对比项 VMess VLESS
认证标识 UUID UUID
对系统时间的依赖 依赖 不依赖(Xray 文档)
自带数据加密 有,aes-128-gcm、chacha20-poly1305 等 默认没有,需要外层 TLS 或 REALITY
在 V2Fly 内核里的状态 原生协议 V2Fly 文档注明其中的 VLESS 已弃用且可能被移除

最后一行只针对 V2Fly 内核的实现,Xray、sing-box、Mihomo 的 VLESS 不受这句话约束。选哪个不能靠名气,而要看你的客户端和节点实际提供什么,详细对照见 VLESS 与 VMess 的区别,VLESS 本身的资料在 VLESS 协议。

VMess 节点连不上时,先按这个顺序自查

VMess 连不上时,值得先查的两个方向是时间和字段,这是从协议设计推出来的排查顺序,不是梯子岛的统计结论。可以按下面顺序:

  1. 把设备的日期、时间和时区设为自动同步,然后重新连接。
  2. 打开节点详情,确认协议类型是 VMess,UUID 完整。
  3. 确认 AlterID 与加密方式和当前文档、节点说明一致。
  4. 确认传输方式和它的子参数没有在导入或转换时丢失。
  5. 确认客户端所用内核在上一节的表里。
  6. 仍然不通,就读 梯子连不上怎么办,证书类报错看 证书错误与系统时间不对怎么办。

下一步该去哪

VMess 不是“过时”或“必选”的二选一,它是一个仍在文档里、仍被多个内核支持的协议。选不选它,看你的客户端和节点。

这篇没有覆盖的

  • 梯子岛没有测过这里提到的线路,使用感受请以你自己的网络为准。
  • 官方页面没有写明 VMess 最初由谁在何时提出,这部分资料待核实,本文不下结论。
  • 本文只讲客户端一侧的认识,不涉及服务端搭建,也不评价具体节点是否可靠。

本文引用的官方来源

  1. V2Fly:VMess 协议详解(开发者文档)(www.v2fly.org)
  2. V2Fly:VMess 配置(中文)(www.v2fly.org)
  3. Xray 文档:VMess(xtls.github.io)
  4. sing-box 文档:VMess(sing-box.sagernet.org)
  5. Mihomo 文档:VMess(wiki.metacubex.one)

以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。

VMess 协议常见问题

VMess 是什么协议?

VMess 是 V2Ray 项目原生的加密传输协议,V2Fly 开发者文档称它是 V2Ray 的原始加密协议。它分入站和出站两部分,通常作为 V2Ray 或 Xray 客户端与服务端之间的通道,用 UUID 标识用户,不需要先握手就能传输数据。

VMess 为什么要求校准系统时间?

因为 VMess 的认证依赖时间。V2Fly 文档要求系统 UTC 时间与真实时间相差在 90 秒内,Xray 文档写的是 120 秒内。设备时间偏差过大时,节点本身没问题也会连不上,所以连不上时应先把时间调成自动同步。

VMess 和 V2Ray 是什么关系?

VMess 是 V2Ray 的原生协议,V2Ray 是 Project V 下的网络工具集合,实现和文档在 V2Fly 的仓库与站点。Xray 的文档也收录了 VMess,所以 V2Ray 系和 Xray 系的客户端通常都能处理这类节点,具体以客户端为准。

VMess 节点能转成 Clash 配置吗?

Mihomo 的文档里有 vmess 代理类型,支持 ws、http、h2、grpc 等传输,所以链接里的信息通常可以对应到配置里。转换时要核对 UUID、AlterID、加密方式和传输参数是否完整,转换结果也无法保证一次成功,需要导入后自己验证。

VMess 的 AlterID 要填多少?

按 V2Fly 配置页的说明,客户端把 AlterID 设为 0 即启用 VMessAEAD,旧的 MD5 认证方式已被标注弃用。如果你看到的教程要求填其他数值,请对照当前文档和节点提供方的说明再确认,不要直接照抄。

接着读

文中出现的术语

接下来去哪儿?

找官方入口去网址导航,想核对仓库和版本看GitHub 项目导航;需要现成的机场,机场目录收了 28 家的价格与线路资料,性价比机场、便宜机场、VPN 机场分别有专项页。