v2wall

vmess 转 Clash

把 vmess:// 和 vless:// 节点链接转成 Clash / mihomo 格式的原理和步骤,哪些字段转不了,为什么不要把订阅交给来路不明的在线转换,以及自建转换的开源项目。

转换的原理

vmess:// 和 vless:// 是「分享链接」,一条链接就是一个节点;Clash / mihomo 用 YAML 配置文件,节点写在 proxies: 列表里。转换就是逐个字段对应过去。

下面以 mihomo 官方文档(wiki.metacubex.one)的字段为准。

vmess 链接 → Clash 节点

vmess 链接解码后的 JSON 字段(见 VMess 是什么)和 mihomo 字段的对应:

vmess JSON mihomo 说明
ps name 节点名称
add server 服务器地址
port port 端口
id uuid 用户 ID
aid alterId 一般为 0;不为 0 时 mihomo 启用旧版协议
scy cipher 一般 auto
net network ws、grpc、h2、http 等;tcp 可以不写
host、path ws-opts 的 headers.Host、path WebSocket 时
path(grpc) grpc-opts.grpc-service-name gRPC 时
tls tls: true
sni servername

转换结果示例(占位值):

proxies:
  - name: "vmess-节点"
    type: vmess
    server: "[服务器地址]"
    port: 443
    uuid: your-uuid
    alterId: 0
    cipher: auto
    udp: true
    tls: true
    servername: example.com
    network: ws
    ws-opts:
      path: /path
      headers:
        Host: example.com

vless 链接 → Clash 节点(mihomo)

vless 链接参数 mihomo 说明
@ 前的 UUID uuid
地址、端口 server、port
type network tcp、ws、grpc、http、h2、xhttp
security=tls / reality tls: true Reality 还要写 reality-opts
sni servername
fp client-fingerprint
pbk、sid reality-opts.public-key、short-id Reality 时
flow flow mihomo 只列出 xtls-rprx-vision
encryption encryption 不启用时 mihomo 写空字符串
# 后的名称 name

VLESS + Reality + Vision 的转换结果(占位值):

proxies:
  - name: "reality-节点"
    type: vless
    server: "[服务器地址]"
    port: 443
    uuid: your-uuid
    udp: true
    network: tcp
    tls: true
    flow: xtls-rprx-vision
    servername: www.example.com
    client-fingerprint: chrome
    reality-opts:
      public-key: your-public-key
      short-id: your-short-id
    encryption: ""

mihomo 文档提到,mihomo 的 xtls-rprx-vision 等同于 Xray 的 xtls-rprx-vision-udp443(不拦截 UDP 443)。

本地转换和自建转换

  • 单个节点:用 节点链接解析,粘贴链接后「复制为 Clash/mihomo 节点片段」。解析在浏览器本地完成,不发网络请求、不保存内容;转不了的字段会写明原因。
  • 整份订阅:自建开源的 subconverter,订阅地址只经过你自己的机器。
  • 不建议:把订阅地址粘贴到陌生的在线转换网站。

转换好的节点放进 mihomo 内核的客户端使用。iPhone 上的 Shadowrocket 也能直接导入 vmess:// 和 vless:// 链接,不需要转换。

常见问题

这里没有你的问题?试试站内搜索,或者看问题排查。

全部问题排查 →
vless 能转 Clash 吗?

能,但只能给 mihomo(Clash Meta)内核用,原版 Clash 不支持 VLESS。Reality 的 pbk、sid 要写进 reality-opts 的 public-key、short-id。

机场既有 v2ray 订阅又有 Clash 订阅,用哪个?

用 Clash 的客户端就直接用机场的 Clash 订阅,比自己转换更完整(包括分流规则)。只有机场不提供时才需要转换。

在线订阅转换安全吗?

订阅地址相当于账号密码,交给第三方网站后,对方可以读取并使用你的全部节点。要转换整份订阅,建议自己部署开源的 subconverter,或者只在本地转换单个节点。

哪些字段转不了?

mihomo 不支持的传输方式或参数会丢失,例如 vmess 的 quic 传输(mihomo 文档列出的 vmess 传输方式里没有 quic)。本站的解析工具会写明哪些字段没有转换以及原因,不会静默丢弃。

subconverter 是什么?

subconverter 是一个开源的订阅格式转换程序(GitHub 仓库 tindy2013/subconverter),可以自己部署在电脑或服务器上,把 v2ray 订阅转成 Clash 等格式。本站不提供在线转换服务。