AnyTLS .wiki

服务端部署

使用 anytls-go 提供的示例服务端 anytls-server 搭建 AnyTLS 服务端。

基础启动

最简单的启动方式只需要监听地址和密码两个参数:

服务端
./anytls-server -l 0.0.0.0:8443 -p 你的密码

其中 0.0.0.0:8443 表示在所有网卡的 8443 端口监听。请确保该端口已在防火墙 / 安全组中放行。

常用参数

  • -l:监听地址与端口,例如 0.0.0.0:8443
  • -p:连接认证密码(必选),客户端需与之一致。
  • --padding-scheme ./padding.txt:指定自定义填充方案文件(可选)。

自定义 PaddingScheme

默认 PaddingScheme 只是一个示例,官方无法保证默认参数不会被识别。因此协议设计了“服务端下发填充方案”的机制:当默认特征被列入黑名单时,你可以更换一套填充方案改变流量形态。

在服务端用 --padding-scheme 指定一个方案文件:

服务端 · 自定义填充
./anytls-server -l 0.0.0.0:8443 -p 你的密码 --padding-scheme ./padding.txt

例如,下面是一个模拟 XTLS-Vision 的 padding.txt 示例(仅作演示,模仿并不完全):

padding.txt
stop=3
0=900-1400
1=900-1400
2=900-1400

关于 stop、按包号定义长度、c 检查符号等完整语法,请参阅协议原理 中的 PaddingScheme 章节。

为什么要能更换填充方案

实现成本低廉、易于改变的流量特征,更有可能持续地阻碍审查研究——这正是 AnyTLS 把 PaddingScheme 设计成服务端可动态下发的初衷。

后台常驻运行

生产环境中建议把服务端作为系统服务常驻运行。下面是一个 systemd 单元文件示例(请按实际路径与密码修改):

/etc/systemd/system/anytls.service
[Unit]
Description=AnyTLS Server
After=network.target

[Service]
ExecStart=/opt/anytls/anytls-server -l 0.0.0.0:8443 -p 你的密码
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
启用并启动
sudo systemctl daemon-reload
sudo systemctl enable --now anytls

安全建议

  • 示例服务端默认使用自签证书,仅适合骨干网等不易遭遇中间人攻击的环境。
  • 使用足够强度的随机密码,并避免在多处复用。
  • 如对 TLS 指纹有更高要求,建议改用 sing-box / mihomo 作为服务端,以便更精细地控制 TLS 参数。