你从机场拿到一条订阅链接,粘进客户端却提示「格式不支持」或者根本没节点——于是你搜到了「订阅转换」这个词。这篇讲清楚它到底是什么、什么时候真需要它、以及一个很多人忽略的事实:大多数情况你其实不用转。
01 订阅转换是什么
订阅转换(subscription conversion,工具通常叫 subconverter)做的事很简单:
把一种格式的订阅,转成另一种格式,好让目标客户端能读。
输入是你原始的订阅链接,输出是一条新的链接(或一个配置文件),内容还是同一批节点,只是「换了套包装」,让另一个客户端认得。
02 为什么会有这个东西
根源是格式碎片化。代理生态里客户端各有各的配置格式:
- 通用分享格式:
ss://、vmess://、trojan://、vless://这类单节点链接,或它们打包的 Base64 订阅(Shadowrocket、v2rayN 等常用)。 - Clash / mihomo 格式:YAML 配置,带
proxies、proxy-groups、rules。 - sing-box 格式:JSON 配置。
一个机场通常只给你其中一两种。如果它只给了 V2Ray 通用订阅,而你想用 Clash,Clash 读不了那串 Base64——中间就需要一层转换,把节点信息重新组织成 Clash 的 YAML,顺便套上分流规则。这就是 subconverter 的用武之地。
各种格式和协议的区别,见主流代理协议横向对比;订阅链接本身的原理见订阅链接的工作原理。
03 什么时候真的需要转换
订阅转换不是每次都要做。真正需要它,通常是这三种情况:
- 目标客户端只认一种格式,而机场没给。 比如你要用某个只读 Clash YAML 的工具,机场却只给了 V2Ray 订阅。
- 合并多个订阅。 你有几个机场,想把它们的节点并进一份配置统一管理——subconverter 能把多条订阅合并输出成一条。
- 给裸节点套分流规则。 原始订阅往往只有节点、没有规则。转换时可以套上一套现成的规则集(国内直连、国外代理、广告拦截),生成开箱即用的配置。规则怎么写见 Clash 规则完全指南。
一句话判断:如果你的客户端已经能直接读机场给的订阅、你也只有一个机场——那你根本不需要订阅转换。
04 怎么转换
主流有两条路:
在线转换服务。 网上有一些公开的 subconverter 实例(配合网页前端):你把原始订阅链接粘进去,选目标客户端和规则模板,它吐出一条新链接。方便,但有隐私风险(下一节细说)。
自建 subconverter。 把开源的 subconverter 后端跑在自己的服务器或本地(Docker 一条命令即可),转换全程在你自己掌控的机器上完成。折腾一点,但安全。适合有一定动手能力、且长期需要转换的人。
无论哪种方式,输出的「转换后订阅」本质上还是一条订阅链接。它指向转换服务,每次客户端更新订阅时都会重新走一遍转换——所以在线服务一旦挂掉或跑路,你的订阅也会失效。
05 在线转换的隐私风险(重要)
这一节请务必看完,因为很多教程不讲。
在线订阅转换服务,能看到你订阅里的全部节点信息——服务器地址、端口、密码、UUID,一览无余。你把原始订阅粘进一个陌生的在线转换站,等于把整套节点凭据交给了它的运营者。
不要用来路不明的在线转换站,尤其别用搜索结果里排名靠前、却查不到运营方的那些。轻则你的节点被搭便车蹭用、加速失效,重则订阅凭据被记录、转卖。要用就用知名开源项目的官方实例,或者自建。
如果你在意隐私(用代理的人多少都该在意),顺序是:能不转就不转 > 自建转换 > 可信的官方在线实例 > 陌生在线站(尽量别碰)。相关的还有 DNS 层面的隐私,见代理为什么会 DNS 泄漏。
06 很多时候你其实不用转
回到开头那句:大多数「格式不支持」的问题,换个更全能的客户端就没有了,根本不用引入转换这一层。
原因是现代内核对格式的原生支持已经很广。以 Terraka 为例(内核是 mihomo):
- 直接读通用订阅(
ss:///vmess:///trojan:///vless://及其 Base64 打包),粘进去就有节点,不用转成 Clash 格式。 - 直接读 Clash YAML 配置,机场给的 Clash 订阅原样可用。
- 内置分流规则,不需要靠转换服务去套规则集。
- 支持多订阅管理,几个机场的订阅并列放着,不必合并成一条。
也就是说,前面「需要转换」的三种情况里,有两种(客户端读不了、想套规则)在这类客户端上直接消失了。为什么 mihomo 内核对格式支持这么全,见 Clash 和 Clash.Meta 的区别。
订阅转换是格式碎片化时代的补丁。客户端越全能,你越用不到它——这才是更省心、也更安全的方向。
订阅转换的本质:给读不懂原格式的客户端做翻译。真需要时(合并订阅、目标客户端挑格式),优先自建、警惕陌生在线站;而更多时候,一个原生支持多格式的客户端能让你完全绕开它。