本地配置工具
VMess 转 Clash / Mihomo YAML
解码 v2rayN 导出的 base64 JSON 负载,包含 alterId 与加密方式。
链接只留在这台设备上
转换完全在浏览器中进行,不会上传、保存链接,也不会把链接写入页面地址。
转换结果
为什么有些链接会被拒绝
如果一个参数无法在不改变连接行为的前提下映射过去,工具会明确报错,而不是悄悄丢掉。对 Mihomo 配置来说,这包括证书锁定、TUIC v4 的 token,以及加在 QUIC 系协议上的 uTLS 指纹——QUIC 握手根本没地方放它。一份被静默削弱的配置,比一行被拒绝的链接更危险。
如何导入 Clash Verge Rev
订阅 → 新建 Local 本地配置 → 选择下载的 YAML 文件。Clash Verge Rev、Mihomo、ClashX Meta 读的是同一份文件;原版 Clash 和 Clash Premium 不行。
VMess 转换成 Clash 的字段映射规则
左边是 VMess 链接里的写法,右边是它在 Clash 配置里对应的字段;无法映射的会明确报错。
| 链接里的写法 | Clash 配置里的字段 | 说明 |
|---|---|---|
id | uuid | vmess:// 是 base64 编码的 JSON,这里列的是它的字段名,不是 URL 参数。 |
add / port | server / port | port 写成字符串或数字都接受——不同客户端导出的写法不一样。 |
aid | alterId | alterId 非 0 会给出提示:那条路径走的是已经被移除的 MD5 认证。 |
scy | cipher | 支持 auto、aes-128-gcm、chacha20-poly1305、none、zero。 |
ps | name | 节点名。字段为空时回落成 server:port。 |
tls: "tls" + sni | tls: true + servername | VMess 和 VLESS 在三家里的写法一致:servername、server_name、serverName。 |
fp / alpn | client-fingerprint / alpn | 负载里没写 fp 时默认 chrome。 |
net=ws + path / host | network: ws + ws-opts | 这是 v2rayN 导出得最多的一种组合。 |
net=grpc / httpupgrade | network: grpc / ws + v2ray-http-upgrade | Mihomo 把 HTTPUpgrade 折进 WebSocket,另外两家给了它独立类型。 |
net=h2 / net=http | network: h2 + h2-opts | Xray 已经移除 HTTP/2 传输,所以输出 Xray 时这一行会被拒绝,而不是改写成 XHTTP——那在链路上是另一种协议。 |
net=xhttp | network: xhttp + xhttp-opts | sing-box 没有 XHTTP 传输方式,这一行会被拒绝,而不是降级成别的传输。 |
type (header obfuscation, e.g. "http") | 拒绝并报错 | 除 none 以外的伪装头在三种目标格式里都没有等价物。 |
常见问题
- VMess 转成 Clash 之后要用哪个客户端?
- 用 Clash Verge Rev、Mihomo(Clash.Meta)或 ClashX Meta。原版 Clash 认识这个协议,但不认这份配置里的 Mihomo 专有字段,比如 xhttp-opts 和 reality-opts。
- 这个 VMess 转换器免费吗?会不会上传我的节点链接?
- 完全免费,也不需要登录。转换是这个页面里的 JavaScript 在你自己的浏览器里做的,链接不会上传服务器、不会写进页面地址、也不做任何存储——关掉标签页就没了。
- 可以直接把订阅链接转成 Clash 吗?
- 可以,但要粘贴订阅地址返回的内容(通常是一长串 base64),而不是订阅地址本身——浏览器受同源策略限制,拿不到订阅的内容。一份订阅里混合多种协议也没问题。 订阅链接转 Clash
- VMess 转换成 Clash 之后连不上是什么原因?
- 这里做的只是把链接翻译成配置,校验的是配置结构,不检测服务器能否连通。先确认同一条链接在原客户端可用,再看客户端版本——XHTTP 传输需要 Mihomo 1.19 以上。
这里生成的是一次性本地配置,不是自动更新的订阅;工具只检查配置结构,不检测服务器能否连接。