梯子订阅的三种格式:YAML、Base64和JSON
梯子 yaml 文件是 Clash 系客户端读取的完整配置,Base64 订阅是一串编码后的分享链接,sing-box 用 JSON。
协议与内核更新约 6 分钟
看梯子协议,先看分享链接开头 :// 之前的字母,ss、vmess、vless、trojan、hysteria2 对应五种常见协议;后面依次是凭证、服务器地址和端口、问号后的参数、井号后的备注,只有 vmess 的旧格式把整段配置打包成 Base64。凭证就写在链接里,谁拿到整条链接谁就能连上节点,所以它和账号密码一样不能公开。
多数人第一次见到协议名,是在一条以 ss:// 或 vless:// 开头的长字符串里。它可能来自朋友转发、机场后台的“复制链接”按钮,或者 /jiedian/ 这类免费节点页的单条节点。复制进客户端就能用,可链接里写了什么,大多数人没有拆开看过。
拆开看有两个用处。一是导入失败时,能判断是哪一段写错了;二是明白为什么这串字符不能随手贴到群里。本文只讲链接格式,协议之间谁快谁慢不在讨论范围内。下面的示例链接都用 example.com 和编造的凭证,不能连接。
分享链接借用了网址的写法,:// 前面叫 scheme,客户端靠它决定用哪种协议解析后面的内容。
| 开头 | 协议 | 凭证放在哪 | 格式依据 |
|---|---|---|---|
| ss:// | Shadowsocks | @ 之前,加密方式和密码 | SIP002 规范 |
| vmess:// | VMess | 旧格式整段 Base64;新格式 @ 之前是 UUID | v2rayN Wiki;Xray 社区提案 |
| vless:// | VLESS | @ 之前,UUID | Xray 社区提案 |
| trojan:// | Trojan | @ 之前,密码 | trojan-url 工具说明(尚未定稿) |
| hysteria2:// 或 hy2:// | Hysteria 2 | @ 之前,认证字符串 | Hysteria 2 官方文档 |
除了 vmess 的旧格式,其余四种的骨架相同。@ 前是凭证,@ 后是服务器域名或 IP 加端口,问号后面是若干“键=值”参数,用 & 连接,井号后面是显示在客户端里的节点名。按网址的通用写法,IPv6 地址要放进方括号里。
SIP002 规定的形式是 ss:// 接 userinfo,再接 @、主机和端口,后面可选 plugin 参数和 # 备注。userinfo 由加密方式、冒号、密码三部分组成,传统的 Stream 和 AEAD 加密可以用 Base64URL 编码,也可以不编码。
ss://YWVzLTEyOC1nY206bGFiZGVtbzAx@example.com:8388#lab-demo
把 @ 前那段按 Base64 解码,得到 aes-128-gcm:labdemo01,冒号前是加密方式,后面就是密码。所以这段编码只防止特殊字符打乱格式,任何人都能解开。规范还写明,2022 系列加密(SIP022)的 userinfo 不能用 Base64URL,要把加密方式和密码分别做百分号编码后直接写出来。
v2rayN 维护的旧格式是 vmess:// 后接一段 Base64,解码后是一个 JSON 对象。常见字段如下。
Xray 社区后来提出了 URL 式的写法,形如 vmess://UUID@主机:端口?参数#备注,只适用于 VMess AEAD,不再带 alterId。两种写法开头都是 vmess://,客户端看后面是不是一整段 Base64 来区分。
VLESS 链接的 @ 前面是 UUID。Xray 文档说明 id 可以是合法的 UUID,也可以是 30 字节以内的任意字符串,后者会被映射成一个 UUID。常见参数分三组。
| 参数 | 作用 | 省略时 |
|---|---|---|
| encryption | VLESS 加密设置 | 按 none 处理 |
| flow | 流控,例如 xtls-rprx-vision | 不启用 |
| type | 传输方式,tcp、ws、grpc、xhttp 等 | 提案未写默认值 |
| security | none、tls 或 reality | none |
| sni、fp、alpn | TLS 握手时的域名、客户端指纹、应用层协议 | sni 沿用服务器地址 |
| pbk、sid、spx | REALITY 的公钥、shortId、爬虫路径 | 用 REALITY 时 pbk 必填 |
| path、host、serviceName | WebSocket 路径与域名、gRPC 服务名 | 视传输方式而定 |
提案要求参数值都做 URL 编码。security=reality 时,pbk 缺了就连不上,这是手动改链接时出错较多的地方。
trojan-url 工具给出的基本写法是 trojan://密码@主机:端口,密码里有特殊字符要做 URL 编码,示例端口是 443。各客户端常在问号后加 sni、type 等参数,这部分没有统一规范。Trojan-GFW 文档写明,客户端握手后发送的是密码的 SHA224 十六进制哈希,服务器用它核对身份。我们的判断是,明文密码只留在本机的配置里,链接一旦外传,这层哈希就起不到保护作用。
Hysteria 2 官方文档给出的形式是 hysteria2://认证@主机:端口/?参数#名称,scheme 也可以写成 hy2。端口省略时默认 443,也可以写成 5000-6000 这样的端口段,用于端口跳跃。参数有 obfs 和 obfs-password(混淆)、sni、insecure(是否跳过证书校验)、pinSHA256(固定证书指纹)等。文档特别说明,链接里只放连接必需的信息,带宽和本地代理模式要在客户端里另外设置。Hysteria 2 基于 QUIC,走 UDP,网络对 UDP 的限制见 UDP 开关那篇指南。
上面五种格式有一个共同点,凭证全在链接里。ss 的密码只是 Base64 编码,vless 和 vmess 的 UUID 本身就是身份,trojan 和 hysteria2 的密码也是明文写着。拿到链接的人不需要登录机场面板,导入客户端就能以你的身份使用这个节点。
所以截图求助时,要把 @ 前后的内容都打码,服务器地址也建议遮住。订阅链接的风险更大,它一次性交出全部节点,订阅格式那篇指南写了第三方转换服务能看到什么。机场自己能看到哪些信息,另见机场能看到什么。
echo 字符串 | base64 -d;解码时把 - 和 _ 换回 + 和 /,长度不是 4 的倍数的末尾补 =。
读到这里想直接用?
客户端装好以后,还要一份机场订阅才能连上。星岛梦在本站梯子推荐排第 1 名,资料写明 IEPL、IPLC 专线,站长 6 月 17 日实测,香港节点均速 375 MB/s 以上。
Trojan 是一种伪装成 HTTPS 流量的代理协议。按 Trojan-GFW 文档的描述,客户端先和服务器完成 TLS 握手,再发出密码的 SHA224 哈希和目标地址;服务器校验不通过时,会把这条连接转给预先设定的网页服务,外面看起来像一个普通 HTTPS 网站。
分享链接只描述一个节点,凭证和参数都写在链接本身里。订阅链接是一个网址,客户端去这个网址下载一批节点,内容可能是 YAML、Base64 或 JSON,机场改了节点后客户端更新订阅就能拿到新配置。两者都带凭证,都不该贴到公开场合。
URL 里不能直接放空格和多数非 ASCII 字符,所以井号后面的备注会被百分号编码,例如一个汉字变成三组 %XX。客户端导入时会解码回中文,显示正常就说明解析没问题,手动改备注时也要按同样的规则编码。
对方导入后用的是你的凭证,流量从你的套餐里扣,机场按设备数或在线 IP 限制时还可能把你挤下线,是否允许共享要看这家机场自己的用户条款。需要给别人用时,更稳妥的做法是让对方自己开一个账号。
本文最后一次核对来源是 。软件界面、服务政策和法规会变,发现和现在不一致的地方,请按更正与反馈里的方法告诉我们。
梯子 yaml 文件是 Clash 系客户端读取的完整配置,Base64 订阅是一串编码后的分享链接,sing-box 用 JSON。
协议与内核更新约 6 分钟
梯子安全吗,要先弄清机场在技术上能看到哪些东西。本文按 TLS 1.3、ECH、DoH 的 RFC 和代理协议说明,逐项列出机场可见与不可见的信…
安全与风险更新约 5 分钟
梯子 UDP 要开吗,要看你用梯子做什么。本文按 QUIC、WebRTC 的 RFC 和 mihomo 文档,说明哪些应用走 UDP、客户端和节…
协议与内核更新约 4 分钟