订阅链接有哪些格式?Clash、通用订阅和小火箭能通用吗
先给结论:订阅链接只是一个网址,网址背后的内容有好几种格式,不同客户端认的格式不一样。所以会出现“同一个服务商,Clash 里能用,小火箭里节点是空的”。最稳妥的办法是在服务商后台选择与你的客户端对应的订阅格式,而不是自己想办法转换。
常见的几种格式
| 格式 | 内容大致长什么样 | 常见客户端 |
|---|---|---|
| Clash 配置 | 一份 YAML 文本,里面有 proxies:(节点)、proxy-groups:(策略组)、rules:(规则) |
Clash Verge Rev 等 Clash / mihomo 系客户端 |
| 通用订阅 | 一长串看不懂的字符(Base64 编码),解开后每行是一个节点链接,如 ss://、vmess://、vless://、trojan:// |
v2rayN、Shadowrocket 等 |
| sing-box 配置 | 一份 JSON 文本 | sing-box 系客户端 |
| 其他客户端的专用格式 | Surge、Quantumult X、Loon 等各有自己的配置语法 | 对应的客户端 |
具体某个客户端是否支持某种格式、支持到什么程度,会因版本而异,以客户端自己的说明为准。
为什么同一个链接在不同客户端里表现不同
很多服务商的订阅链接不是只对应一种格式:
- 后台可能提供多个按格式区分的链接,或者在链接里带上格式参数;
- 部分面板还会根据客户端发出请求时的标识,自动返回对应格式的内容。
所以把一个为 Clash 生成的链接贴进别的客户端,常见的结果是“导入成功但节点为空”或者“解析失败”。这时先别怀疑套餐出了问题,先确认拿的是不是对应格式的链接。
怎么判断一个链接是什么格式
把订阅链接粘贴到浏览器地址栏打开(只用浏览器,不要贴进任何在线工具):
- 看到以
proxies:之类开头的、有缩进的文本:Clash 格式; - 看到一长串没有空格的随机字符:通用(Base64)格式;
- 看到以大括号
{开头的结构化文本:JSON 格式,可能是 sing-box; - 看到网页或错误提示:链接失效或套餐有问题,见 订阅链接:是什么、怎么用、怎么保管。
能不能互相转换
可以,但要先想清楚隐私风险。订阅链接等同于账号凭证,转换服务(无论是在线网站,还是别人搭好的转换接口)需要你把链接交给第三方,对方理论上就能拿到它。所以:
- 优先用服务商直接提供的对应格式,不转换;
- 实在需要转换时,优先考虑在自己电脑本地运行的转换工具,不要把链接交给来源不明的网站;
- 怀疑链接泄露了,就回服务商后台重置订阅;
- “合并多个订阅”的需求,多数客户端本身支持添加多个订阅,不必借助第三方合并。
导入时的几个常见现象
- 一键导入链接(形如
clash://、shadowrocket://的自定义协议链接)是服务商为了方便跳转导入做的,本质上还是在传递一个订阅地址,格式依然取决于链接背后的内容; - 导入后节点为空:先查格式,再查链接是否完整、套餐是否过期,见 机场订阅链接导入教程;
- 提示 failed to fetch remote profile:那是“内容没下载下来”,不是格式问题,见 Clash 提示 failed to fetch remote profile 怎么办。