AnyTLS .wiki

客户端部署

使用 anytls-go 自带的示例客户端 anytls-client,在本地开启一个 SOCKS5 代理并连接到服务端。

基础启动

客户端的核心作用是:在本机监听一个 SOCKS5 端口,把流量通过 AnyTLS 协议转发到服务端。最简单的启动命令如下:

客户端
./anytls-client -l 127.0.0.1:1080 -s 服务器IP:8443 -p 你的密码

启动后,本机 127.0.0.1:1080 即为一个可用的 SOCKS5 代理,同时支持 TCP 与 UDP(通过 udp over tcp 传输)。

常用参数

  • -l:本地 SOCKS5 监听地址。仅本机使用填 127.0.0.1:1080;需供局域网其他设备使用可填 0.0.0.0:1080
  • -s:服务端地址与端口,例如 1.2.3.4:8443
  • -p:连接认证密码,必须与服务端完全一致。
  • -sni:TLS 握手时使用的服务器名称(SNI),默认使用 -s 中的主机名。

关于 insecure

示例客户端默认以 insecure(不校验证书)方式连接,以配合使用自签证书的示例服务端。这意味着客户端不会校验服务端证书, 仅适合在不易遭遇中间人攻击的网络环境中使用。

URI 一行配置

v0.0.12 起,可以用 anytls:// URI 取代分散的 -s / -p / -sni 等参数:

客户端 · URI 模式
./anytls-client -l 127.0.0.1:1080 -s "anytls://password@host:port?sni=example.com&insecure=1"

URI 各字段的完整含义请参阅 URI 格式 一章。

设置系统代理

客户端跑起来后,需要让应用或系统把流量指向这个 SOCKS5 端口。常见做法:

  • 浏览器:通过 SwitchyOmega 等扩展,将代理设置为 SOCKS5、地址 127.0.0.1、端口 1080
  • 系统全局:在系统网络设置中填入 SOCKS5 代理;部分系统不支持 SOCKS 的 UDP,按需取舍。
  • 命令行:为单个程序设置 ALL_PROXY=socks5://127.0.0.1:1080

后台常驻运行

若希望客户端在后台长期运行,可参考与服务端类似的 systemd 单元(Linux):

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

[Service]
ExecStart=/opt/anytls/anytls-client -l 127.0.0.1:1080 -s 服务器IP:8443 -p 你的密码
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

更推荐用成熟客户端

日常使用时,更推荐在 sing-box、mihomo、Shadowrocket 等成熟客户端中接入 AnyTLS,它们提供了规则分流、UI 管理与更精细的 TLS 控制。具体见 客户端集成