实现完整 XHTTP 客户端、服务端与高级 TLS/ECH 支持#40
Draft
MiChongs wants to merge 1 commit into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景与目标
本变更补齐 WutherCore 的 XHTTP(SplitHTTP)传输支持,使其不仅能作为出站客户端使用,也能作为入站服务端独立启动,并严格承接结构化配置。实现以 Xray-core 26.7.11(提交
50231ea)为互操作基准,覆盖 HTTP/1.1、HTTP/2、HTTP/3、三种上传模式、高级 TLS/ECH、独立下载连接和资源治理。本 PR 使用独立分支与独立 worktree 开发,相对
main仅包含一个协议提交,未修改或复用主工作区中的用户变更。客户端实现
stream-one、stream-up、packet-up三种 XHTTP 模式。downloadSettings独立下行连接,支持独立地址、端口、网络、安全配置和 XHTTP 参数,并对字段冲突进行严格拒绝。服务端实现
配置字段与兼容性
extra、顶层字段和downloadSettings之间出现信息丢失。docs/XHTTP.md,说明客户端、服务端、模式、TLS/ECH、字段语义、安全限制和示例配置。TLS、ECH 与证书能力
安全与资源治理
依赖与第三方代码
boring/tokio-boring、ocsp-stapler、rasn、x509-parser、quinn和h3等实际协议库完成实现,没有以空壳或仅配置映射代替协议能力。THIRD_PARTY_NOTICES.md,并在第三方目录保留上游来源、版本、补丁说明和许可证。验证结果
cargo test -p core-config:107 项通过。cargo test -p core-inbound --lib:133 项通过。cargo test -p core-outbound xhttp --lib:137 项通过。cargo test -p wuther-core:16 项通过。cargo check --workspace --all-targets:通过。cargo fmt --all -- --check:通过。git diff --check origin/main...HEAD:通过。stream-one、stream-up、packet-up;Trojan 场景覆盖 H1/H2/H3。提交约束
codex/protocol-xhttp-fullmain提交数:1b916cd9fccac115cc0196f69204bdea1fc6be1c5