2026-05-08 20:36:15 +08:00
2025-09-22 00:45:33 +09:00
2026-01-01 21:00:37 +09:00
2026-01-12 18:21:28 +09:00
2026-01-01 21:00:37 +09:00
2025-02-10 20:00:48 +09:00
2025-09-21 09:13:41 +09:00
2025-02-10 20:00:48 +09:00
2026-05-08 20:36:15 +08:00

AnyTLS

一个试图缓解 嵌套的TLS握手指纹(TLS in TLS) 问题的代理协议。anytls-go 是该协议的参考实现。

  • 灵活的分包和填充策略
  • 连接复用,降低代理延迟
  • 简洁的配置

用户常见问题

协议文档

URI 格式

快速食用方法

为了方便,示例服务器和客户端默认采用不安全的配置,该配置假设您不会遭遇 TLS 中间人攻击(这种情况偶尔发生在网络接入层,在骨干网络上几乎不可能实现);否则,您的通信内容可能会被中间人截获。

示例服务器

./anytls-server -l 0.0.0.0:8443 -p 密码

0.0.0.0:8443 为服务器监听的地址和端口。

服务端可通过环境变量自定义 TLS 证书:

ANYTLS_SERVER_CERT_FILE=/path/to/fullchain.pem \
ANYTLS_SERVER_KEY_FILE=/path/to/privkey.pem \
./anytls-server -l 0.0.0.0:8443 -p 密码
  • ANYTLS_SERVER_CERT_FILE: 证书文件路径PEM
  • ANYTLS_SERVER_KEY_FILE: 私钥文件路径PEM
  • 两者都不设置时,服务端会继续使用自动生成的临时证书(默认行为不变)。

也可通过命令行参数指定证书:

./anytls-server -l 0.0.0.0:8443 -p 密码 \
  -cert-file /path/to/fullchain.pem \
  -key-file /path/to/privkey.pem
  • -cert-file: 证书文件路径PEM
  • -key-file: 私钥文件路径PEM
  • 参数优先级高于环境变量;若参数和环境变量均未设置,则回退到自动生成临时证书。

示例客户端

./anytls-client -l 127.0.0.1:1080 -s 服务器ip:端口 -p 密码

127.0.0.1:1080 为本机 Socks5 代理监听地址,理论上支持 TCP 和 UDP(通过 udp over tcp 传输)。

v0.0.12 版本起,示例客户端可直接使用 URI 格式:

./anytls-client -l 127.0.0.1:1080 -s "anytls://password@host:port"

sing-box

https://github.com/SagerNet/sing-box

它包含了 anytls 协议的服务器和客户端。

mihomo

https://github.com/MetaCubeX/mihomo

它包含了 anytls 协议的服务器和客户端。

Shadowrocket

Shadowrocket 2.2.65+ 实现了 anytls 协议的客户端。

Description
No description provided
Readme 178 KiB
v0.0.13 Latest
2026-05-08 20:37:27 +08:00
Languages
Go 100%