v24.9.30

XTLS/Xray-corev24.9.30Sep 30, 2024by RPRX

AI Summary

This is the first stable version following the date-based versioning change. It introduces XMUX for SplitHTTP, adds HTTP/3 support to the HTTP transport layer, renames TCP to RAW, and removes legacy transport layers like QUIC and DomainSocket.

Key Highlights

  • XMUX (multiplex controller) for SplitHTTP
  • HTTP transport layer now supports H3
  • TCP transport renamed to RAW
  • Removal of legacy QUIC and DomainSocket transports
  • Removal of legacy config fields (global transport, old inbound/outbound)

Breaking Changes

  • Remove QUIC transport layer
  • Remove DomainSocket transport layer
  • Remove global `transport` config
  • Remove legacy `inbound/outbound/detours` config
  • Remove legacy V2Ray 3.x era config fields
  • SplitHTTP now requires v1.8.24 compatibility (removed `ok` field)

New Features

  • XMUX for SplitHTTP
  • HTTP H3 support
  • RAW transport (alias for TCP)
  • UDP noises for Freedom outbound
  • MaskAddress option to hide IP addresses in logs
  • Regexp syntax support in UserMatcher
  • Custom validator injection in VLESS controller
  • DNS blockTypes support

Full Release Notes

## XMUX (multiplex controller) for SplitHTTP

这是 Xray-core 改变版本号规则后的首个 stable 版本,正如 [v1.8.24](https://github.com/XTLS/Xray-core/releases/tag/v1.8.24) 所预告的,该版本的重要更新主要有:

- SplitHTTP 传输层的 XMUX:https://xtls.github.io/config/transports/splithttp.html
- HTTP 传输层的 H3:https://xtls.github.io/config/transports/http.html
- **TCP 传输层更名为 RAW:https://xtls.github.io/config/transports/raw.html**
- Freedom 出站的 UDP noises:https://xtls.github.io/config/outbounds/freedom.html

以及 **SplitHTTP 仅兼容 v1.8.24**(移除了 `ok`),移除 QUIC、DomainSocket 传输层,移除对远古配置的兼容代码。

若想引入 Xray-core 作为 lib,参考 https://github.com/2dust/AndroidLibXrayLite/pull/58

下个版本我们会为 XMUX 预设非无限的默认值,**把 SplitHTTP 和 HTTP 合并为 XHTTP 传输层(相当于 SplitHTTP 支持了 REALITY,HTTP 也有了默认的 header padding 和 XMUX)**,XHTTP 允许通过 path 配置参数以方便 GUI 客户端与分享。

## What's Changed
* SplitHTTP: Remove `ok` compatibility logic by @mmmray in https://github.com/XTLS/Xray-core/pull/3753
* Transport: Remove QUIC by @mmmray in https://github.com/XTLS/Xray-core/pull/3754
* Transport: Remove DomainSocket by @mmmray in https://github.com/XTLS/Xray-core/pull/3757
* Config: Remove global `transport` by @mmmray @Fangliding in https://github.com/XTLS/Xray-core/pull/3751
* Config: Remove legacy `inbound/outbound/detours` by @mmmray in https://github.com/XTLS/Xray-core/pull/3769
* Config: Remove some legacy fields from V2Ray 3.x era by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3776
* Fix: Return error when Fingerprint does not support TLS 1.3 by @Fangliding in https://github.com/XTLS/Xray-core/pull/3774
* Fix: RPC call causes xray panic problem using wrong account type by @bestwishCT in https://github.com/XTLS/Xray-core/pull/3744
* Config: Remove legacy config fields again by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3782
* Log: Add MaskAddress option to hide IP addresses by @Fangliding in https://github.com/XTLS/Xray-core/pull/3783
* Remove remnants of global `transport` by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3792
* DNS: do not use cache when returned DNS result has errors by @Fangliding in https://github.com/XTLS/Xray-core/pull/3784
* Log: Improve feature deprecation/removal logs by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3793
* Routing: Add regexp syntax support to UserMatcher by @vnxme in https://github.com/XTLS/Xray-core/pull/3799
* Allow to inject custom validator in VLESS controller by @torikki-tou in https://github.com/XTLS/Xray-core/pull/3453
* Sniff: Routing “attrs” support non http inbound by @Fangliding in https://github.com/XTLS/Xray-core/pull/3808
* Log: show the matching rule tag by @Fangliding in https://github.com/XTLS/Xray-core/pull/3809
* QUIC sniffer: handle multiple initial packets by @Fangliding @Vigilans in https://github.com/XTLS/Xray-core/pull/3802
* Fix int overflow on x32 processors causing panic using burstObservatory  by @tekig in https://github.com/XTLS/Xray-core/pull/3810
* DNS outbound: Add blockTypes by @Fangliding in https://github.com/XTLS/Xray-core/pull/3812
* Errors: Add PrintRemovedFeatureError & PrintDeprecatedFeatureWarning by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3804
* SplitHTTP: Read and validate HTTP/1.1 responses by @4nd3r5on in https://github.com/XTLS/Xray-core/pull/3797
* SplitHTTP client: Add xmux (multiplex controller) for H3 & H2 by @ll11l1lIllIl1lll @mmmray in https://github.com/XTLS/Xray-core/pull/3613
* UDP noises: Add base64 and multi-packet support by @dragonbreath2000 @Fangliding @mmmray  in https://github.com/XTLS/Xray-core/pull/3794
* SplitHTTP client: Fix xmux config deserialization by @mmmray in https://github.com/XTLS/Xray-core/pull/3827
* Config: Remove more legacy fields by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3817
* Browser Dialer: Change from ES5 to ES6+ for performance by @PoneyClairDeLune in https://github.com/XTLS/Xray-core/pull/3832
* Xmux: Value of 0 is treated the same as no value by @mmmray in https://github.com/XTLS/Xray-core/pull/3835
* SplitHTTP server: Add global CORS headers for browser dialer by @PoneyClairDeLune in https://github.com/XTLS/Xray-core/pull/3830
* Remove legacy code by @KobeArthurScofield in https://github.com/XTLS/Xray-core/pull/3838
* Transport: Add HTTP3 to HTTP by @yuhan6665 in https://github.com/XTLS/Xray-core/pull/3819
* Transport: Add RAW as an alias of TCP by @RPRX in https://github.com/XTLS/Xray-core/pull/3852
* SplitHTTP Config: Add capability to parse int in string format by @Fangliding in https://github.com/XTLS/Xray-core/pull/3855

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

## New Contributors
* @bestwishCT made their first contribution in https://github.com/XTLS/Xray-core/pull/3744
* @vnxme made their first contribution in https://github.com/XTLS/Xray-core/pull/3799
* @torikki-tou made their first contribution in https://github.com/XTLS/Xray-core/pull/3453
* @tekig made their first contribution in https://github.com/XTLS/Xray-core/pull/3810
* @4nd3r5on made their first contribution in https://github.com/XTLS/Xray-core/pull/3797

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