主题模式
Are you an LLM? You can read better optimized documentation at /serve/routes/subconverter-guide.md for this page in Markdown format
什么是订阅转换?如何利用免费托管或本地自建安全转换订阅格式?
当你在 购买机场 获取了节点订阅后,你可能会发现一个问题:
- 你的机场给的是 Clash 订阅(一串
.yaml格式的文件),但你使用的客户端是 Sing-box(需要.json格式)或者 Shadowrocket (小火箭)(需要 Base64 编码的链接串)。 - 如何把这些格式互相转化?这就需要使用 订阅转换 (Subscription Conversion)。
虽然网络上有无数个免费的公共订阅转换网页,但将你包含账号私钥的机场订阅直接上传给陌生网站,存在极大的流量盗刷和隐私泄漏风险。本文将为你科普订阅转换的原理,并教你如何用 Docker 在本地极速自建一个 100% 安全的私有转换服务。
🔍 为什么需要订阅转换?
不同的科学上网客户端,其底层的核心配置格式大相径庭:
| 客户端 | 配置文件格式 | 格式特征 |
|---|---|---|
| Clash / Clash Verge | YAML | 使用缩进分层,包含 proxies, proxy-groups, rules 等字段。 |
| Sing-box | JSON | 纯文本大括号键值对,包含 dns, route, outbounds 等复杂路由设置。 |
| Shadowrocket (小火箭) | Base64 编码的 URL | 将所有节点链接合并,通过 Base64 加密成一串长乱码。 |
| Quantumult X / Loon | 自定义 Conf | 专用的文本分段格式。 |
Subconverter(由开发者 tindy2013 开发的开源项目)就是为了解决这个痛点而生的。它是一个用 C++ 编写的超高性能后端引擎,能将任意一种格式的订阅无损解析并转换输出为其他任意客户端支持的格式。
🚨 公共订阅转换的“蜜罐”风险
很多新手贪图方便,直接百度/谷歌搜索“Clash 订阅转换”,随意找一个网页就将自己花钱买的机场链接贴上去。
这样做会有什么后果?
- 节点额度被白嫖:站长可以在后台数据库轻松提取你的订阅链接,并将其分享给他人使用。你的机场流量会在短时间内被刷爆。
- 异地登录封号:很多高端机场为了防超售和分享,禁止多人异地同时登录。一旦你的链接被泄露,你的机场账户可能会被系统自动永久封禁。
- 流量监控与日志审计:所有的访问流量去向都会在公共服务器的日志中留下痕迹。
因此,能用本地客户端解析就不上网页;如果要用网页,尽量自己用 Docker 部署。
🐳 实战:用 Docker 本地自建 Subconverter 服务 (安全无毒)
如果你有一台 NAS、自建服务器,或者本地电脑装了 Docker,只需一分钟即可部署属于你自己的私有转换引擎。
1. 编写 docker-compose.yml
在你的服务器目录下创建一个文件夹并编写配置文件:
yaml
services:
subconverter:
image: tindy2013/subconverter:latest
container_name: subconverter
ports:
- '25500:25500' # 映射本地端口
restart: always2. 启动服务
运行命令:
bash
docker compose up -d启动后,你的本地私有订阅转换服务就运行在 http://你的IP:25500 了。
⚙️ 如何使用自建的 API 进行转换?
配置好后端后,你不需要繁琐的网页前端,直接通过浏览器输入拼接好的 API 地址,即可一键生成新订阅。
API 拼接规则公式:
text
http://你的服务器IP:25500/sub?target=【目标客户端】&url=【Urlencode后的机场链接】关键参数解析:
target:你想转换成的格式。常见可选值:clash(输出为 Clash 支持的 YAML 格式)singbox(输出为 Sing-box 支持的 JSON 格式)surfboard(输出为安卓 Surfboard 格式)
url:你的原始机场订阅链接。- ⚠️ 注意:在拼接到 API 之前,你必须使用 URL 编码工具 将你的原始机场链接进行 URL 编码(把
&、?等字符转成%3D等,防止被 API 错认成分割符)。
- ⚠️ 注意:在拼接到 API 之前,你必须使用 URL 编码工具 将你的原始机场链接进行 URL 编码(把
拼接后示例:
如果你本地 IP 是 192.168.1.100,想把原始订阅转换成 Clash 格式,在浏览器输入:
text
http://192.168.1.100:25500/sub?target=clash&url=https%3A%2F%2Fmyairport.com%2Fsub%3Ftoken%3D123456回车后,浏览器会直接弹出一个名为 sub.yaml 的文件下载,这就是你转换好的、100% 安全且不经过任何第三方的 Clash 配置文件!将这个链接填入客户端中即可定期自动同步更新。
💬 总结
- 原则:保护订阅链接就是保护你的财产安全。
- 对于普通用户,如果觉得自建麻烦,可以使用 Clash Verge Rev 客户端自带的
Merges/Parsers本地脚本解析机制,或者使用 sing-box 官方客户端自带的 Import 导入转换,这同样是不出本地的安全解法。
延伸阅读推荐:
- 节点挂了怎么办?查看 2026年机场防失联与备用节点配置指南。
- 看不懂网络线路?快去读读 IPLC/IEPL 专线与普通直连、中转的区别。
