博客 / 产品更新 / 订阅转换是什么?原理、隐私风险与转换失败…
订阅转换subconverter订阅链接Clash格式

订阅转换是什么?原理、隐私风险与转换失败排查

订阅转换是什么?了解转换原理,对比原生导入、本地、自建和在线转换,认识隐私风险,并排查节点丢失、订阅更新失败与分流异常。

你从机场拿到一条订阅链接,粘进客户端却提示「格式不支持」或者根本没节点——于是你搜到了「订阅转换」这个词。这篇讲清楚它到底是什么、什么时候真需要它、以及一个很多人忽略的事实:大多数情况你其实不用转。

01 订阅转换是什么

订阅转换(subscription conversion)做的事很简单,最常见的开源实现是 subconverter:

把一种格式的订阅,转成另一种格式,好让目标客户端能读。

输入是你原始的订阅链接,输出是一条新的链接(或一个配置文件),内容还是同一批节点,只是「换了套包装」,让另一个客户端认得。

02 为什么会有这个东西

根源是格式碎片化。代理生态里客户端各有各的配置格式:

一个机场通常只给你其中一两种。如果它只给了 V2Ray 通用订阅,而你想用 Clash,Clash 读不了那串 Base64——中间就需要一层转换,把节点信息重新组织成 Clash 的 YAML,顺便套上分流规则。这就是 subconverter 的用武之地。

各种格式和协议的区别,见主流代理协议横向对比;订阅链接本身的原理见订阅链接的工作原理。

03 什么时候真的需要转换

订阅转换不是每次都要做。真正需要它,通常是这三种情况:

  1. 目标客户端只认一种格式,而机场没给。 比如你要用某个只读 Clash YAML 的工具,机场却只给了 V2Ray 订阅。
  2. 合并多个订阅。 你有几个机场,想把它们的节点并进一份配置统一管理——subconverter 能把多条订阅合并输出成一条。
  3. 给裸节点套分流规则。 原始订阅往往只有节点、没有规则。转换时可以套上一套现成的规则集(国内直连、国外代理、广告拦截),生成开箱即用的配置。规则怎么写见 Clash 规则完全指南。

一句话判断:如果你的客户端已经能直接读机场给的订阅、你也只有一个机场,现有的分流规则也够用——那你根本不需要订阅转换。

04 怎么转换

主流有三条路:

在线转换服务。 网上有一些公开的 subconverter 实例(配合网页前端):你把原始订阅链接粘进去,选目标客户端和规则模板,它吐出一条新链接。方便,但有隐私风险(下一节细说)。

自建 subconverter。 把开源的 subconverter 后端跑在自己的服务器上(Docker 一条命令即可),转换在你自己掌控的机器上完成;只要前端也由你自己控制(或直接调用自建后端),且不向第三方上传配置,节点凭据就不用交给第三方转换运营者。折腾一点,但服务器常驻在线,适合有一定动手能力、长期需要转换并持续自动更新的人。

本地转换。 同样是开源后端,只是跑在你自己的电脑上,转换在本机完成,减少了向第三方转换运营者暴露凭据。代价是:如果客户端用的是指向本机后端的链接,这台电脑上的后端需要持续运行,否则订阅无法刷新;如果是一次性生成配置文件,就不依赖后端,但也不会自动更新。

加上「干脆不转」,一共四种做法,按你的情况对着选:

做法适用场景节点凭据会经过谁可靠性取决于上手难度
不转(客户端原生读取)客户端能直接读机场给的格式不经过任何转换服务只依赖机场订阅本身最低,粘贴订阅即可
本地转换偶尔需要转、在意隐私你自己的电脑(前端和后端都在本机时),不经过第三方转换运营者用本机后端链接自动更新时,后端需持续运行;一次性生成的配置文件不依赖后端,但不会自动更新中,要在本机装后端
自建 subconverter长期需要转、多设备共用你自己的服务器(前端也由你控制或直接调用自建后端,且不向第三方上传配置时)服务器是否持续在线,适合需要持续自动更新的场景较高,要有服务器和运维
公开在线实例临时用一次、节点不敏感实例的运营者第三方服务是否在线、是否限流或停止服务最低,网页里点几下

从隐私角度看,越往上越能减少向第三方转换运营者暴露凭据——和下一节讲的隐私顺序一致;可靠性则要看你用的是哪种更新方式,没有绝对的先后。

如果使用的是指向转换后端的动态订阅链接,客户端每次用这条链接自动更新订阅时,都会重新走一遍转换。这时后端一旦挂掉或停止服务,订阅就无法刷新(已经导入的节点不一定立即失效,但之后拿不到机场的更新)。如果转换的结果是一个静态配置文件,它不再经过后端,但也不会自动更新,机场换了节点要重新转换。

05 在线转换的隐私风险(重要)

这一节请务必看完,因为很多教程不讲。

在线订阅转换服务,能看到你订阅里的全部节点信息——服务器地址、端口、密码、UUID,一览无余。你把原始订阅粘进一个陌生的在线转换站,等于把整套节点凭据交给了它的运营者。

不要用来路不明的在线转换站,尤其别用搜索结果里排名靠前、却查不到运营方的那些。轻则你的节点被搭便车蹭用、加速失效,重则订阅凭据被记录、转卖。要用就用知名开源项目的官方实例,或者自建。

如果你在意隐私(用代理的人多少都该在意),顺序是:能不转就不转 > 自建转换(本机或自己的服务器) > 可信的官方在线实例 > 陌生在线站(尽量别碰)。相关的还有 DNS 层面的隐私,见代理为什么会 DNS 泄漏。

06 转换后常见问题排查

