同一条订阅链接,为什么这个客户端能用那个不行
同一个订阅地址,Clash 拿到的是 YAML,v2rayN 拿到的是 Base64 节点清单——服务端按请求头里的 User-Agent 决定返回哪种格式。理解这一点,就能解释「链接没换、换个客户端就报错」这类问题,也知道该怎么验证。
配置里那些字段到底在说什么。
同一个订阅地址,Clash 拿到的是 YAML,v2rayN 拿到的是 Base64 节点清单——服务端按请求头里的 User-Agent 决定返回哪种格式。理解这一点,就能解释「链接没换、换个客户端就报错」这类问题,也知道该怎么验证。
打开订阅地址,有人看到一整块乱码,有人看到一行行 vmess:// 开头的链接。两种都是正常的订阅内容,区别只在机场有没有做 Base64 编码。本文说明两种形态的由来、各自的判断方法,以及编码与加密的区别。
在浏览器里打开机场订阅地址,看到的往往是一长串没有换行的字符。那不是加密,是 Base64 编码的节点清单。本文说明它的结构、为什么要编码、以及三种常见的订阅返回格式怎么区分。
解析 vmess 链接时看到 alterId 非零并被标为过时,原因是 VMess 早已从 MD5 认证换成了 AEAD。本文说明 alterId 的历史作用、为什么它被废弃、以及遇到非零值时该怎么处理。
VMess 和 VLESS 用 UUID,Trojan 和 Shadowsocks 用密码,看起来是两种东西,泄露后果却完全一样。本文说明各协议凭证的形式差异、为什么 UUID 不能当成「不敏感的 ID」,以及分享配置前该抹掉什么。
节点配置里的 sni 字段决定 TLS 握手时报哪个域名。它是明文传输的,也正因如此成了最容易出问题的一项。本文说明它的作用、和 Host 的区别,以及三种典型的配错场景。
节点链接里出现 security=reality、pbk、sid 这些参数时,说明它用的是 Reality。本文说明它借用真实网站 TLS 特征的原理、为什么不需要自己的域名和证书,以及 pbk / sid / fp 各是什么。
Clash 的规则从上往下逐条匹配、命中即停,所以一条宽泛的规则放在前面,会让它后面所有具体规则永远不执行。本文说明正确的排列顺序、GEOIP 为什么必须靠后,以及怎么验证某个域名到底命中了哪条。