Shadowsocks 2022 现代加密规范正式确立
针对原版 Shadowsocks 缺乏抗重放和头部分块弱点,开源社区发布 Shadowsocks 2022(RFC 规范),采用严格的分层 AEAD 加密。
借用真实网站 TLS 握手 · 零证书免域名 · 嵌套现代强 AEAD 加密
由开发者 ihciah 创造的 ShadowTLS 伪装技术[1]与现代 Shadowsocks 2022 规范[2]深度结合。 客户端在建连时,借用公共互联网大站(如苹果或微软官方服务)完成真实的 TLS 握手[4]; 服务端通过共享密钥 HMAC 检验是否接管流量,未授权的主动探测直接被透传给真实大网站, 真正做到无需自备域名、无需证书维护、防主动探测的高强度代理组合。
ihciah 在 GitHub 开源 ShadowTLS 初版,颠覆性地提出“不配置证书,直接将握手转发给真实大网站”的借鸡生蛋思想。
发布 ShadowTLS v3 最终版本,消除早期版本在中间人探测下的时序与重放漏洞,确立密码 HMAC 认证体系。
sing-box 1.2 原生内置 ShadowTLS v3,随后 Mihomo (Clash.Meta) 跟进,与 Shadowsocks 2022 结合成为标配方案。
编写口径:ShadowTLS 经历了 v1/v2 的概念探索与中间人抗性加固,v3 规范正式确立了生产可用标准,所有演进时间均以 GitHub Releases 记录为准。
在传统的 TLS 伪装方案(如 Trojan)中,用户必须自行购买域名、为 VPS 解析并配置 ACME 证书。 这不仅带来了维护证书续期的负担,而且一旦域名本身被 GFW 标记或遭遇“SNI 阻断”,整台 VPS 的代理功能就会失效。
ShadowTLS 开辟了一条全新的思路:“借鸡生蛋”。 用户服务端不需要安装任何证书,而是将一个公网上信誉良好、访问量巨大的权威 HTTPS 网站(例如微软或苹果的公共 CDN)作为握手伪装目标(Handshake Target)。当客户端发起 TLS 握手时,ShadowTLS 服务端将握手包原封不动地转发给该真实网站, 并将其合法的证书回传给客户端。在外层网络审查视角下,客户端完全就是在与微软或苹果的服务器进行正规握手。
握手完成后,只有能利用约定密码计算出正确 HMAC 摘要的合法客户端,才会被 ShadowTLS 服务端接管并导向内部的Shadowsocks 2022 服务;其他任何扫描器或主动探针都会被保持透传给真实的微软服务器,无法探知任何代理痕迹。
Shadowsocks 2022 + ShadowTLS v3 与 VLESS REALITY 同为免自备域名、抗主动探测的顶级代表方案。 它完美继承了 Shadowsocks 极简、高效、强加密的优秀基因,在极客自建与个人节点场景备受青睐。
REALITY 在 Xray 内核内部直接截断 TLS 状态机,无需向外部大站建立完整的反向连接; 而 ShadowTLS 则是通用的独立双端中继器,可以搭配任意内层协议(SS2022、SOCKS5、WireGuard 等),结构极其解耦与纯粹。
所有节点均依据 GitHub 官方 Releases 发行注记与上游代码提交核验:
针对原版 Shadowsocks 缺乏抗重放和头部分块弱点,开源社区发布 Shadowsocks 2022(RFC 规范),采用严格的分层 AEAD 加密。
在 GitHub 开源 ShadowTLS,颠覆性地提出:代理服务端完全不需要拥有自己的域名或证书,而是直接借用真实外部 HTTPS 网站完成 TLS 握手!
优化客户端与真实服务器之间的握手拼接,但社区随后讨论发现在特定时序下仍存在中间人被动推断的理论可能。
发布 ShadowTLS v3 最终协议!引入基于密码的单向 HMAC 握手认证,彻底消除中间人时序与探测漏洞,奠定生产级使用标准。
开源通用内核 sing-box 率先官方内置 ShadowTLS v3 入站与出站,与底层 Shadowsocks 2022 形成绝佳组合。
主流客户端内核全面完成对 ShadowTLS 节点的解析与转发,成为与 REALITY 并驾齐驱的免域名防探测双子星。
重写 Rust 异步事件驱动缓冲区,减少中继真实 TLS 握手时的系统中断,在高并发场景下性能提升 25%。
社区收敛出一批极佳的握手伪装目标(如优质无污染的微软、苹果、谷歌公用 CDN 域名),进一步降低被墙风险。
在学术界与网络安全领域,REALITY 与 ShadowTLS 分别代表了“内核层直接劫持握手”与“前置独立转发代理”两种最高明的免域名抗探测路线。
Shadowsocks 2022 的坚固密码学与 ShadowTLS v3 的真实 TLS 伪装相得益彰,在极客自建领域保持着高度评价与长期生命力。
ShadowTLS v3 与 Shadowsocks 2022 已经成为现代代理内核的标准支持配置:
| 软件 / 内核 | 类型 | 支持平台 | 支持级别 | 起始版本 | 发布日期 | 特性支持与备注 |
|---|---|---|---|---|---|---|
| ShadowTLS 官方核心 (Rust) | 核心内核 | Linux / macOS / Windows | 官方参考实现 | v0.2.25 | 2022.12.08 | ihciah 官方使用 Rust 编写的高性能独立守护进程,作为透明 TLS 握手中继器运行在前端。 |
| sing-box | 核心内核 | 全平台 (Linux / Android / iOS / macOS / Windows) | 完整原生支持 | v1.2.0 | 2023.01.12 | SagerNet 团队原生接入 ShadowTLS v3 入站与出站,可无缝嵌套 Shadowsocks 2022、SOCKS5 或其他协议。 |
| Mihomo (Clash.Meta) | 核心内核 | 全平台 (Linux / Android / macOS / Windows) | 完整原生支持 | v1.14.0 | 2023.04.18 | Meta 内核支持 ShadowTLS 出站配置与节点订阅,具备完整的测速与规则分流体系。 |
| Shadowrocket | 客户端 | iOS / iPadOS | 出站客户端支持 | v2.2.22 | 2023.02.10 | iOS 端极速跟进内置 ShadowTLS v3 + SS2022 配置解析与自动化代理中继。 |
| Loon | 客户端 | iOS / macOS | 出站客户端支持 | v3.0.2 | 2023.08.15 | 支持通过图形化节点编辑输入 ShadowTLS 伪装 SNI、密码及底层 SS2022 端口。 |
| NekoBox for Android | 客户端 | Android | 出站客户端支持 | v1.2.0 | 2023.03.01 | 基于 sing-box 核心构建,支持通过 VPNService 为 Android 手机提供系统全局 ShadowTLS 隧道。 |
最推荐使用场景:
不适用或受限场景:
1. 伪装目标(Handshake Target)选择规范:应当选择具有全球 CDN、支持 TLS 1.3、国内直连不被墙的大型站点(例如微端、苹果或知名开源镜像站), 且其 IP 应当与您的代理服务器在地理距离上越近越好,以减少服务端与目标主机通信的往返时延。
2. 必须使用 ShadowTLS v3 规范:早期 v1 与 v2 版本存在中间人时序侧信道推断漏洞, 现存所有客户端与服务端均应当统一使用 v3 协议,确保 HMAC 校验的严格完整性。
百科词条中所有架构数据、算法定义及发布时间均以官方公开发行物为基准:
包含 ihciah 编写的 ShadowTLS 官方参考实现、协议规范草案与版本演进记录。
https://github.com/ihciah/shadow-tls现代 Shadowsocks 协议的密码学架构,包括单独的会话子密钥派生与抗重放机制。
https://shadowsocks.org/doc/shadowsocks-2022.htmlsing-box 核心对 ShadowTLS v3 的具体配置参数与握手目标说明。
https://sing-box.sagernet.org/configuration/inbound/shadowtls/ShadowTLS 所借用的底层真实公网服务器所采用的标准 TLS 1.3 规范。
https://datatracker.ietf.org/doc/html/rfc8446Meta 内核对 ShadowTLS 配合 Shadowsocks 2022 的出站支持与分流配置。
https://wiki.metacubex.one/config/proxies/shadowtls/