v24.10.31

XTLS/Xray-corev24.10.31Oct 31, 2024by RPRX

AI Summary

SplitHTTP evolved into XHTTP with real upload/download splitting and REALITY support.

Key Highlights

  • XHTTP with real upload/download splitting (SplitHTTP evolved).
  • REALITY support added for XHTTP.
  • Config renames: REALITY `dest` -> `target`, WireGuard `kernelMode` -> `noKernelTun`.
  • XMUX changed to non-infinity-reuse default values.

Breaking Changes

  • Renamed REALITY `dest` to `target`
  • Renamed WireGuard `kernelMode` to `noKernelTun`
  • Removed GUN transport

New Features

  • XHTTP REALITY support
  • Config renames
  • XMUX default limits
  • GUN removal

Full Release Notes

## XHTTP: The real upload / download splitting #3955 🎃

[v1.8.16](https://github.com/XTLS/Xray-core/releases/tag/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](https://github.com/XTLS/Xray-core/discussions/3633)**

## What's Changed
* REALITY config: Add `target` as an alias of `dest` by @RPRX in https://github.com/XTLS/Xray-core/commit/75729ce77902d3da2b95c53bb3c87676a6482dff
* Chore: Lint common/errors/feature_errors.go by @RPRX in https://github.com/XTLS/Xray-core/commit/c30f5d47964b50a6db0875be7a05aafbb73e4d75
* Routing: Fix regexp syntax support in UserMatcher by @vnxme in https://github.com/XTLS/Xray-core/pull/3900
* Browser Dialer: Revert changes to event listeners by @mmmray in https://github.com/XTLS/Xray-core/pull/3906
* HTTP transport: Fix an issue when HTTP client start fail with 403 by @yuhan6665 @RPRX in https://github.com/XTLS/Xray-core/pull/3910
* WireGuard kernelTun: Check Capabilities instead of checking UID by @chise0713 @RPRX in https://github.com/XTLS/Xray-core/pull/3871
* Refactor: Use struct `Int32Range` widely by @Fangliding in https://github.com/XTLS/Xray-core/pull/3867
* Routing: Add mutex for `Attributes` temporarily by @Fangliding in https://github.com/XTLS/Xray-core/pull/3908
* XMUX: Change to non-infinity-reuse default values by @RPRX in https://github.com/XTLS/Xray-core/pull/3919
* Chore: Generate *.pb.go files with protoc v5.28.2 by @RPRX in https://github.com/XTLS/Xray-core/commit/47fad1fbfdcd7195b76accb1059c6e1abfafcc48
* WireGuard config: Replace `kernelMode` with `noKernelTun` by @RPRX in https://github.com/XTLS/Xray-core/commit/9bdf72d658cc3bd168374d2997b93299603c87af
* Transport: Remove GUN (an alias of gRPC) by @RPRX in https://github.com/XTLS/Xray-core/commit/8809cbda817006f8d33c4c9993014d146f7e1138
* Config: Prefer newer alias (REALITY `target`, RAW) by @RPRX in https://github.com/XTLS/Xray-core/commit/e4939dc1dbf8ca6bfd5279bc37a8a779d4cb774a
* WireGuard createTun: Add more logs by @RPRX in https://github.com/XTLS/Xray-core/commit/ceb6eac8e70e6ae53277e66254c68c2d91d2a4c9
* Fix: Apply mutex when visiting `Attributes` as well by @Fangliding in https://github.com/XTLS/Xray-core/pull/3921
* REALITY: Unblock SplitHTTP transport by @mmmray in https://github.com/XTLS/Xray-core/pull/3816
* XHTTP: The real upload / download splitting by @RPRX in https://github.com/XTLS/Xray-core/pull/3955

以及更新 README,升级一些依赖,使用 Go 1.23.2 进行编译。

**Full Changelog**: https://github.com/XTLS/Xray-core/compare/v24.9.30...v24.10.31