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