AnyTLS .wiki

URI 格式

anytls:// 分享链接用于在客户端之间快速传递一个 AnyTLS 节点的完整配置。

总体格式

AnyTLS 分享链接遵循通用的 URI 结构:

格式
anytls://<密码>@<主机>:<端口>?<查询参数>#<备注>

其中 密码 位于 userinfo 部分,主机:端口 是服务端地址,问号后是可选的查询参数,井号后是可选的节点备注名。

字段说明

  • 密码:连接认证密码,须与服务端一致。包含特殊字符时需做 URL 编码(百分号转义)。
  • 主机:服务端 IP 或域名。
  • 端口:服务端监听端口,例如 8443
  • 备注# 之后):仅作显示名称,不影响连接,需 URL 编码。

查询参数

  • sni:TLS 握手使用的服务器名称(SNI)。省略时通常回退为主机名。
  • insecure:是否跳过证书校验。1 表示跳过(用于自签证书),0 表示校验。

字段以实现为准

不同客户端对查询参数的支持范围略有差异,且协议仍在迭代。导入后请核对地址、端口、密码与 SNI 是否被正确解析。

示例

使用自签证书、跳过校验,并带一个中文备注:

示例 · 自签证书
anytls://my-pass@1.2.3.4:8443?insecure=1#%E6%88%91%E7%9A%84%E8%8A%82%E7%82%B9

使用真实域名与有效证书,指定 SNI 且开启证书校验:

示例 · 真实证书
anytls://my-pass@proxy.example.com:8443?sni=proxy.example.com&insecure=0#Prod

转义规则

密码、备注等可能包含特殊字符的字段必须遵循 URL 编码规则。常见需要转义的字符:

  • @%40:%3A/%2F
  • #%23?%3F&%26
  • 空格 → %20;中文等非 ASCII 字符按 UTF-8 逐字节百分号编码。

密码里有特殊符号?

如果密码包含 @:# 等字符却没有转义,URI 会被错误解析,导致连接失败。 生成分享链接时务必对密码做 URL 编码。