VMess 是什么
VMess 是 V2Ray 最早的加密传输协议。本页说明它的工作方式、vmess:// 分享链接为什么是 base64 编码的 JSON、各字段的含义,以及它和 VLESS 的区别。
VMess 是什么
VMess 是 V2Ray 项目设计的加密代理协议。客户端和服务器共用一个用户 ID(UUID),每个请求都带有基于时间的认证信息,所以两端时间不能差太多。
- 认证:
id,可以是 UUID,也可以是 30 字节以内的字符串(Xray 会映射成 UUID)。 - 加密:协议自带,
security可选auto、aes-128-gcm、chacha20-poly1305等。 - 时间要求:Xray 文档:「VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在 120 秒之内,时区无关。」
- 传输:可以跑在 TCP、WebSocket、gRPC、HTTPUpgrade 等传输上,常和 TLS 一起用。
vmess:// 链接格式
vmess 链接有两种写法:
- 常见写法(base64 JSON):
vmess://后面是一段 base64,解码后是这样的 JSON(占位值;字段说明来自 v2rayN wiki 的 VMess 分享链接说明):
{
"v": "2",
"ps": "节点名称",
"add": "[服务器地址]",
"port": "443",
"id": "your-uuid",
"aid": "0",
"scy": "auto",
"net": "ws",
"host": "example.com",
"path": "/path",
"tls": "tls",
"sni": "example.com"
}
| 字段 | 含义 |
|---|---|
ps |
节点名称 |
add、port |
服务器地址和端口 |
id |
用户 ID(UUID) |
aid |
alterId,现在一般是 0 |
scy |
加密方式,一般 auto |
net |
传输方式:tcp、ws、grpc 等 |
host、path |
WebSocket 等传输的 Host 和路径 |
tls、sni |
是否启用 TLS 及服务器名称 |
- URL 写法:和 vless:// 相同的格式(
vmess://uuid@地址:端口?type=ws&security=tls...),来自 Xray-core 的分享链接标准提案,部分客户端支持。
把链接粘贴到 节点链接解析 可以看到解码后的字段,解析在浏览器本地完成。
在客户端里使用
- v2rayN:「配置项」→「从剪贴板导入分享链接」。
- v2rayNG:「从剪贴板导入」或「扫描二维码」。
- 手动添加:v2rayNG 有「添加 [VMess]」,按上表填写。
VMess 和 VLESS 的区别
| VMess | VLESS | |
|---|---|---|
| 加密 | 协议自带 | 交给 TLS / Reality(或 Xray 的 VLESS Encryption) |
| 依赖系统时间 | 是(误差 120 秒内) | 否 |
| Reality、XTLS Vision | 不支持 | 支持(Xray) |
| v2fly 内核 | 支持 | 已弃用 |
VMess 和 VLESS 选哪个?
服务商给什么就用什么,客户端都支持。VLESS 不依赖系统时间,可以用 Reality 和 XTLS Vision;VMess 自带加密,常见于 WebSocket + TLS 的旧节点。对比见 VLESS 是什么。
VMess 节点总是连不上,时间有关系吗?
有。VMess 要求两端 UTC 时间误差在 120 秒以内。把电脑或手机的时间设为「自动同步」,时区设对即可;只改时区不会影响 UTC 时间。
alterId 填多少?
填服务商给的值,现在基本都是 0。按 mihomo 文档,alterId 不为 0 时会启用旧版协议。
security(加密方式)选什么?
一般选 auto。Xray 文档说明 auto 在 AMD64、ARM64 等平台用 AES-128-GCM,其他平台用 ChaCha20-Poly1305。
vmess 链接能转成 Clash 吗?
能。mihomo(Clash Meta)支持 VMess,字段对应关系见 vmess 转 Clash,也可以用 节点链接解析 在本地转换。