v24.12.18

XTLS/Xray-corev24.12.18Dec 18, 2024by RPRX

AI Summary

XHTTP packet-up mode refactored to match stream-up performance. Default fingerprint changed to 'chrome'.

Key Highlights

  • Refactored packet-up mode for better performance and connection switching (suitable for CDN penetration).
  • Default 'chrome' fingerprint set for XHTTP, WebSocket, and HU to prevent forgetting.
  • XMUX improvements: Added `hMaxRequestTimes` and `hKeepAlivePeriod`.
  • Removed HTTP transport.

Breaking Changes

  • Transport: Remove HTTP

New Features

  • XHTTP packet-up refactoring
  • Default chrome fingerprint
  • XMUX improvements

Full Release Notes

## XHTTP client: Refactor "packet-up" mode, chasing "stream-up" #4150 

这是 2024 年最后一个版本,包含了大量重要更新:**比如再次优化了 XHTTP packet-up 模式的上行,修好了 bug 的同时速率直追 stream-up,还会自动切换连接以避免超过单个连接 HTTP 累计请求数限制,主要利好 H3 及穿透无流式上行的 CDN。** 更多的更新内容请看第三版 [XHTTP: Beyond REALITY](https://github.com/XTLS/Xray-core/discussions/4113),还讨论了套 CDN 是否属于“滥用”的问题。

为了配合 XHTTP 对 TLS 的广泛使用,**Xray-core 已将 "chrome" 设为默认指纹**,防止手动输入配置时忘了选指纹。

**请支持一个 REALITY NFT:https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/2**

如果你有余力,请支持一个 Project X NFT:https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/1

**一个新的 Xray 客户端正在开发中,持有 REALITY NFT 将获得早期内测资格。圣诞节会发布一篇 XUDP UoT Migration 的文章,并公布 Project X 2024 年度贡献者,颁奖一个 Project X NFT。2025.1.1 每个 Project X NFT 将获赠两个 REALITY NFT。**

## What's Changed
* Transport: Remove HTTP by @RPRX in https://github.com/XTLS/Xray-core/commit/ae62a0fb526f2faa0aa8b3fbce5a566187059090
* WireGuard inbound: Add missing inbound session information back by @Fangliding in https://github.com/XTLS/Xray-core/pull/4126
* XHTTP server: Forbid Mux.Cool except pure XUDP by @RPRX in https://github.com/XTLS/Xray-core/pull/4128
* XHTTP, WS, HU: Forbid "host" in `headers`, read `serverName` instead by @RPRX in https://github.com/XTLS/Xray-core/pull/4142
* Core: Fix memory leaks with RequireFeatures() by @yuhan6665 in https://github.com/XTLS/Xray-core/pull/4095
* Chore: "io/ioutil" -> "io" by @ChengenH in https://github.com/XTLS/Xray-core/pull/4143
* XHTTP client: Refactor "packet-up" mode, chasing "stream-up" by @RPRX in https://github.com/XTLS/Xray-core/pull/4150
* Core: Fix startup error when `dns` exists but `fakedns` doesn't by @RPRX in https://github.com/XTLS/Xray-core/commit/743435d6e6feb1d5144ce004c35a11afa0d768bf
* XHTTP client: Add decideHTTPVersion() and more logs by @RPRX in https://github.com/XTLS/Xray-core/commit/7463561856f75ed42564e8a6fad722c6bafc74a6
* XHTTP XMUX: Add `hMaxRequestTimes` and `hKeepAlivePeriod` by @RPRX in https://github.com/XTLS/Xray-core/pull/4163
* WebSocket config: Fix `headers` by @rosebe in https://github.com/XTLS/Xray-core/pull/4177
* REALITY, TLS config: Set "chrome" as the default `fingerprint` by @RPRX in https://github.com/XTLS/Xray-core/commit/96fb680d45c6b356cadf67bcabe29ad5e1a2f6a5
* XHTTP `downloadSettings`: Inherit `sockopt` if its own doesn't exist (e.g., in `extra`) by @RPRX in https://github.com/XTLS/Xray-core/commit/9dbdf92c2728070e3e58008598880eb2e9f79188
* XHTTP client: `scMaxEachPostBytes` should be bigger than buf.Size (8192) by @RPRX in https://github.com/XTLS/Xray-core/commit/ff8b66aacb0fdfd52c050fd62d73368545ebcd58

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

## New Contributors
* @ChengenH  made their first contribution in https://github.com/XTLS/Xray-core/pull/4143
* @rosebe made their first contribution in https://github.com/XTLS/Xray-core/pull/4177

**Full Changelog**: https://github.com/XTLS/Xray-core/compare/v24.11.30...v24.12.18