XHTTP: The real upload / download splitting #3955 🎃
v1.8.16 第一版 SplitHTTP 发布时,有提到 拆分连接 也有助于反审查,但当时的 SplitHTTP 只是逻辑拆分而没有实际拆分。
现在,#3955 正式将 SplitHTTP 升级为 XHTTP,实现了真正的上下行分离,给 GFW 针对单个连接的分析带来了麻烦。
XHTTP 也已正式支持 REALITY,所以,发挥你的想象力,上下行随意组合,万圣节 have fun!
别急,分离下行的 XMUX #3965 、XHTTP 的分享、对 HTTP 传输层的合并等一系列更新也会在接下来的版本中到来。
毫无疑问,XHTTP 又开启了一个崭新的时代。
此外,XMUX 有了非无限复用的默认值,这可以提升默认配置下 XHTTP 的使用体验。REALITY 服务端的 dest
已更名为 target
,XHTTP 的示例均已采用新名,包括 RAW。WireGuard 出站的 kernelMode
已改为 noKernelTun
。
别忘了支持一下 Project X NFT:Announcement of NFTs by Project X #3633
What's Changed
- REALITY config: Add
target
as an alias ofdest
by @RPRX in 75729ce - Chore: Lint common/errors/feature_errors.go by @RPRX in c30f5d4
- Routing: Fix regexp syntax support in UserMatcher by @vnxme in #3900
- Browser Dialer: Revert changes to event listeners by @mmmray in #3906
- HTTP transport: Fix an issue when HTTP client start fail with 403 by @yuhan6665 @RPRX in #3910
- WireGuard kernelTun: Check Capabilities instead of checking UID by @chise0713 @RPRX in #3871
- Refactor: Use struct
Int32Range
widely by @Fangliding in #3867 - Routing: Add mutex for
Attributes
temporarily by @Fangliding in #3908 - XMUX: Change to non-infinity-reuse default values by @RPRX in #3919
- Chore: Generate *.pb.go files with protoc v5.28.2 by @RPRX in 47fad1f
- WireGuard config: Replace
kernelMode
withnoKernelTun
by @RPRX in 9bdf72d - Transport: Remove GUN (an alias of gRPC) by @RPRX in 8809cbd
- Config: Prefer newer alias (REALITY
target
, RAW) by @RPRX in e4939dc - WireGuard createTun: Add more logs by @RPRX in ceb6eac
- Fix: Apply mutex when visiting
Attributes
as well by @Fangliding in #3921 - REALITY: Unblock SplitHTTP transport by @mmmray in #3816
- XHTTP: The real upload / download splitting by @RPRX in #3955
以及更新 README,升级一些依赖,使用 Go 1.23.2 进行编译。
Full Changelog: v24.9.30...v24.10.31