Subconverter 是什么,解决什么问题?
Subconverter 是社区广泛使用的开源「订阅转换」后端:它读取你提供的订阅链接或节点列表(常见为 Base64 编码的 URI 集合),解析其中的 V2Ray 系(含 VMess、VLESS 等)、Shadowsocks / ShadowsocksR、Trojan 等格式,再输出为 符合 Clash / Clash Meta 语法的 YAML。对普通用户而言,你不需要逐条手写 proxies:,只需把机场给的「非 Clash 专用」订阅交给转换器,就能得到可在 Clash 系客户端 里直接导入的配置骨架。
它与「客户端内置订阅下载」不同:后者往往只负责拉取已经是 Clash 格式的远程配置;而 Subconverter 的价值在于跨协议、跨格式的中间层——当服务商仍沿用旧版通用订阅或混合格式时,你依然能用同一套 Meta 内核客户端统一体验。若你刚完成本地环境搭建,可先对照 Windows 下 Clash Verge Rev 从零安装教程,再导入本文生成的 YAML,衔接会更顺畅。
为什么需要把订阅转成 Clash YAML?
许多服务商为了兼容多平台,会提供单一路由器式的通用订阅:里面可能是 SSR 链接、Trojan 链接与少量 VMess 混排。Clash 及其衍生客户端(如基于 Meta 内核的图形端)读取的是结构化 YAML,包含 proxies、proxy-groups、rules 等字段;若直接把非 Clash 订阅 URL 填进「订阅地址」而不经转换,客户端往往无法解析节点,或只能识别其中一部分。
Subconverter 在转换时不仅会映射协议字段(如端口、加密方式、TLS、WebSocket 路径),还可按模板附带规则组与基础规则,让你导入后立刻拥有「自动选择 / 故障转移」等策略组雏形。是否启用这些附加能力取决于你使用的转换接口参数与配置文件,下文会分开说明「最小可用」与「带规则集」两种取向。
支持的输入与典型输出长什么样?
下表概括常见输入协议与转换后的去向(以 Clash / Meta 为例):
| 输入类型 | 说明 | 转换后 |
|---|---|---|
| V2Ray(VMess / VLESS 等) | 常见于 vmess://、vless:// 或订阅聚合 |
映射为 Clash vmess / vless 节点 |
| ShadowsocksR(SSR) | ssr:// 系列,参数较 SS 更多 |
映射为 ssr 类型(视内核支持情况) |
| Trojan | trojan://,常带 SNI、ALPN |
映射为 trojan 节点 |
| Shadowsocks | ss:// 或 SIP002 |
映射为 ss 节点 |
输出侧你会得到一份文本 YAML,其中 proxies: 下列出所有可识别节点;若请求里指定了规则模板或远程规则集,还会出现 rules 或 rule-providers 段。关于规则集选型与维护节奏,可延伸阅读 ACL4SSR 与 Loyalsoldier 规则集深度对比,避免转换完却与本地分流预期不符。
在线转换与自建实例:怎么选?
在线公共转换前端使用方便:粘贴订阅链接、选择目标为 Clash、点击生成即可。但你的订阅 URL 往往包含令牌与节点隐私,一旦经由不可信的第三方服务器拉取,存在泄露与日志留存风险。因此仅建议在明确信任的服务上使用,或改用「只传你自己托管的订阅镜像」等折中办法。
自建 Subconverter(Docker 或二进制部署在本机、家庭 NAS、VPS)能把「拉取订阅 → 解析 → 输出 YAML」整条链路握在自己手里,配合 HTTPS 反代与访问控制,更适合长期使用。自建时请关注上游镜像版本与配置项是否与当前 Meta 内核字段兼容,升级内核后若遇解析报错,优先核对 Subconverter 与内核发行说明。
隐私提醒:不要把含敏感参数的订阅链接提交到陌生网站或公共聊天窗口。若必须试用在线转换,事后可在机场面板重置订阅令牌,降低外泄影响。
请求思路:目标格式与订阅地址
多数部署方式都围绕「HTTP 接口」展开:向 Subconverter 进程发起 GET 请求,通过查询参数告诉它要拉哪几个订阅、输出哪一种 Clash 风格。典型参数名在不同发行版中可能略有差异,但核心概念一致:target=clash 或指向 Meta 的变体表示输出 Clash 配置;url= 后接经过编码的订阅地址。若有多条订阅,常使用多个 url 或列表配置合并。
另有一些参数用于重命名节点、按关键词筛选、或指定远程配置模板。建议从官方文档与示例入手,先跑通「单订阅 → 单文件 YAML」,再逐步叠加规则模板,避免一次堆过多选项导致排错困难。图形客户端里通常只需把「转换后的订阅 URL」填进远程配置地址栏,由客户端定时拉取即可。
1自建参考:Docker 快速拉起(示例)
以下仅为结构示意,镜像名与端口请与你选用的文档保持一致:
# Example only — adjust image tag and ports per upstream docs
docker run -d --name subconverter -p 25500:25500 \
tindy2013/subconverter:latest
容器启动后,可在局域网内访问对应端口的 HTTP 接口,再由反向代理加上 TLS。生产环境务必限制来源 IP、加鉴权,避免被滥用为开放代理网关。
2导入 Meta 系客户端时的注意点
转换得到的 YAML 若体积较大,建议使用远程配置 URL方式由客户端定期更新,而不是每次手动复制全文。检查客户端是否勾选「使用规则」与「更新间隔」,并确认本地时间与证书校验正常,以免 HTTPS 订阅更新失败。更完整的分流与 DNS 策略仍建议在 YAML 或 UI 中逐项核对,需要 FakeIP 与 DoH 组合时可参考站内 Meta 内核 DNS 防泄漏指南。
常见问题排查
转换成功但节点全红: 可能是机场侧节点协议与内核版本不匹配,或 TLS 指纹、ALPN 与订阅描述不一致。尝试单独用原始客户端验证节点可用性,再回到 YAML 比对字段是否被截断。
部分协议丢失: 订阅中若含内核尚未支持的实验性格式,转换器可能静默跳过。升级 Subconverter 与客户端到较新版本,或向服务商索取标准 Clash 订阅。
规则与预期不符: 检查是否启用了远程规则模板导致国内外分流变化;必要时退回「仅节点、少规则」的最小配置,再逐步加规则集。
开源与源码: Subconverter 项目在公开仓库持续维护,若需查阅参数说明、提交问题或参与贡献,可自行前往 GitHub 阅读文档;日常获取 Clash 客户端安装包仍建议通过 本站下载页,与「源码与 Issue」入口区分使用。
小结
Subconverter 的本质是把「多协议混杂的订阅」翻译成「Clash Meta 能读懂的 YAML」,让你不必在多个专用客户端之间切换。只要守住订阅隐私、选对在线或自建路径,并在导入后做一次连通性与规则核对,这套工具链可以长期稳定服役。
相比手动维护零散节点,一条经过验证的转换流水线,配上对分流与 DNS 的基础理解,往往更省心。若你希望从安装到订阅导入一次性跑通,Clash 系桌面端在向导与远程配置上已经相当成熟——