拿到的是一串 vmess://,或者服务商页面只写着「V2Ray 订阅」,导进 Clash Verge 之后要么节点是空的,要么直接弹「配置格式错误」。这是格式问题,不是链接坏了。三条路,按省事程度排。
第一条:找服务商要 Clash 格式的链接
多数机场面板会为同一个账号提供多种订阅格式,页面上通常并排列着 V2Ray、Clash、sing-box 几个复制按钮。直接复制标着 Clash 或 Clash Meta / mihomo 的那一条,导入即可。
这条路最优的原因是:服务商生成的 Clash 订阅自带分组和分流规则,转换出来的配置没有这些东西。能走这条就别折腾后面两条。
面板里有 Clash 和 Clash Meta 两个选项时选后者。前者是为老内核准备的,会砍掉新协议的节点。
第二条:先试试客户端能不能直接吃
不确定格式的时候,最快的办法是直接试。把链接粘进「订阅」页面的导入框,或者复制到剪贴板后用「从剪贴板导入」。导入后看节点列表:有节点就成了,报错再往下走。这一步花不到十秒,比先研究格式划算。
如果导入报的是 HTTP 错误码而不是格式错误,那是另一类问题,对着订阅导入失败排查逐项看。
第三条:用 subconverter 转换
转换服务接收任意格式的订阅或分享链接,吐出 Clash 配置。请求形如:
target=clashmeta——目标格式,选 meta 才保留新协议节点;url=——你的原始订阅地址,需要 URL 编码;config=——可选的远程规则模板,决定生成配置里的分组和规则。
自建是一条命令的事:docker run -d -p 25500:25500 tindy2013/subconverter,然后请求本机 http://127.0.0.1:25500/sub?...。转换结果可以保存成本地 YAML 导入,也可以把转换地址当订阅链接用,让客户端定时去拉。
用公开的在线转换实例,等于把完整订阅链接交给那台服务器——链接里通常就带着你的账号 token。敏感的话只用自建实例,或者转换完立刻在面板里重置订阅链接。
转换之后
转出来的配置往往只有一个笼统的分组,规则也是模板给的。想加自己的规则又不希望下次更新被覆盖,用 Merge 与 Script 增强,在订阅之上叠加修改。看不懂生成的 YAML 时,对照配置文件结构详解逐段读。