代理协议0-RTT QUIC 传输JLS 伪装

ShadowQUIC

0-RTT 极速握手 · 免证书部署 · JLS 伪装思想 · Rust 高性能实现

ShadowQUIC 是由开发者 spongebob888 采用 Rust 语言研发的现代轻量级代理协议[1]。 为了在充分享受现代 QUIC 协议单连接多路复用与 0-RTT 极速握手优势的同时, 摆脱传统 TLS 证书申请、域名维护以及标准 Initial 握手包头容易被运营商统一限速审查的弊端, ShadowQUIC 吸收了 JLS 伪装思想,通过对称 AEAD 密文直接混淆伪装 SNI 握手特征, 兼顾了开箱即用的免证书体验与极低的传输协议头开销[2]。

核心作者spongebob888
首发发布2025.04.21
核心机制0-RTT QUIC + JLS 伪装
生态特色免证书部署与极低包头开销

日期辨析:2025 年 4 月 21 日 v0.1.0 首发开源

项目创立与首版发布2025.04.21

spongebob888 正式发布 ShadowQUIC v0.1.0,以 Rust 实现 0-RTT QUIC 代理与 JLS 伪装。

生态整合与移动端适配2025.08.15

推出 QuicProxy 移动端适配插件与一键部署脚本,开始融入 Clash-rs 与现代开源代理生态。

SunnyQUIC 兄弟协议探索2025.11.20

作者进一步探索原生 QUIC 栈优化与多路径(Multipath)传输,演进出更模块化的底层架构。

编写口径:ShadowQUIC 是 2025 年问世的前沿新方案,所有演进时间线均以 GitHub 官方 Release 与代码提交记录为准。

词条概览与核心定位

01

在对抗严苛网络审查的过程中,基于 QUIC 的方案通常面临两大分叉: 一条路线(如 TUIC)坚持完全遵循标准 TLS 握手,必须配置合法域名与证书; 另一条路线(如 Hysteria 2)则通过端口跳跃与暴力速率控制对抗 QoS。

ShadowQUIC 探索了第三种平衡点:在 QUIC 上实现类似 Shadowsocks 的轻量免证书体验。 它将预共享密钥机制与 QUIC 的数据报处理结合,握手首包通过 JLS 伪装混入任意伪装 SNI 域名, 使外部审查探针无法轻易断定这是否是一个未授权代理服务[2]。 同时,利用 Rust 原生实现的高并发与极低内存占用,其单进程常驻内存仅需十余兆字节。

定位结论

ShadowQUIC 属于极客自建与免证书极速代理的前沿探索之作。 它为不想维护公网域名证书、但渴望享受 QUIC 0-RTT 与多路复用吞吐的进阶自建用户提供了全新选择。

0-RTT QUIC 与 JLS 伪装架构

02
1. 0-RTT 极速 QUIC 状态机深度复用 QUIC 连接上下文,客户端在第一个 UDP 数据报中即可直接附带认证信息与代理请求数据, 彻底消除常规 TLS 握手的额外往返时延(RTT)。
2. JLS SNI 混淆与伪装层首包携带伪装的外部知名域名 SNI,并将真实的代理凭据使用高强度 AEAD 算法加密隐蔽于载荷中, 防止审查系统通过固定字符串识别代理服务端。
3. TCP Connect 与 UDP Proxy 独立通道在单条 QUIC 连接内分别对上层 TCP 串流与无连接 UDP 数据报提供原生短连接复用, 有效避免常规方案在代理 UDP 游戏流量时的丢包性能劣化。

连接与数据交互生命周期

  1. 0-RTT 握手首发:客户端生成包含伪装 SNI 与加密认证令牌的初始数据报直接送达服务端,实现真正零延迟开连。
  2. 对称解密与多路建立:服务端通过预共享密钥解密请求并建立 QUIC 双向 Session,开启全双工数据传输。
  3. 透明转发与拥塞控制:利用现代 QUIC 原生流控与快速重传,保障高并发多任务并行传输时的极致稳定性。

网络环境考量

ShadowQUIC 完全依赖底层 UDP 传输。在某些对公网 UDP 流量实行恶性 QoS 限速或阻断的宽带环境下, 其实际使用体验可能受到抑制,建议优先在 UDP 质量良好的网络下使用。

版本演进时间线(共 6 个关键节点)

03

以下时间线记录了 ShadowQUIC 自 2025 年发布以来的核心技术迭代,全部依据官方 GitHub 仓库记录整理核验:

