Subconverter 订阅转换是什么、怎么用:多机场合并、格式互转与隐私风险
Subconverter 能把多家机场的订阅合并成一条,也能在 Clash、sing-box、Surge 等格式之间转换。本文讲它适合什么场景、公共转换后端的隐私风险、自建的大致思路,以及客户端自带的替代方案。
先说结论
Subconverter 是一个开源的订阅转换程序,输入一条或多条机场订阅链接,输出指定客户端格式的配置。它解决的是「订阅格式对不上」和「多条订阅想合成一条」两个问题。
但在 2026 年,多数用户 不需要 它:主流机场都提供多格式订阅,主流客户端都能直接读 Clash 或通用格式,而且公共转换服务存在实打实的隐私风险。所以本文先讲它是什么和什么时候真的需要,再讲怎么安全地用,最后讲更简单的替代方案。订阅链接本身的格式和原理见 订阅链接是什么。
订阅转换在做什么
机场订阅本质上是一份节点列表,不同客户端要求的「包装」不一样:
| 格式 | 读它的客户端 | 特点 |
|---|---|---|
| Clash / Mihomo(YAML) | Clash Verge Rev、FlClash、ClashMeta for Android、Stash、ClashBox | 含节点、策略组、规则,最通用 |
| 通用订阅(Base64 节点链接) | Shadowrocket、v2rayN、v2rayNG、NekoBox | 只有节点,规则由客户端自带 |
| sing-box(JSON) | sing-box、GUI.for.SingBox、husi、Karing | 结构不同于 Clash,支持新协议 |
| Surge / Loon / Quantumult X | 对应 iOS / macOS 客户端 | 各有自己的配置语法 |
订阅转换把一种包装拆开,取出节点,再按目标格式重新包装,期间可以:合并多条订阅的节点、按关键词筛选或重命名节点、套上一份预设的分流规则和策略组、给节点名加前缀区分来源。
Subconverter 的使用方式是一条 URL:https://转换后端/sub?target=目标格式&url=编码后的订阅链接&config=规则模板。前端网页只是帮你拼这条 URL 的表单,拼好的 URL 就是你的「新订阅」,导入客户端即可。
三类真正需要它的场景
多机场合并
主力加备用两家机场,想在一个策略组里切换而不用来回换订阅。转换时把两条订阅链接用 | 连接填入 url 参数,输出的配置里就包含两家的全部节点,可以用「节点名前缀」区分。主备搭配的思路见 主力 + 备用机场怎么组合。
格式转换
机场只提供 Clash 订阅,而你的客户端是 Surge 或 Quantumult X;或者反过来,机场只给通用订阅,你想在 Clash 里获得带策略组和规则的完整配置。协议兼容是前提:Surge 不支持 VLESS、Hysteria2,转换时这些节点会被丢掉,不是转换坏了。
统一规则模板
有自己一套熟悉的分流规则(比如按 ACL4SSR 模板),换哪家机场都想用同一套。转换时指定 config 参数指向规则模板,节点来自机场、规则来自你,两者组合输出。单机场不换规则的话,用客户端的覆写功能更合适,见 自定义分流规则教程。
不属于以上三类的需求,先看最后一节的替代方案。
公共转换后端的隐私风险
网上能搜到很多免费的「订阅转换」网站,输入订阅链接点一下就能用。风险在于流程本身:
- 你的订阅链接被作为参数发送到转换服务器。
- 服务器请求你的机场拉取全部节点。
- 服务器把结果返回给你。
第 2 步意味着 服务器拿到了你的订阅链接和全部节点信息。订阅链接等同于账号凭证,运营者如果记录日志,就能用你的流量、占用你的设备数。而且你的客户端每次「更新订阅」都会再走一遍这个服务器,不是一次性的。
此外:转换后端如果被篡改,返回的配置里可以插入恶意节点或把你的流量引向别处;后端下线,你的订阅直接失效。
判断一个公共后端是否可信的最低标准:开源、运营者公开、明确声明不记录日志、使用 HTTPS。满足这些也只是降低风险,不是消除。如果已经用公共后端转过,建议到机场后台重置订阅链接一次。订阅泄露的通用处理见 订阅链接安全注意事项。
自建后端的大致思路
想长期用 Subconverter,自建是唯一不把订阅交给别人的方式。门槛不高,大致步骤:
- 准备运行环境。 任何能跑 Docker 的设备:家里的 NAS、软路由、树莓派、闲置小主机,或一台 VPS。在家里跑的好处是订阅链接不出家门,缺点是外出时设备要能访问到它(通过内网穿透或只在家用)。
- 运行 Subconverter。 用官方 Docker 镜像一条命令启动,默认监听 25500 端口。镜像名以项目 GitHub 仓库 README 为准。
- 可选:部署前端。 常见的前端是 sub-web 类静态页面,提供表单帮你拼 URL。也可以不装前端,自己手拼 URL。
- 配置规则模板。 把常用的规则模板(ACL4SSR 等)放到后端的
config目录或用远程模板 URL。 - 拼 URL 并导入客户端。
http://你的地址:25500/sub?target=clash&url=订阅1|订阅2&config=模板地址,把这条填进客户端的订阅页。
安全上注意:后端如果暴露在公网,别人也能用它转换,开启访问令牌(api_access_token)或用反向代理加认证;只在内网用就不用公网暴露。
在 OpenWrt 路由器上已经跑 OpenClash 的用户,可以把 Subconverter 也放在路由器上,方法参考 路由器上用机场 里对软路由环境的说明。
更简单的替代方案
大多数人用下面这些办法就能解决,不必接触转换服务。
机场后台的多格式订阅。 登录机场后台,订阅按钮通常有 Clash、Surge、Quantumult X、sing-box、通用等多种选项,直接选对应格式。只有「一键订阅」一个按钮的机场,往往是通用格式,各客户端都能读。
客户端自带转换。 不少客户端内置了格式识别和转换:
- Shadowrocket、Stash、Surge 可以直接读 Clash 或通用订阅。
- sing-box 系的 Karing、Hiddify、GUI.for.SingBox 内置把 Clash 订阅转成 sing-box 配置,详见 Karing 使用教程 和 Hiddify 使用教程。
- Clash Verge Rev、FlClash 能读通用 Base64 订阅并自动套默认规则。
多条订阅并存。 几乎所有客户端都允许导入多条订阅并切换,Clash Verge Rev 还可以用覆写里的 proxy-providers 把其他订阅作为节点源合并进同一份配置,效果等同于多机场合并,而且订阅链接只在本机。
机场自己的合并功能。 少数机场支持在后台把多个套餐合成一条订阅,或者本身提供「聚合订阅」。
换一个支持目标协议的客户端。 如果转换的目的是让老客户端读新协议节点,直接换客户端比转换更省事。各平台可选客户端见 客户端下载总览。
什么情况下仍然值得自建 Subconverter:三家以上机场长期并用、多台设备需要同一份合并配置、或者你有一套固定规则模板想跨机场复用。满足一条就值得花半小时搭一个。
使用时的几个要点
- 转换 URL 本身就是你的新订阅,和原订阅一样保密,不要分享。
- 目标客户端不支持的协议会被静默丢弃,转换前核对协议列表,协议差异见 机场协议对比。
- 转换后节点名可能被重命名,如果客户端里有按节点名写的规则(如固定 AI 节点),转换后要检查。
- 机场更新节点后,转换后的订阅随着客户端更新同步刷新,不需要重新转换;但模板或后端更新后要重新导入一次。
- 多机场合并后要注意各家的设备数限制分别计算。
相关
订阅链接是什么 · 多设备机场推荐 · 客户端下载总览 · 主力 + 备用机场组合
常见问题
订阅转换是干什么的?
把一种格式的机场订阅(比如 Clash YAML)转成另一种客户端能读的格式(比如 Surge、sing-box、Quantumult X),并可以把多条订阅合并成一条、顺手加上分流规则。
用网上的订阅转换网站安全吗?
有风险。转换时你的订阅链接会被发送到转换服务器,服务器运营者理论上能拿到你的全部节点并使用你的流量。只用自建后端或可信的、开源且声明不记录日志的服务,并在使用后考虑重置订阅。
不用 Subconverter 能不能合并多个机场?
可以。Clash Verge Rev、FlClash、Shadowrocket、Stash、sing-box 系客户端大多支持同时导入多条订阅并切换;Clash Verge Rev 还能用覆写把多条订阅的节点合进同一个策略组。
转换后节点少了或连不上怎么办?
通常是目标格式不支持某些协议(如 Surge 不支持 VLESS / Hysteria2),转换时这些节点被丢弃;或者转换后端版本旧。先确认目标客户端支持的协议,再换后端或换客户端。
Subconverter 自建需要什么?
一台能被你的设备访问的服务器或家里的小主机(NAS、路由器、树莓派),用 Docker 一条命令运行,再把转换地址填进前端页面或直接拼接 URL 使用。
本文为信息整理与个人经验,不构成购买建议。机场政策与软件界面可能变化,以官方为准。发现过期内容请 联系纠错。