跳到正文
Clash 使用手册clash-meta.cc

CONFIGURATION / 配置阅读

读懂 vmess://:从 Base64 到 JSON 字段

先解码内容,再识别地址、端口、用户标识和传输设置。遇到解析错误时,优先检查复制是否完整以及字段格式。

为什么看不懂

VMess 链接长这样:

vmess://eyJ2IjoiMiIsInBzIjoi5rWL6K+VIiwiYWRkIjoiZXhhbXBsZS5jb20i...

vmess:// 后面整段是 Base64 编码。解码之后是一个 JSON:

{
  "v": "2",
  "ps": "香港 01",
  "add": "example.com",
  "port": "443",
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "example.com",
  "path": "/path",
  "tls": "tls",
  "sni": "example.com"
}

客户端导入时会自动解码,所以正常情况下你不需要手动做这件事。但排查问题时解码看一眼很有用。

字段含义

  • v —— 配置版本,现在都是 2
  • ps —— 节点备注名,显示用,不影响连接。
  • add —— 服务器地址,域名或 IP。
  • port —— 端口。
  • id —— 用户 UUID,认证凭据。
  • aid —— alterId。新配置基本都是 0。非 0 是旧版本的用法,现在已经不推荐了。
  • scy —— 加密方式,一般 auto
  • net —— 传输方式:tcpwsgrpch2
  • type —— 伪装类型,none 最常见。
  • host —— HTTP Host 头,走 CDN 时很重要。
  • path —— WebSocket 或 gRPC 的路径。
  • tls —— 是否启用 TLS,空字符串表示不启用。
  • sni —— TLS 握手的服务器名,不填时通常回退到 hostadd

导入失败怎么查

先手动解码看一眼

vmess:// 后面的部分复制出来,找个 Base64 解码工具解开。解不开就说明链接本身有问题 —— 多半是复制时被截断了,或者中间混入了空格和换行。

解码后如果 JSON 格式不完整(比如缺右括号),也是同样的问题。

几个高频的字段问题

  • aid 不是 0:旧配置遗留。现在的服务端多数只支持 aid=0,非 0 会握手失败。
  • 走 CDN 但 host 为空:用 CDN 中转时 host 必须填对,否则 CDN 不知道该转发到哪。
  • tls 开了但 sni 不对:证书校验会失败。
  • net=wspath 为空:服务端配了路径的话,这里必须对上。

Base64 的两种变体

标准 Base64 用 +/,URL-safe 变体用 -_。有些工具生成的链接用的是后者,个别老客户端解不了。遇到这种情况换个客户端试试。

常见问题

为什么 VMess 链接是乱码?
它是 Base64 编码的 JSON,不是乱码。客户端导入时会自动解码,你不需要手动处理。
aid 应该填几?
填 0。alterId 是旧版本的机制,现在的服务端基本都要求 aid=0,非 0 值会导致握手失败。
链接解码失败说明什么?
链接被截断了,或者复制时混入了空格、换行。重新完整复制一次。
走 CDN 的节点要注意什么?
host 字段必须填对,那是 CDN 用来判断转发目标的。path 也要和服务端配置一致。

相关页面

本站整理开源项目的下载与使用说明,与 Clash、Mihomo、Clash Verge Rev、FlClash 等项目没有隶属关系,也不转存任何安装包。 版本号、文件名、体积与系统要求以各项目官方发布页为准;本页数据的人工核对日期为 2026-09-01。