Clash 订阅链接是什么格式:Base64、YAML 与各客户端订阅格式的相互转换
Clash 订阅链接本质是 Base64 编码或 YAML 格式的节点清单,不同客户端支持的格式各异,本文科普常见订阅格式区别与相互转换的实用方法。
订阅链接是什么:一个定时拉取的远程清单
订阅链接是一个普通的 HTTPS 地址。客户端按固定间隔向这个地址发起 GET 请求,服务端返回一段文本,客户端解析文本并刷新本地节点列表。整个机制与 RSS 阅读器拉取 feed 没有本质区别:地址只是通道,返回内容的格式才是决定能不能用的关键。
三个基本事实先摆清楚:
- 订阅链接不是协议。它不决定流量怎么走,只是一份会定期更新的节点清单的取件地址。
- 链接里的 token 等同于账号凭证。常见订阅地址形如
https://example.com/api/v1/client/subscribe?token=xxxxxxxx,这串字符就是身份标识,谁拿到谁就能占用你的套餐流量。怀疑泄露时,第一件事是去服务商后台重置订阅链接。 - 同一地址可以返回多种格式。服务端按请求头里的 User-Agent 或 URL 参数判断客户端类型,分别返回 Base64 清单或 Clash YAML,这就是「一条链接适配多个客户端」的常见实现。
Base64 订阅:按行排列的节点分享链接
Base64 订阅是 V2Ray 生态形成的通用交换格式。服务端返回一整段 Base64 文本,解码后每行是一条节点分享链接,形如:
ss://[email protected]:8388#HK-01
vmess://eyJ2IjoiMiIsInBzIjoiSEstMDIifQ==
trojan://p%[email protected]:443?sni=cdn.example.com#HK-03
每行自带完整连接参数:协议前缀、地址、端口、凭证、传输层与 TLS 参数,以及 # 号后的显示名。常见前缀含义如下:
ss://—— Shadowsocks,遵循 SIP002 规范,@ 之前是 method:password 的 Base64。vmess://—— VMess,整段是一个 JSON 对象的 Base64。vless://—— VLESS,参数走 query 字符串。trojan://—— Trojan,密码放在 userinfo 段。hysteria2://(或hy2://)、tuic://—— 基于 QUIC 的协议,只有 mihomo 等新内核支持。
这种格式跨客户端通用、逐节点独立,单条链接可以单独分享;缺点是不含策略组与分流规则,导入后规则要客户端自己补齐。另一个常见坑:ssr://(ShadowsocksR)不在 Clash 与 mihomo 的支持范围内,混入 SSR 节点的订阅导入后这部分会被直接丢弃,节点数对不上时先查这一点。
Clash YAML:节点、策略组、规则三位一体
Clash 原生订阅格式是一份完整的 YAML 配置,最少包含三个顶层字段:
mixed-port: 7890
allow-lan: false
mode: rule
proxies:
- name: "HK-01"
type: ss
server: 203.0.113.10
port: 8388
cipher: aes-256-gcm
password: "password"
proxy-groups:
- name: "自动选择"
type: url-test
proxies: ["HK-01"]
url: http://www.gstatic.com/generate_204
interval: 300
rules:
- GEOIP,CN,DIRECT
- MATCH,自动选择
proxies:节点清单,字段与 Base64 分享链接一一对应,只是换成 YAML 写法。proxy-groups:策略组,常见类型有手动选择 select、自动测速 url-test、负载均衡 load-balance、故障转移 fallback。rules:分流规则,按域名、IP 段、GEOIP 等条件把流量分给直连、代理或拒绝。
拿到 YAML 订阅等于拿到开箱即用的完整配置:节点、分组、规则一次到位。代价是格式与 Clash 系绑定,其他生态的客户端读不了。还要注意内核差异:mihomo(Clash Meta)支持 vless、hysteria2、tuic、wireguard 等节点类型,已停更的老 Clash 内核遇到不认识的类型会解析失败或直接跳过该节点。
各客户端可直接导入的订阅格式对照
下表按内核列出本站收录客户端可直接导入的订阅格式:
| 客户端 | 内核 | 可直接导入的订阅格式 |
|---|---|---|
| Clash Verge Rev | mihomo | Clash YAML、Base64 分享链接 |
| Clash Plus | mihomo | Clash YAML、Base64 分享链接 |
| FlClash | mihomo | Clash YAML、Base64 分享链接 |
| ClashX Meta | mihomo | Clash YAML、Base64 分享链接 |
| Clash for Android | Clash(停更) | Clash YAML |
| Clash for Windows | Clash Premium(停更) | Clash YAML |
| Surfboard | Surge 兼容 | Surge 格式配置 |
规律很简单:mihomo 内核的客户端两种格式通吃,导入 Base64 订阅时会在本地把每条分享链接解析成 proxies 条目,再套一层默认策略组与规则;老 Clash 内核只认 YAML;Surfboard 走 Surge 配置体系,Clash 订阅需要先转换。所以选客户端时如果订阅只有 Base64 一种输出,优先选 mihomo 内核的客户端,可以省掉转换这一步。
格式相互转换的三种方法
方法一:订阅转换器(在线或自建)
订阅转换器是一个中间服务:你把原始订阅地址交给它,它拉取节点清单,按你指定的目标格式重新拼装后返回。转换后的地址一般形如:
https://sub.example.com/sub?target=clash&url=原始订阅地址的URL编码&config=规则模板
target 参数决定输出格式(clash、surge、quanx 等),config 参数指定外挂的规则模板。转换器同时解决了两个问题:格式不兼容,以及 Base64 订阅缺少规则的问题。
公开转换实例的凭证风险
把订阅地址交给第三方转换器,等于把 token 明文交给对方服务器,对方可以看到你的全部节点与用量。敏感套餐建议自建转换后端(subconverter 开源可自部署),或改用支持直接导入的 mihomo 客户端,绕过中间环节。
方法二:客户端内置解析
Clash Verge Rev、Clash Plus、FlClash 等 mihomo 客户端在新建订阅时直接粘贴 Base64 订阅地址即可,内核会自动识别内容类型并完成转换,无需任何外部工具。这是目前最省事的路径,也是推荐新用户优先采用的方式。
方法三:手动解码与改写
排查问题或只需要个别节点时,可以手动处理。Base64 订阅解码只需要一条命令:
curl -s "订阅地址" | base64 -d
解码后逐行检查节点链接,确认协议前缀是否在内核支持列表内。需要转成 YAML 时,按上一节的 proxies 字段格式逐条抄写即可,节点数量少时手动方式反而比搭转换器快。
导入失败的排查顺序
订阅导入报错或节点为空时,按下面的顺序逐项排除,命中率从高到低:
- 先用浏览器直接打开订阅地址。能返回文本说明链接有效;返回 401/403 是 token 失效,返回 404 是路径变更,都需要去服务商后台重新获取。
- 确认返回内容的格式。浏览器里看到一大段无空格密文是 Base64;看到 proxies、rules 等字段是 YAML。格式与客户端不匹配就走转换。
- 检查节点协议是否被内核支持。含 ssr:// 的订阅在 Clash 系里这部分节点会被丢弃;含 hysteria2、tuic 的订阅只有 mihomo 内核能识别。
- 检查本地网络。订阅地址本身被墙时,需要先有一次可用代理才能拉取,可在客户端里开启「使用系统代理更新订阅」之类的选项,或先手动导入一个节点救急。
- 检查 YAML 语法。手动编辑过的配置常见缩进错误、中文冒号、未转义的特殊字符,客户端日志里一般会给出出错行号。
订阅链接的安全与日常维护
- 订阅地址按密码同等对待。不发群聊、不截图外传、不提交到来路不明的在线转换站。
- 泄露后立即重置。服务商后台一般提供「重置订阅链接」按钮,重置后旧地址即刻失效,各客户端里的订阅地址需要同步更新。
- 更新间隔不必太短。节点清单变化频率低,客户端默认的 24 小时或 12 小时足够;频繁拉取只会增加服务端压力,部分服务商还会限频。
- 多客户端共用一条订阅时留意格式。在 mihomo 客户端与老内核客户端混用的场景,以服务端能输出 Clash YAML 为前提,否则老内核那台需要单独走转换地址。
总结一下判断链路:拿到订阅地址先看返回格式,Base64 走 mihomo 客户端直接导入或转换器,Clash YAML 全系列 Clash 客户端通吃,Surge 系客户端单独转换。格式问题解决了,剩下的就是常规的分流规则与策略组调整,这部分可以对照本站配置教程逐项设置。
DOWNLINK READY
下载 Clash 客户端
mihomo 内核客户端可直接导入 Base64 与 YAML 两种订阅格式,Windows、macOS、Linux、Android、iOS 全平台覆盖。