一句话先讲清

订阅转换 = 把机场给的一种订阅格式,改成你客户端能读的另一种格式。 能不转就不转——多数机场已直接提供 Clash / v2ray / sing-box 多种订阅,优先用官方对应链接。

只有当“机场只给 A 格式、客户端只吃 B 格式”时,才需要转换。

为什么格式不通用

不同客户端用不同的配置格式:

客户端常见订阅格式
Clash / Clash Verge / StashClash(YAML)
v2rayN 等 v2ray 系base64 编码的节点列表
sing-boxsing-box(JSON)

同一批节点,包装格式不同,客户端就不一定认。转换做的就是“换个包装”。

底层机制:格式差在哪

要理解为什么不能互通,得看这几种格式装的到底是什么

  • v2ray 系的 base64 订阅:本质是一串把 vmess://vless://trojan:// 等节点链接拼起来、再 base64 编码的文本。它只是“一堆节点地址”的清单,几乎不含分流规则,客户端拿到后自己决定怎么用。
  • Clash 的 YAML:不只是节点,还包含 proxies(节点)、proxy-groups(策略组,如自动测速、手动选择)和 rules(分流规则)三大块。它是一份完整的“节点 + 怎么用”的方案。
  • sing-box 的 JSON:用 outbounds 描述节点与分组、用 route 描述规则,结构更接近编程配置,对较新协议(Hysteria2、TUIC 等)支持好。

关键点:节点字段名、协议支持范围、规则语法各不相同。v2ray 清单里没有策略组和规则的概念,Clash 与 sing-box 的规则写法也不通用。所以转换不是简单改后缀,而是要“重新解析节点、映射字段、生成目标内核能读的结构”——这正是转换后端在做的事。也因为如此,从“信息更少”的格式(v2ray 清单)转成“信息更多”的格式(Clash/sing-box)时,规则部分往往要靠转换模板补齐。

各内核订阅差异要点

  • 协议兼容:不是所有内核都支持所有协议。较新的协议在旧内核或某些格式下可能被丢弃或转失败,转换前确认目标内核版本支持。协议本身的差异见代理协议科普
  • 规则来源:Clash/sing-box 的规则可能来自机场模板,也可能来自转换时套用的规则模板。换模板会改变分流行为。
  • 策略组:v2ray 清单没有策略组,转成 Clash 时的“自动测速/手动选择”分组是转换器替你生成的,不是原订阅自带。

转换的两种方式

1. 优先:用机场提供的对应订阅

登录机场用户中心,通常能看到「Clash 订阅」「v2ray 订阅」「sing-box 订阅」等多个链接。直接复制你客户端对应的那条,这是最稳、最安全的做法。

2. 其次:订阅转换后端(subconverter 类)

当机场只给一种格式时,可用转换后端把订阅链接转成目标格式。它的原理是:后端拉取你的原订阅 → 解析节点 → 套用规则模板 → 输出目标格式。用法上通常是把原订阅链接作为参数拼进转换服务的地址,示意如下(仅示意,不指向任何真实服务):

https://你的转换后端/sub?target=clash&url=<你的原订阅链接经过编码>

其中 target 指定目标格式,url 是你的原订阅。这条“转换后的链接”才是你最终填进客户端的订阅地址。

自建 vs 在线转换:怎么取舍

方式优点代价
机场官方多格式订阅最稳、最安全、无需转换取决于机场是否提供
自建转换后端订阅不出自己手,隐私可控需要一台服务器与部署维护
公共在线转换零门槛、即开即用订阅交给第三方,隐私风险最高

判断顺序很简单:能用官方多格式就别转 → 必须转就自建 → 只有临时应急才考虑公共服务,且用完及时更换订阅链接(很多机场支持重置订阅 token)。

隐私注意(重要)

订阅链接里包含你的节点与身份信息。把它粘到不可信的公共转换网站,等于把订阅交给第三方,可能被记录或滥用。因此:

  • 首选机场官方多格式订阅,能不转就不转;
  • 需要转换时,优先自建转换后端;
  • 使用公共服务前,清楚其中的风险;
  • 用过不放心时,去机场后台重置订阅链接让旧链接失效。

转换后没生效怎么办

  • 确认目标格式和客户端匹配(Clash 客户端就用 Clash 输出)。
  • 在客户端里更新配置而不是只重启。
  • 转出来有节点但规则怪异,多为套用的规则模板不合适,换模板或改用官方订阅。
  • 仍无节点则多为原订阅过期或链接错误,见订阅失效与连不上的排查

各客户端的导入步骤见 Clash Verge 教程sing-box 教程