google@sing-box shadowTLS伪装TLS流量

ShadowTLSsing-box 支持的一种特殊的代理协议,它的主要目标是抗主动探测(Active Probing),通过伪装成 TLS 流量,欺骗防火墙并防止被识别或封锁。ShadowTLS 并不加密用户流量,而是作为“混淆层”工作,通常与其他代理协议(如 Shadowsocks、Vmess 等)配合使用。


🛡️ ShadowTLS 的核心理念

传统的 TLS 流量具有固定的特征,例如 SNI、证书等。如果防火墙看到类似 TLS 但不合法的内容,就可能识别为代理协议。ShadowTLS 通过复用真实的 TLS 握手过程(比如模仿 Google、Cloudflare 的 TLS 握手),使流量伪装成合法的 HTTPS 流量。


🧱 工作机制

不伪装情况访问目标域名
91b7a102505da7f138540fdfff9b71f4.png

伪装TLS流量访问目标域名
0f3ee048a63c9ea7a8dd370bf2535074.png

  1. 客户端

    • 发起与服务器的 TLS 握手(仿照真实的域名,例如 www.bing.com)。
    • 握手完成后,将代理数据包(如 Shadowsocks)“塞入” TLS 数据流中。
  2. 服务器端

    • 接受 TLS 握手,并转发客户端伪装数据到真正的代理服务(如本地的 Shadowsocks 端口)。

✅ 优点

  • 高度仿真 TLS,迷惑防火墙 DPI(深度包检测)。
  • 可与任意协议混合(配合使用 Shadowsocks/Vmess/VLESS 等)。
  • 适合在敏感网络环境中使用。

🛠️ sing-box 中的 ShadowTLS 示例配置

🔒 服务端配置(搭配 Shadowsocks)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"inbounds": [
{
"type": "shadowtls",
"listen": "::",
"listen_port": 443,
"version": 3,
"handshake": {
"server": "www.cloudflare.com"
},
"detour": "shadowsocks-in"
},
{
"type": "shadowsocks",
"tag": "shadowsocks-in",
"method": "2022-blake3-aes-256-gcm",
"password": "your_password",
"network": "tcp",
"listen": "127.0.0.1",
"listen_port": 40001
}
]
}

🌐 客户端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"outbounds": [
{
"type": "shadowtls",
"server": "your-server-ip",
"server_port": 443,
"version": 3,
"handshake": {
"server": "www.cloudflare.com"
},
"detour": "shadowsocks-out"
},
{
"type": "shadowsocks",
"tag": "shadowsocks-out",
"method": "2022-blake3-aes-256-gcm",
"password": "your_password",
"server": "127.0.0.1",
"server_port": 40001
}
]
}

⚠️ 注意事项

  • TLS 握手域名:选择高可信、流量常见的域名(如 www.google.comwww.cloudflare.com)。

  • 监听端口:通常用 443 端口是为了更好地伪装成 HTTPS 流量。

  • 版本选择

    • 当前主流使用 ShadowTLS v3,其兼容性和性能更佳。
  • 不加密数据:ShadowTLS 本身不加密,需要搭配加密协议(如 Shadowsocks)。