
背景:先说清这三个词
如果你刚接触自建代理,先补三个概念,后面就不用反复查了。
sing-box 是一个开源的通用代理平台:同一套程序既能当客户端,也能当服务器,还支持几十种代理协议。很多图形客户端(比如基于 sing-box 内核的工具)底层用的都是它。
代理协议就是客户端和服务器之间约定的“暗号方式”:数据怎么加密、怎么伪装、服务器怎么认出这是自己人。协议选错,表现就是“能连但不稳”“换个网络就断”“速度忽快忽慢”。
AnyTLS 是 sing-box 团队维护的新一代协议。它的思路很直白:不发明一套全新的加密握手,而是把全部数据装进标准的 TLS 1.3 隧道里,再用可配置的填充(往数据包里掺无意义字节,打乱固定长度特征)和空闲会话保持来降低被流量特征识别的概率。认证方式也比 VLESS 简单:用户名加密码,不用折腾 UUID 格式。
前置知识:你有一台能装 sing-box 的服务器、一个已经解析到这台服务器的域名,会用命令行编辑 JSON 配置文件。下面所有敏感值都用占位符,换成你自己的。
一张表:四个主流协议怎么选
| 协议 | 传输层 | 最大的优点 | 最明显的短板 | 适合谁 |
|---|---|---|---|---|
| VLESS + Reality | TCP | 不用先准备域名和证书,抗封锁经验最丰富 | 参数多,客户端和服务端版本、参数不一致容易出怪问题 | 想长期稳定跑主力节点的人 |
| Hysteria2 | UDP / QUIC | 丢包网络下速度上限高,弱网表现好 | 依赖 UDP 畅通,有的网络会限 UDP 或限速 | 网络丢包严重、追求速度的人 |
| AnyTLS | TCP | 标准 TLS 外壳,配置简单,TCP 普适性好 | 客户端生态以 sing-box 内核工具为主,不如 VLESS 广 | 想快速搭一个 TCP 节点、接受 sing-box 客户端的人 |
| Trojan / Shadowsocks | TCP | 老协议,客户端到处都有 | 特征和生态都偏旧,新环境下不再是首选 | 只做存量兼容、备用节点 |
结论先说:没有“最强协议”,只有“最适合你网络的协议”。 同一台服务器上多开两个协议、客户端自动选快的,往往比只押一个协议更省心。
AnyTLS 服务端:最小可用配置长这样
AnyTLS 的服务端配置核心只有三样:监听端口、用户账号、TLS。TLS 需要真实证书——域名解析到服务器后,用常规方式申请证书即可,证书路径填你自己的:
{
"type": "anytls",
"tag": "anytls-in",
"listen": "::",
"listen_port": 8443,
"users": [
{
"name": "你的用户名",
"password": "你的密码"
}
],
"tls": {
"enabled": true,
"certificate_path": "/etc/ssl/你的域名.crt",
"key_path": "/etc/ssl/你的域名.key"
}
}
注意三点:
- 端口 8443 只是示例,换成你防火墙放行过的端口即可。
- 密码用长随机串,别用生日、域名这类好猜的值;配置文件权限收紧,只让运行 sing-box 的用户可读。
- 写完先校验再启动,配置 JSON 少个逗号、多层括号错位是新手最常见的翻车原因:
sing-box check -c /etc/sing-box/config.json
校验通过再重启服务,客户端连不上时先看服务端日志里是“TLS 握手失败”“认证失败”还是“端口没监听”,三类报错的排查方向完全不同。
客户端:对应的一段出站配置
客户端只要把服务端那三样原样对上:地址、端口、账号、TLS 的服务器名(填你的域名):
{
"type": "anytls",
"tag": "anytls-out",
"server": "你的域名",
"server_port": 8443,
"password": "你的密码",
"tls": {
"enabled": true,
"server_name": "你的域名"
}
}
有些客户端还支持填充方案、空闲会话数等进阶项,默认不填也能跑;先跑通,再调优。调优时一次只改一个参数,改完测一轮再改下一个,否则出了问题不知道是哪次改动惹的祸。
三个实战判断:什么时候上 AnyTLS,什么时候别
第一,你的网络 UDP 不友好,优先试 AnyTLS 或 VLESS。 Hysteria2 再快也得 UDP 能跑满;如果测下来 UDP 丢包严重、速度被压得很低,TCP 协议反而更稳。先确认传输层瓶颈,再谈协议优劣。
第二,你用的客户端不支持 AnyTLS,就别硬上。 协议再新,客户端不支持等于零。AnyTLS 目前最稳的组合是 sing-box 本体及以它为内核的客户端;如果你全家桶都是另一个内核的工具,VLESS 的兼容性仍是更省事的选择。
第三,别把 AnyTLS 当成“隐身衣”。 标准 TLS 外壳加填充能降低流量特征识别的概率,但不等于绝对不可识别;证书、域名、端口、访问行为同样会留下痕迹。重要服务照旧做好备份和多节点冗余,别把全部流量押在一条新协议上。
升级与回退:给老用户的一条建议
已经跑着 VLESS 或 Hysteria2 的老节点,不用急着迁移。更稳妥的做法是:在同一台服务器上给 AnyTLS 另开一个端口,和老协议并行跑一两周,客户端里两个出站都留着,哪个稳用哪个。并行期间记下三个指标就够了:晚高峰能不能连上、视频会不会频繁缓冲、换 Wi-Fi 和移动网络后要不要手动重连。两周后数据会替你做决定。
如果你刚升级 sing-box 大版本、配置文件结构变了,先按本站旧配置迁移的排错思路把旧配置跑通,再加新协议——两个变动叠在一起,排错难度是翻倍的。
一句话总结
AnyTLS 的价值不在“更快”,而在“更简单、更像正常 TLS 流量”:TCP 普适、账号就是用户名加密码、服务端配置只有端口、用户和证书三件套。网络 UDP 受限、又愿意用 sing-box 系客户端的人,值得给它单独开一个端口并行试两周;已经跑得很稳的老节点,没必要为了追新而拆掉重来。
