一条配置链接把客户端需要的一切装进一行:服务器、密钥和传输设置。会读它,你就知道自己拿到了什么,也知道配置为什么会失败。下面所有示例都使用占位内容,而不是真实服务器。
VLESS
vless://[email protected]:443?encryption=none&security=reality&sni=site.example&fp=chrome&pbk=PUBLIC_KEY&sid=SHORT_ID&type=tcp&flow=xtls-rprx-vision#my-config
| 部分 | 含义 |
|---|---|
00000000-… | 用户 ID(UUID)。它就是密钥:谁有它,谁就能使用这台服务器。 |
server.example:443 | 服务器地址和端口。 |
encryption=none | VLESS 自己不做加密;由安全层保护流量。 |
security | none、tls 或 reality。 |
sni | TLS 握手中出示的服务器名称。使用 REALITY 时,它是被模仿的那个真实网站。 |
fp | 客户端模仿的 TLS 指纹,例如 chrome。 |
pbk、sid | REALITY 公钥和 Short ID。两者都必须与服务器完全一致。 |
type | 传输:tcp、ws(WebSocket)、grpc 等。 |
flow | xtls-rprx-vision 是 Vision flow,与 REALITY 或 TCP 上的 TLS 搭配使用。 |
path、host、serviceName | 使用 WebSocket 或 gRPC 传输时的相关设置。 |
#my-config | 显示在你列表中的标签。 |
VMess
vmess:// 链接是前缀加上一小段 JSON 文档的 Base64 编码。解码后是这样的:
{"v":"2","ps":"my-config","add":"server.example","port":"443","id":"00000000-0000-0000-0000-000000000000","aid":"0","scy":"auto","net":"ws","type":"none","host":"server.example","path":"/path","tls":"tls","sni":"server.example"}
add 和 port 是服务器,id 是 UUID,aid 是旧版的 alter ID(应为 0),net 是传输,host 和 path 属于 WebSocket,tls 用于启用 TLS,ps 是标签。要手动解码,取 vmess:// 之后的文本,用 base64 -d 处理即可。
Shadowsocks
ss://BASE64(method:password)@server.example:8388#my-config
@ 之前的部分是加密方式和密码,经过 Base64 编码。请使用 AEAD 加密方式。rc4-md5 或 aes-256-cfb 等较旧的流加密方式很弱。一些较旧的链接则是把整个 method:password@host:port 做 Base64 编码。
Trojan
trojan://[email protected]:443?security=tls&sni=server.example&type=tcp#my-config
@ 之前的部分是密码。Trojan 需要 TLS 来保护流量,所以应当带有 security=tls。
订阅
订阅地址返回一个链接列表,通常经过 Base64 编码,每行一个。应用会获取它、解码,并添加其中每一条链接。当服务商替换掉被封锁的服务器时,刷新订阅就能拿到新的服务器。
会让链接失效的错误
链接解析器会检查常见的错误:
- UUID 或端口无效;
- REALITY 缺少公钥或服务器名称;
- VLESS 或 Trojan 未使用 TLS;
- 开启了
allowInsecure,这会关闭证书校验; - 过时的 Shadowsocks 加密方式;
- 非零的 VMess alter ID。
pbk 或 sid 中错一个字符,REALITY 配置就会在没有任何提示的情况下失败。见为什么连接可以成功却什么都加载不出来。
链接就是凭据
链接里的 UUID 或密码就是服务器的钥匙。任何拿到链接的人都能使用它,在共享服务器上,这还可能消耗你的流量配额。不要在公开聊天中发布链接;公开的链接也会更快被封。
本站的解析器在页面内解析,不会向任何地方发送内容:解析链接时,页面不会发出任何网络请求。即便如此,向任何在线工具粘贴链接时仍要谨慎。你随时可以像上面那样用 base64 -d 离线解码。