梯子实验室tizilab.net

梯子订阅的三种格式:YAML、Base64和JSON

简短回答

梯子 yaml 文件就是 Clash 和 mihomo 内核读的配置文件,里面同时写了节点、策略组和分流规则。另外两种常见订阅,一种是把多条 vmess://、trojan:// 分享链接合在一起再做 Base64 编码,给 v2rayN、v2rayNG 用;另一种是 sing-box 的 JSON 配置。三种格式装的可以是同一批节点,客户端只认自己那一种时,导入会报错或显示零个节点。

背景:这个问题从哪来

机场面板的“一键订阅”按钮下面,经常并排放着 Clash、Shadowrocket、V2Ray、sing-box 好几个选项。复制错一个,客户端里就会出现“解析失败”“配置无效”,或者导入成功却一个节点也没有。另一种情况是把订阅地址粘进浏览器,看到的是一大段缩进整齐的英文,或者一整行看不懂的字母,于是怀疑订阅坏了。

这些现象都和订阅格式有关。订阅地址返回的是一个文本文件,文件里怎么写,决定了哪个客户端能读懂。本文把三种常见格式各拆一遍,再说清本站 免费节点页 的三个订阅分别给谁用,最后讲订阅转换网站为什么要谨慎用。

梯子 yaml 文件里写了什么

Clash 系客户端(Clash Verge Rev、FlClash、Clash Meta for Android、Stash 等)用的内核大多是 mihomo,mihomo 文档给出的完整配置示例是一份 config.yaml。一份机场给的 YAML 订阅通常是完整配置,不只是节点列表,大致分成四块。

段落 作用 本站免费订阅里的写法
全局设置 本地端口、运行模式、日志级别 mixed-port: 7890、mode: rule
proxies 每个节点一项,写服务器、端口、协议参数 每轮通过连通检查的节点
proxy-groups 策略组,决定从哪些节点里选 一个手动选择组,一个每 5 分钟测一次延迟的自动组
rules 分流规则,自上而下匹配 局域网和中国大陆 IP 直连,其余走选择组

因为规则也写在里面,同一份 YAML 在不同人的电脑上分流结果是一样的。这也是很多机场首推 Clash 订阅的原因,规则由机场统一维护,用户导入就能用。规则模式怎么匹配,见 规则模式与全局模式的对照。

YAML 靠缩进表示层级。有人下载后用记事本改了几行,缩进里混进全角空格或制表符,客户端就会报解析错误。改之前先备份原文件。

Base64 订阅:一串编码后的分享链接

v2rayN 的官方 Wiki 写明,它支持的订阅内容是各协议的标准分享链接,或者 v2rayN 自己的内部格式。机场给的“V2Ray 订阅”“通用订阅”,一般是把多行 ss://、vmess://、vless://、trojan:// 链接拼在一起,再整体做一次 Base64 编码。Base64 的编码规则由 RFC 4648 规定,只用大小写字母、数字、加号、斜杠和补位的等号。

所以浏览器打开这类订阅,看到的是一整段没有空格的字符。解码以后恢复成每行一条链接,每条链接由哪些字段组成,拆解在 节点分享链接逐段拆开 那篇。

这种格式只有节点,没有策略组和规则。分流交给客户端自己的路由设置,各客户端默认用哪套规则不一样,本站没有逐个核对。v2rayN 在 Windows 上添加订阅、更新订阅的截图步骤见 v2rayN Windows 教程。

mihomo 文档也提到这种格式。它的代理集合(proxy-providers)除了 YAML,也能读 uri 列表和 base64 内容,文档的注释写明 base64 的 uri 通常就是提供给 v2ray、xray 的订阅内容,并且三种写法不能混在同一个文件里。我们的判断是,这只说明 mihomo 内核在“代理集合”这个位置能吃下 Base64,客户端的主订阅入口是否接受 Base64,要看各客户端自己的处理,本站没有逐个测试。

sing-box 的 JSON 配置

sing-box 文档说明它的配置文件是 JSON,顶层有 log、dns、inbounds、outbounds、route 等字段。节点写在 outbounds 里,策略组对应 selector 和 urltest 两种出站,规则写在 route 里。和 YAML 一样,这是一份完整配置。

sing-box 的配置写法会随版本变化。以 DNS 为例,文档标注带 type 字段的 DNS 服务器写法从 1.12.0 开始提供。本站的 sing-box 订阅用了这种写法,所以免费节点页标注的是“1.12 及以上”,更早的内核读到这份文件可能报错。

sing-box 的图形客户端把订阅叫作远程配置。官方的通用说明要求图形客户端实现远程配置的自动更新,默认间隔 60 分钟。本站的 sing-box 客户端页 记录,把 Clash YAML 或 Base64 订阅填进官方客户端的远程配置,结果是启动失败。

三种格式和客户端对照

格式 文件里是什么 带规则吗 常见读取它的客户端
Clash YAML 全局设置、节点、策略组、规则 带 Clash Verge Rev、FlClash、Clash Meta for Android、Stash
V2Ray Base64 编码后的多行分享链接 不带 v2rayN、v2rayNG、Shadowrocket
sing-box JSON 入站、出站、DNS、路由 带 sing-box 官方客户端
多格式都读 按内容自动识别 视格式而定 Hiddify(README 列出 sing-box、V2Ray、Clash、Clash Meta),Karing