纪事

2025 年:项目诞生与架构突破

  • ShadowQUIC v0.1.0 正式开源发布

    在 GitHub 开源首个版本,结合 QUIC 的 0-RTT 极速握手与 JLS 伪装思想,彻底摆脱传统域名证书管理包袱。

    GitHub:v0.1.0 Release
  • 发布 ShadowQUIC 协议设计规范文档

    完善 protocol.md,详述基于 AEAD 的握手保护、SNI 伪装机制以及针对未知流量的防御响应。

    GitHub:Protocol Spec
  • 开源社区推出 QuicProxy 移动端前端

    推出专用的 Android 客户端支持,极大方便了普通用户在手机移动网络环境下接入体验。

    GitHub:shadowquic
  • 探索 SunnyQUIC 与多路径传输机制

    作者开启对 Multipath QUIC 的实验性探索,进一步增强抗无线弱网信号突发中断的平滑切换能力。

    GitHub:项目源码分支
纪事

2026 年至今:持续稳固与前沿演进

  • ShadowQUIC 优化首包填充与特征泛化

    微调握手数据包的动态 Padding 填充逻辑,平滑包长统计分布,全面降低被机器学习分类器识别的风险。

    GitHub:shadowquic Releases
  • 现代代理内核社区跟进实验性适配

    Clash-rs 与相关分支持续完善与该协议的深度集成,为极客玩家提供了免证书、高并发的新选择。

    GitHub:shadowquic

生态实现与客户端兼容性

04

ShadowQUIC 官方提供用 Rust 编写的高性能参考实现; 开源社区的专用客户端(如 QuicProxy)与部分活跃内核开发分支亦已提供适配。

软件 / 内核类型支持平台支持级别起始版本发布日期特性说明
shadowquic (Rust 官方原版)核心内核Linux / macOS / Windows官方参考实现v0.1.0+2025.04.21由 spongebob888 开发的 Rust 高性能实现,包含服务端、客户端与一键部署 systemd 服务。
QuicProxy (Android)客户端Android客户端图形界面支持v1.0+2025.08.15面向移动端 Android 设备的专用代理前端与独立核心封装,支持图形化导入与分流。
Clash-rs / Mihomo (开发分支)核心内核跨平台内核完整原生支持实验性分支集成2025.09.10社区活跃分支实验性跟进支持,可作为高性能 UDP/QUIC 代理出站节点进行规则路由。

适用场景、网络边界与部署建议

05

最佳适用场景

不想购买域名的极速自建:免除常规 TLS 方案繁琐的域名申请、DNS 解析与证书自动续期负担; 追求首包 0-RTT 极速响应:在网页快速加载与频繁断续短连接场景下,比常规 TCP+TLS 方案拥有更顺滑的首包体验; 资源受限的嵌入式小主机:单 Rust 原生二进制文件部署,无任何动态依赖库,内存与 CPU 开销极低。

网络边界与安全注意事项

运营商 UDP 丢包降速风险:必须提前测试本地运营商对国际 UDP 端口的通畅度,避免因 QoS 导致速度不及预期; 客户端生态正在成长:通用老牌客户端覆盖率尚不及 VLESS 等主流协议,需使用指定或内嵌内核的客户端; 前向保密依赖预共享参数:其认证安全强依赖双方配置的统一密钥,务必设置足够强度的随机密码。

第一手文献与官方参考资料

06

词条事实与技术定义均以 spongebob888 官方设计与 GitHub 仓库记录为准:

  1. [1]spongebob888/shadowquic GitHub 官方仓库ShadowQUIC 官方 Rust 源码、Releases 发布工件、架构文档与 Linux 一键部署脚本。https://github.com/spongebob888/shadowquic
  2. [2]ShadowQUIC Protocol SpecificationShadowQUIC 官方协议规范文档,详述 0-RTT 握手、JLS 伪装与载荷处理。https://github.com/spongebob888/shadowquic/blob/main/docs/protocol.md
  3. [3]ShadowQUIC v0.1.0 首发 Release 记录GitHub 官方记录的 2025 年 4 月 21 日首个公开发行版日志与预编译包。https://github.com/spongebob888/shadowquic/releases/tag/v0.1.0
  4. [4]ShadowQUIC Releases 历史总览GitHub 官方完整的版本发布与演进日志跟踪页面。https://github.com/spongebob888/shadowquic/releases