转换多了一层,出问题的地方也多了一层。下面是最常见的几类,按「现象 → 原因 → 怎么做」排:

现象常见原因怎么做
转出来没有节点,或节点比原订阅少所用的转换实现或目标格式不支持某些较新的协议(如 Hysteria2、TUIC、AnyTLS),这类节点可能被过滤、解析失败,或让整个转换报错;转换参数里的过滤条件(包含 / 排除关键词、按目标类型过滤)也可能把节点筛掉;还有可能是后端没拉到原订阅先用支持原订阅格式的客户端直接导入一次,确认机场那边本身有节点(导入失败不能单独证明原订阅没有节点,也可能是格式不受支持或网络问题);再核对你用的转换实现和版本,对这个协议的解析以及对目标格式的输出是否都支持;检查过滤参数,并看后端日志里的报错。如果目标客户端本身就不支持某个协议,转换也救不了
用转换后端的链接自动更新时,订阅更新失败后端挂了、限流、停止服务,或后端拉取原订阅时被拒;也可能是网络问题用原订阅链接对照测试,缩小范围:原链接能更新,优先排查转换链路(后端状态、请求参数),可以换后端或自建;原链接也失败,就排查原订阅本身和你的网络
节点能连上,但分流不对、规则不生效规则模板的问题:规则顺序不对、规则指向的策略组名和实际分组对不上,或模板里引用的远程规则集拉不下来以 Clash / mihomo 配置为例,打开转换后的配置,看 rules 引用的策略组和 proxy-groups 里的名字能不能对上。规则的匹配顺序和策略组怎么配合,见 Clash 规则完全指南
节点名里的文字乱码编码处理出错,常见于原订阅或转换链路里字符编码不一致先看原订阅导入后名字是否正常;原订阅正常,再检查转换后端和参数,必要时换一个实现
国旗 emoji 显示成方块转换时按模板给节点加了 emoji,客户端或系统字体显示不了通常只是显示问题,不影响连接;介意的话转换时关掉 emoji 选项
原订阅正常,转换时拿到的格式不对、内容为空或报错部分机场会根据请求的客户端标识(User-Agent)返回不同格式的订阅;个别服务商还会按自己的访问策略限制某些请求先看机场有没有直接提供目标格式的订阅链接;有的话直接用它,就不需要转换了

你会发现,上面大多数问题都出在「转换」这一层本身:后端可不可靠、模板对不对、能不能识别新协议。根治的办法往往不是修转换,而是不转——让客户端直接读机场给的原始订阅。

07 很多时候你其实不用转

回到开头那句:大多数「格式不支持」的问题,换个更全能的客户端就没有了,根本不用引入转换这一层。

原因是现代内核对格式的原生支持已经很广。以 Terraka 为例(内核是 mihomo):

也就是说,前面「需要转换」的三种情况里,「客户端读不了」这一种,当原订阅属于 Terraka 支持的格式和协议时,可以省去格式转换;「想套规则」这一种,如果原订阅自带的规则已经满足需求,或者你愿意自己在客户端里配置规则,也可以不依赖转换服务。剩下的「合并多个订阅」如果你确实需要,再按上面的决策表,优先选本地转换或自建。为什么 mihomo 内核对格式支持这么全,见 Clash 和 Clash.Meta 的区别。

订阅转换是格式碎片化时代的补丁。客户端越全能,你越用不到它——这才是更省心、也更安全的方向。


08 常见问题

订阅转换有什么用? 把机场给的订阅转成目标客户端能读的格式,常见用途有三个:客户端只认某一种格式、想把几个机场的订阅合并成一条、想给只有节点的订阅套上一套分流规则。如果你的客户端能直接读原订阅、你也只有一个机场,现有规则也够用,就用不上它。

在线订阅转换安全吗? 取决于你把订阅交给了谁。在线转换服务能看到订阅里的全部节点信息(地址、端口、密码、UUID),陌生站点尽量别碰;要转就优先本地转换或自建,减少向第三方转换运营者暴露凭据,其次才是知名开源项目的官方实例。

转换后没有节点怎么办? 先用支持原订阅格式的客户端直接导入原订阅,确认机场那边有节点(导入失败不能单独证明原订阅没有节点);如果原订阅有、转换后没有,可能是所用的转换实现或目标格式不支持其中的协议,也可能是过滤参数把节点筛掉了:核对实现和版本对该协议与目标格式的支持,检查过滤参数,看后端日志。最省事的做法是换一个能直接读原订阅的客户端,不再经过转换。

转换后的订阅为什么突然更新不了? 如果你用的是转换后端生成的链接来自动更新,每次更新都要经过这个后端;后端挂了、限流或停止服务,订阅就无法刷新,已经导入的节点不一定立即失效。用原订阅链接对照测试可以缩小范围:原链接能更新,优先排查转换链路;原链接也不行,再看原订阅本身和网络。


订阅转换的本质:给读不懂原格式的客户端做翻译。真需要时(合并订阅、目标客户端挑格式),优先本地转换或自建、警惕陌生在线站;而更多时候,一个能直接导入原订阅的客户端能让你完全绕开它。

下载可直接导入 Shadowrocket 订阅和 Clash 配置的 Terraka →

JL
江流
FOUNDING ENGINEER · 内核维护

负责 Terraka 内核与协议层。前 Tower 工程师。喜欢把规则引擎写到极致,也喜欢清晨的咖啡。

把 Terraka 装上吧。

免费,无需注册。Android 和 Windows 在官网直接下载,iOS 和 Apple 芯片 Mac 经 TestFlight 安装。

下载 Terraka v3.3.1 · 2026.10.06