本站 免费节点页 的三个订阅地址装的是同一批节点,节点来源、同步周期和检查方式写在那一页,要点是检查只做到 TCP 能否连通,没有经节点打开过网页,国内网络下的可用性也没有数据。Clash 订阅按上表的 YAML 结构生成,V2Ray 订阅是 Base64,sing-box 订阅要求 1.12 及以上。三个订阅的响应头里都带了建议的更新间隔 6 小时,读这个响应头的 Clash 系客户端会按它设定自动更新。更多客户端按系统列在 梯子下载页。

梯子 url 转换:订阅转换服务能看到什么

手上只有一种格式、客户端要另一种时,网上的做法是找一个订阅转换网站,把订阅地址填进去,拿到一个新地址。这个过程要注意三点。

  1. 转换服务拿到了完整订阅。 它要替你去拉原订阅、解析每个节点,节点的服务器地址、端口、密码或 UUID 它都能看到。机场订阅地址里通常带着账号的令牌,谁拿到地址谁就能用你的流量。
  2. 新地址长期指向对方的服务器。 客户端每次更新订阅,都会带着原订阅地址去请求转换服务。对方记不记录日志、会不会换内容,用户这边看不到。
  3. 转换可能丢节点。 目标格式不支持的协议和参数会被略过,转换后要核对节点数。

更稳妥的顺序是先在机场面板里找有没有目标格式的订阅,多数面板会同时给出几种;再考虑换一个能读原格式的客户端,比如 Hiddify;这两条都走不通时,用能在本机运行的转换工具,不把订阅地址交给别人的服务器。转换过的地址泄露后,到机场面板重置订阅,旧地址就失效了。

自己怎么验证

  1. 先看文件开头。 把订阅地址粘进浏览器,或在终端运行 curl -L "订阅地址" -o sub.txt,用文本编辑器打开。开头出现 proxies:、mixed-port: 这类带冒号的英文键名,是 YAML;以 { 开头并能看到 "outbounds",是 sing-box JSON;一整段字母数字,大概率是 Base64。
  2. 解码 Base64。 Windows PowerShell 运行 [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String((Get-Content sub.txt -Raw))),macOS 和 Linux 运行 base64 -d sub.txt。输出每行是一条分享链接,就确认了格式。
  3. 数节点。 YAML 数 proxies 下的条目,JSON 数 outbounds 里协议类的条目(去掉 selector、urltest、direct),Base64 数解码后的行数。三种格式的数字对得上,说明内容一致。
  4. 对照客户端报错。 导入后提示解析失败,先回到第 1 步确认格式和客户端是否匹配,再去查节点本身。

注意,有的机场面板会根据客户端发出的请求头返回不同格式,浏览器和客户端拿到的内容可能不一样。我们推测这类面板不在少数,本站没有逐家核对。

这篇没有覆盖的

本文只讲三种常见格式。Surge、Quantumult X、Loon 这类 iOS 客户端各有自己的配置语法,没有展开。sing-box 和 mihomo 的配置字段会随版本增删,本文依据的是 2026 年 9 月 26 日查阅时的官方文档。表里“常见读取它的客户端”来自本站客户端页和官方说明,本站没有对每个客户端逐一做导入测试,个别版本可能有出入。订阅导入后的具体步骤,以各客户端教程为准。

本文引用的来源8 条 · 在新窗口打开

  1. mihomo 文档:配置wiki.metacubex.one
  2. mihomo 文档:代理集合内容(YAML、uri、base64 三种写法)wiki.metacubex.one
  3. sing-box 文档:配置结构sing-box.sagernet.org
  4. sing-box 文档:DNS 服务器(1.12.0 起的新写法)sing-box.sagernet.org
  5. sing-box 文档:图形客户端通用说明(远程配置)sing-box.sagernet.org
  6. v2rayN Wiki:订阅功能说明github.com
  7. Hiddify 官方仓库 READMEgithub.com
  8. RFC 4648:Base16、Base32 与 Base64 编码rfc-editor.org

常见问题4 题

订阅链接打开后是一长串乱码字母,是不是坏了

多数情况是 Base64 订阅。它把多行分享链接编码成只含字母、数字和加号斜杠的一整段,浏览器直接显示就是这个样子。解码后每行应当是一条 ss://、vmess:// 之类的链接,能解出来说明订阅本身没有坏。

Clash 的 yaml 订阅能直接导入 v2rayNG 吗

按本站 v2rayNG 客户端页的记录,Clash 格式配置不在它的读取范围内。安卓上拿到 YAML 订阅,可以换用 Clash Meta for Android 或 FlClash;或者在机场面板里找有没有“通用订阅”“V2Ray 订阅”这一项,多数面板会同时给几种格式。

下载下来的 .yaml 文件怎么用

Clash Verge Rev、FlClash 这类客户端的订阅页一般有导入本地文件的入口,选中这个文件即可。本地文件不会自动更新,节点变了要重新下载一次。能拿到订阅地址的话,优先填地址,客户端会按间隔自己去拉新内容。

订阅转换以后节点变少了是怎么回事

常见原因是目标格式不支持其中某些协议或参数,转换时被丢掉了。本站的 sing-box 订阅就会略过 ssr、xhttp 这类 sing-box 不支持的节点,页面上会写明略过的数量。转换前后各数一次节点,差额就是被丢掉的部分。

本文最后一次核对来源是 。软件界面、服务政策和法规会变,发现和现在不一致的地方,请按更正与反馈里的方法告诉我们。