google@sing-box shadowTLS伪装TLS流量
ShadowTLS
是 sing-box
支持的一种特殊的代理协议,它的主要目标是抗主动探测(Active Probing),通过伪装成 TLS 流量,欺骗防火墙并防止被识别或封锁。ShadowTLS
并不加密用户流量,而是作为“混淆层”工作,通常与其他代理协议(如 Shadowsocks、Vmess 等)配合使用。
🛡️ ShadowTLS 的核心理念
传统的 TLS 流量具有固定的特征,例如 SNI、证书等。如果防火墙看到类似 TLS 但不合法的内容,就可能识别为代理协议。ShadowTLS
通过复用真实的 TLS 握手过程(比如模仿 Google、Cloudflare 的 TLS 握手),使流量伪装成合法的 HTTPS 流量。
🧱 工作机制
不伪装情况访问目标域名
伪装TLS流量访问目标域名
客户端:
- 发起与服务器的 TLS 握手(仿照真实的域名,例如
www.bing.com
)。 - 握手完成后,将代理数据包(如 Shadowsocks)“塞入” TLS 数据流中。
- 发起与服务器的 TLS 握手(仿照真实的域名,例如
服务器端:
- 接受 TLS 握手,并转发客户端伪装数据到真正的代理服务(如本地的 Shadowsocks 端口)。
✅ 优点
- 高度仿真 TLS,迷惑防火墙 DPI(深度包检测)。
- 可与任意协议混合(配合使用 Shadowsocks/Vmess/VLESS 等)。
- 适合在敏感网络环境中使用。
🛠️ sing-box 中的 ShadowTLS 示例配置
🔒 服务端配置(搭配 Shadowsocks)
1 | { |
🌐 客户端配置
1 | { |
⚠️ 注意事项
TLS 握手域名:选择高可信、流量常见的域名(如
www.google.com
、www.cloudflare.com
)。监听端口:通常用 443 端口是为了更好地伪装成 HTTPS 流量。
版本选择:
- 当前主流使用 ShadowTLS v3,其兼容性和性能更佳。
不加密数据:ShadowTLS 本身不加密,需要搭配加密协议(如 Shadowsocks)。