常见订阅格式有三类:Clash 风格是 YAML 文本,含 proxies、proxy-groups、rules 等段;base64 订阅是一大段经过编码的节点链接清单,解码后每行一个节点;sing-box 订阅是 JSON。选客户端时要看它能读哪几类,格式不对就会出现导入后没有节点或报错。
订阅格式,是导入订阅失败时常被忽略的一个原因。同样是机场后台复制的一条链接,有的客户端读得顺顺当当,有的却提示格式错误、节点列表空空如也。问题往往不在链接本身,而在“它是什么格式”和“客户端读哪种格式”对不上。这篇把三种最常见的订阅格式讲清楚:长什么样、对应哪类客户端、不匹配时会出什么症状,以及怎样自己判断。
订阅其实是一份“文本”
先破除一个误解:订阅链接不是软件,也不是节点本身,它只是一个网址。客户端访问这个网址,得到一段文本,再从文本里解析出节点和配置。文本的写法不同,就是不同的格式。你可以把它想象成同一份菜单,有的店印成中文,有的店印成英文,客户端是只懂其中一种语言的服务员。想了解订阅整体怎么运作,读 机场订阅是什么。
三种常见的订阅格式
下面这张表,是最实用的认格式速查:
| 格式 | 外观特征 | 常见内容 | 通常对应的客户端 |
|---|---|---|---|
| Clash 风格(YAML) | 缩进整齐的文本,带冒号,出现 proxies、proxy-groups、rules 等段 | 节点列表、策略组、规则 | Clash 系客户端 |
| base64 编码的节点链接列表 | 一大段看不懂的字母和数字,解开以后一行放一个节点链接 | 只有节点,不含规则 | v2rayN 一类客户端 |
| sing-box 风格(JSON) | 花括号和引号包起来的结构,出现 outbounds 等字段 | 节点与路由配置 | sing-box 系客户端 |
注意“通常对应”四个字:现在不少客户端能读不止一种格式,具体以官方说明为准,不要只凭经验判断。
Clash 风格订阅:连规则一起给
Clash 风格的订阅除了节点,还带着策略组和规则,所以导入之后,分流规则、节点分组都是现成的。它的好处是开箱即用;坏处是规则质量取决于服务商,你想改规则,要用客户端的覆写功能,否则订阅一更新就被覆盖。相关概念见 规则分流是什么 和 策略组是什么。
导入的步骤,读 Clash 订阅怎么导入。
base64 订阅:只给节点,规则自己设
base64 订阅给的是节点本身。把那一大段文本解码后,你会看到一行一行以协议名开头的节点链接。它没有规则和策略组,所以客户端导入之后,需要你自己设置路由方案。这种格式在 v2rayN 一类客户端里很常见,导入说明见 v2rayN 系客户端怎么导入订阅。
需要强调:base64 是编码而不是加密,任何人拿到都能解码,所以链接依旧需要保管。
sing-box 订阅:JSON 的结构化配置
sing-box 风格的订阅用 JSON 描述节点与路由。它的结构更严谨,也更不容易靠肉眼读懂。如果你的客户端是 sing-box 系,要确认机场是否提供这种格式;没有的话,就需要转换。一般用户不需要手动改,只要确认格式对得上就行。
同一个链接,为什么有时看到不同的内容
有人发现:同一个订阅链接,在浏览器里打开和在客户端里更新,得到的内容不一样。这不是你的错觉,原因通常有两类:
- 服务商的后台会根据链接里的参数,返回不同格式的内容,比如在链接末尾带上某个标记,就得到某种格式;
- 有的后台会根据客户端在请求里自报的身份,自动挑一种它认为合适的格式返回。
所以当格式不对时,先看机场后台有没有“选择客户端”或“选择格式”的入口,很多服务商会针对不同客户端提供各自的链接。复制时核对一下页面上写的是哪种客户端,不要拿到一条链接就在所有设备上通用。
格式不匹配时,会出现什么症状
对照下表,能快速判断是不是格式的问题:
| 症状 | 可能的原因 | 先做什么 |
|---|---|---|
| 更新订阅后节点列表为空 | 客户端读不了这种格式 | 核实客户端能读的格式 |
| 提示“格式错误”“解析失败” | 链接指向返回的内容不是客户端要的那种格式 | 用检测工具看内容,换格式链接 |
| 只导入了一部分节点 | 部分协议或字段不被客户端支持 | 检查客户端版本,必要时更新 |
| 有节点但没有规则 | 导入的是 base64 这类只有节点的格式 | 自己设置路由方案 |
| 链接在浏览器里打不开 | 网络或链接本身的问题 | 换网络,回后台确认链接 |
遇到导入失败,更完整的排查读 订阅导入失败怎么办。
自己动手:判断手里的订阅是哪种格式
不用靠猜,三步就能判断:
- 打开站内的 订阅格式检测,把订阅链接或内容贴进去,它在本机浏览器里运行,不会上传内容;
- 根据检测结果,对照上面的表,确认格式;
- 再再看你的客户端能读哪几种,决定是直接导入,还是需要换格式。
如果需要转换,读 订阅转换怎么做,并记住一条原则:转换尽量在本地完成,不要把带凭证的链接交给不明网站。
导入之前的三个习惯
最后给出三个能省不少麻烦的小习惯:
- 复制订阅链接时,顺手记下后台页面上标注的客户端名称,日后换设备或换客户端时能对号入座;
- 导入后先看一眼节点数量,是否和后台写的大致相符,数量明显偏少,多半是部分节点没被识别;
- 同时保留一条备用格式的链接,比如主用 Clash 风格,备用 base64,主用客户端出问题时可以临时换用另一个客户端顶上。
这些习惯花不了几分钟,却能让你在遇到格式问题时,有明确的方向可查。
几个常见的误解
- **“链接一样,格式就一样。”**同一个服务商常常提供多种格式的链接,要看清楚复制的是哪一种;
- **“base64 就是加密。”**它只是编码,没有保密作用;
- **“导入不了就是机场的问题。”**多数是格式与客户端不匹配;
- **“转换后更方便,可以随便找个网站转。”**转换会经手你的订阅凭证,要谨慎对待。
下一步:先确认格式,再选机场
如果你正准备买机场,先在 选机场向导 里确认自己的客户端,再到 机场推荐榜 核对各家资料里写的订阅格式;已经拿到订阅的,就用检测工具看一眼,再决定怎么导入。
- 本文讲格式的外观特征与对应关系,不讲具体字段写法,字段具体见各内核的官方文档。
- 各客户端支持的格式随版本变化,以你所用客户端官方文档的说法为准。
- 站内的格式检测只能判断大致格式,无法判断订阅里的节点是否可用。
这篇的几个常见问题
怎么一眼看出订阅是什么格式?
把订阅链接在浏览器里打开或用检测工具读取内容。如果看到缩进整齐、带冒号的文本,并出现 proxies、rules 之类的词,多半是 Clash 的 YAML;如果是一大串看不懂的字母数字,可能是 base64;如果是用花括号包起来的结构,多半是 JSON。
订阅格式与客户端对不上,会发生什么?
常见表现是:更新订阅后节点列表为空、提示格式错误,或者能导入但只有部分节点。解决办法是核实客户端能读的格式,必要时让机场后台提供对应格式的链接,或者使用可靠的转换方式,注意别把带凭证的链接交给不认识的转换站点。
base64 订阅就是加密了吗?
不是。base64 只是一种编码方式,用来把文本表示成字母和数字,任何人都可以解码,没有保密作用。它的好处是方便在网络上传输,解码后你会看到一行一个的节点链接。所以别以为它是加密保护,链接本身仍然要妥善保管。
我用的客户端只支持一种格式,机场给的是另一种怎么办?
先看机场后台有没有提供多种格式的链接,很多服务商会提供。如果没有,可以考虑换用读得了这种格式的客户端,或者在本地使用转换工具。转换时尽量在本机完成,避免把带有凭证的链接发给第三方。