Releases: XTLS/Xray-core
Xray-core v1.8.21
SplitHTTP for HTTP/3, the last hope of *ray's QUIC
正如 v1.8.16 所预告的,SplitHTTP 现已初步支持 HTTP/3(QUIC)。
尽管你可以直接设置并连接 SplitHTTP H3 服务端,但更推荐的做法是 在服务端前套一个反代软件,这样才可以使用 BBR。
当然你也可以套一个 CDN,值得一提的是,在近期的 UDP 封锁潮中,尚未有人报告 CDN 的 QUIC 端口也会被封锁。
对于客户端,ALPN 选择“h3”即可。 已知问题:上行待优化、尚未支持 dialerProxy 和 uQuic,预计下个版本解决。
若你需要浏览器指纹,Browser Dialer 现已全面支持 SplitHTTP H1 H2 H3,由浏览器决定用哪个 HTTP 版本。
总之,SplitHTTP H3 是第一个完全基于标准 H3、支持套 CDN 的 QUIC 类代理,亦可用反代、Browser Dialer 来隐蔽自身。
毫无疑问,SplitHTTP H3 已经开启了一个崭新的时代。
Features
SplitHTTP
服务端支持 HTTP/3 #3554 @ll11l1lIllIl1lll @mmmraySplitHTTP
客户端支持 HTTP/3 #3543 @ll11l1lIllIl1lll @Fangliding @mmmray- 添加了基于 Go 1.21.4 的 Win7 构建 #3530 @mmmray @RPRX
SplitHTTP
支持 Browser Dialer 浏览器转发 #3484 @mmmray- 新增自定义
sockopt
选项 #3517 @Fangliding SplitHTTP
服务端支持 H2C,客户端支持 HTTP/1.1+TLS #3465 @mmmray- 优化 Browser Dialer 浏览器转发效率 #3468 @mmmray
Fixes
- 修复
SplitHTTP
H3 下行状态 200 后才开始上行的问题 0f65aa8 @RPRX - 修复
SplitHTTP
H3 没有复用 QUIC 连接的问题 22535d8 @RPRX - 修复
SplitHTTP
H1 H2 的服务端 TLS 支持 #3567 @mmmray - 移除
SplitHTTP
H3 不必要的 KeepAlivePeriod #3565 @chise0713 @Fangliding @xqzr @ll11l1lIllIl1lll - 修复
SplitHTTP
H3 在 v2rayNG 上的崩溃 #3559 @ll11l1lIllIl1lll - 修复
SplitHTTP
极小概率为同一个 sessionId 生成多个 uploadQueue 的问题 #3533 @vrnobody @mmmray - 修复
WebSocket
读取了 HTTP 头 X-Forwarded-For 但未传递的问题 #3546 @Fangliding @mmmray - 修复日志等级为 debug 的问题 #3535 @abvf
- REALITY 跟随 dest 调用
CloseWrite()
XTLS/REALITY@48f0b2d @Fangliding @RPRX - HTTP 相关传输(
WS
H2
HTTPUpgrade
SplitHTTP
)host 容许客户端发送端口 #3222 (comment) @cute @yuhan6665 - 修复一些
SplitHTTP
HTTP/1.1 连接复用的问题 #3485 @mmmray SplitHTTP
ok 回包的长度混淆预留 #3479 (comment) @RPRX- 修复
SplitHTTP
被一些 CDN 挂起连接的问题 #3479 @mmmray @Fangliding - 修复
SplitHTTP
接收第一个数据包时长度为 0 的问题 #3473 @maskedeken @mmmray
Chores
Xray-core v1.8.20
Xray-core v1.8.19
Xray-core v1.8.18
Xray-core v1.8.17
Xray-core v1.8.16
SplitHTTP Transport
#3412 #3462 #716 @mmmray @RPRX @Fangliding
实现进一步的流量混淆有两种刚好相反的方式:多路复用 与 拆分连接,虽然现在 SH H2 只是逻辑拆分而没有实际拆分
SplitHTTP 使用 HTTP GET 长连接传输下行流量,使用多个 HTTP POST 请求传输上行流量,可以通过不支持 WebSocket、gRPC 的 CDN,实现与 Meek 相同的目标,但 SplitHTTP 是从零开始设计的全新传输方式,并非基于 Meek 修改而来,且 SplitHTTP 比 Meek 更简单、效率更高,详见文档 英文(原生文档) 中文(内容略有不同)
此外,SplitHTTP 没有 WebSocket 的 ALPN 问题,这是一大优势,未来还会支持 HTTP/3(QUIC)
Features
HTTPUpgrade
使用自定义headers
可以保持大小写 #3427 #3430 @mmmray @Fangliding- 嗅探选项
domainsExcluded
可以使用正则表达式 #3449 @Fangliding
Fixes
- 修复
Wireguard
入站的一个崩溃 #3391 @yuhan6665 - 修复一处 UDP 内存泄露 #3401 @isluckys
HTTPUpgrade
缓存可以正确释放 #3428 @mmmray
Chores
- 更新 WebSocket、HTTPUpgrade 测试代码 #3414 be29cc3 @Fangliding
- Remove unnecessary
if
in httpupgrade #3413 @AsenHu - CI: not create zip file when not releasing #3424 @AsenHu
- 修改 grep 参数 #3399 @Grvzard
- 升级所有依赖 @yuhan6665
Xray-core v1.8.15
Xray-core v1.8.13
安全更新:Socks5 入站有密码时,丢弃未认证过的来源 IP 的 UDP 请求 #3371 @Fangliding @RPRX
Features
- 负载均衡
random
roundRobin
配置fallbackTag
仅选择可用节点(需配合连接观察模块) 84eeb56 @mkmark - 新增 API
listen
简化配置 #3317 @vrnobody - REALITY 服务端 show 输出纯端口转发时的 SNI #3318 @mmmray
Fixes
- 客户端使用 XTLS Vision 代理链 #3356 @yuhan6665
- 修复 XTLS Vision 下行 Splice 但上行不活跃时的断连问题 3168d27 121eb7b @yuhan6665
- Fix nil in inbound handler 1d450cf @yuhan6665
- Wireguard dial with context 9b6141b @yuhan6665
Chores
- 完善 issue 模板 #3360 @Fangliding
- 构建文件注释 #3308 @KobeArthurScofield
- 修复 macOS 构建 b892478 @RPRX
- 更新 README a476310 @RPRX
- 升级所有依赖 @yuhan6665 @RPRX
Xray-core v1.8.12
Xray-core v1.8.11
感谢 @Fangliding 加了 issue 模板!
Features
tls ech
命令产生一对 ech 密钥证书 #3273 @chise0713- 封禁源 IP 的 API 命令 #3211 @hossinasaadi
Fixes
- 提出一个网站可以扫描
Browser Dialer
端口并获取服务器信息的漏洞 并引入 csrf token 验证 #3295 @mmmray - 修复 REALITY 爬虫模式的一个罕见崩溃 #3288 @RPRX
- 修复 REALITY 爬虫模式的一个(不存在的)内存泄露 #3279 @testwill
- HTTPUpgrade 允许默认设置 #3245 @Fangliding
- 优化随机 IPv6 地址出站 #3232 @ImAubrey
- 修复一个罕见的 TLS 握手分片崩溃 @yuhan6665
Chores
- 移除过时的 TLS
PreferServerCipherSuites
选项 @yin1999 - HTTPUpgrade 的一些日志 @X-Oracle
- 更新注释 @oftenoccur @coderwander @writegr
- 更新依赖