Skip to content

Releases: XTLS/Xray-core

Xray-core v24.11.5

05 Nov 00:55
afc7ec5
Compare
Choose a tag to compare

XHTTP client: Enable XMUX for download in U-D-S #3965

虽然 v24.10.31 刚发布不久,但这几天积累的 changes 已经值得发一个新版,主要是懒得 review,请大家测试

XHTTP 上下行分离时的 XMUX 特性说明:#3965

别忘了支持一下 Project X NFT:Announcement of NFTs by Project X #3633

What's Changed

New Contributors

Full Changelog: v24.10.31...v24.11.5

Xray-core v24.10.31

31 Oct 08:00
4ec5c78
Compare
Choose a tag to compare

XHTTP: The real upload / download splitting #3955 🎃

v1.8.16 第一版 SplitHTTP 发布时,有提到 拆分连接 也有助于反审查,但当时的 SplitHTTP 只是逻辑拆分而没有实际拆分。

现在,#3955 正式将 SplitHTTP 升级为 XHTTP,实现了真正的上下行分离,给 GFW 针对单个连接的分析带来了麻烦。

XHTTP 也已正式支持 REALITY,所以,发挥你的想象力,上下行随意组合,万圣节 have fun!

别急,分离下行的 XMUX #3965、XHTTP 的分享、对 HTTP 传输层的合并等一系列更新也会在接下来的版本中到来。

毫无疑问,XHTTP 又开启了一个崭新的时代。

此外,XMUX 有了非无限复用的默认值,这可以提升默认配置下 XHTTP 的使用体验。REALITY 服务端的 dest 已更名为 target,XHTTP 的示例均已采用新名,包括 RAW。WireGuard 出站的 kernelMode 已改为 noKernelTun

别忘了支持一下 Project X NFT:Announcement of NFTs by Project X #3633

What's Changed

  • REALITY config: Add target as an alias of dest by @RPRX in 75729ce
  • Chore: Lint common/errors/feature_errors.go by @RPRX in c30f5d4
  • Routing: Fix regexp syntax support in UserMatcher by @vnxme in #3900
  • Browser Dialer: Revert changes to event listeners by @mmmray in #3906
  • HTTP transport: Fix an issue when HTTP client start fail with 403 by @yuhan6665 @RPRX in #3910
  • WireGuard kernelTun: Check Capabilities instead of checking UID by @chise0713 @RPRX in #3871
  • Refactor: Use struct Int32Range widely by @Fangliding in #3867
  • Routing: Add mutex for Attributes temporarily by @Fangliding in #3908
  • XMUX: Change to non-infinity-reuse default values by @RPRX in #3919
  • Chore: Generate *.pb.go files with protoc v5.28.2 by @RPRX in 47fad1f
  • WireGuard config: Replace kernelMode with noKernelTun by @RPRX in 9bdf72d
  • Transport: Remove GUN (an alias of gRPC) by @RPRX in 8809cbd
  • Config: Prefer newer alias (REALITY target, RAW) by @RPRX in e4939dc
  • WireGuard createTun: Add more logs by @RPRX in ceb6eac
  • Fix: Apply mutex when visiting Attributes as well by @Fangliding in #3921
  • REALITY: Unblock SplitHTTP transport by @mmmray in #3816
  • XHTTP: The real upload / download splitting by @RPRX in #3955

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

Full Changelog: v24.9.30...v24.10.31

Xray-core v24.10.16

16 Oct 04:11
25c7bc0
Compare
Choose a tag to compare

Xray-core v24.9.30

30 Sep 15:20
3b06af8
Compare
Choose a tag to compare

XMUX (multiplex controller) for SplitHTTP

这是 Xray-core 改变版本号规则后的首个 stable 版本,正如 v1.8.24 所预告的,该版本的重要更新主要有:

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

若想引入 Xray-core 作为 lib,参考 2dust/AndroidLibXrayLite#58

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

What's Changed

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

New Contributors

Full Changelog: v1.8.24...v24.9.30

Xray-core v24.9.19

19 Sep 01:15
bc28cad
Compare
Choose a tag to compare
Xray-core v24.9.19 Pre-release
Pre-release

懒得列详细 changes,总之小白鼠们测试下这个版本有没有问题吧,你们是好人

SplitHTTP xmux:https://xtls.github.io/config/transports/splithttp.html @ll11l1lIllIl1lll @mmmray

UDP noises:https://xtls.github.io/config/outbounds/freedom.html @dragonbreath2000 @Fangliding @mmmray

Xray-core v24.9.16

16 Sep 12:49
a35d571
Compare
Choose a tag to compare

Xray-core v24.9.7

07 Sep 00:50
3d9137c
Compare
Choose a tag to compare
Xray-core v24.9.7 Pre-release
Pre-release

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

升级一些依赖,使用 Go 1.23.1 进行编译。二进制大小比 v1.8.24 减小了 1MB。

目前计划月中发 pre-release,月底发 latest-release,这句话的意思是 #3812 (comment)

Import 参考 2dust/AndroidLibXrayLite#58

Xray-core v1.8.24

30 Aug 07:01
6baad79
Compare
Choose a tag to compare

Donation & NFTs

在等待 SplitHTTP multiplex controller 期间,main 分支已经积累了大量重要更新,所以我们决定先发一个版本,主要有:

  • SplitHTTP 的 header padding,H3 支持 dialerProxy,以及一些修复
  • Socks 入站默认兼容 HTTP 代理请求(mixed)
  • Fragment 支持 tlshello 被分片后在同一个 TCP 帧中发送
  • UDP noise(preview,下个版本可能会改)

And we have created Project VLESS for non-Chinese participants (Russian mainly).

此外,我们开始通过 NFT 的形式接受捐款,详见 Announcement of NFTs by Project X #3633

正如大家所看到的,Xray-core v1.8 已经不小心持续了一年多的时间,我们发现流式更新是一个不错的形式。然而由于传统版本号的存在,为每个版本规划功能、进行排期已经严重阻碍了新功能的开发、合并、发布。就像这次本来在等 multiplex controller,以及已经有很多 PR 在等 v1.9,并且我们还给 v1.10 及以后的版本号规划了更多功能,要很久才能排到。

所以我们决定从下个版本开始弃用传统的版本号,改用发版日期作为版本号,如 v24.8.30,并取消版本规划,全面采用流式更新,写好的功能直接合并,不再等待,预计每月月底发一个版本。 毕竟对于反审查软件来说,相较于传统的版本号,新功能的及时性、每月更新更为重要,而不是发一个功能确定的版本并长期维护,我们也没有过这样的习惯。

补充:并不一定按月更新,changes 突然积累多了同样可以发版,如果新版有 bug 的话应当给至少一天冷静期,不会同一天发两个版本。下个版本会移除一些历史久远的代码,以后日常积累新代码、提醒迁移,跨年新版删代码、breaking

我们相信有了各位的捐款以及对发版形式的革新,Xray-core 这个项目会发展得更好。

Changes

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

Xray-core v1.8.23

29 Jul 10:23
4c82ef8
Compare
Choose a tag to compare

SplitHTTP Upload Optimization

正如 v1.8.21 所预告的,SplitHTTP 现已引入 scMinPostsIntervalMs 选项,优化了上行的稳定性。

scMinPostsIntervalMs 为客户端独有参数,默认值为 30,即单个子连接内每 30 毫秒 POST 一次,你可以将它设为 10 以降低游戏延迟,或者设为 10-50 以减少特征。注意:服务端必须升级到该版本以支持新版客户端,兼容旧版客户端。

下个版本主要会引入 multiplex controller,以及支持 H3 dialerProxy。目前我们计划等到 uQuic v0.1.0 时用其替换 quic-go。

Changes

恭喜 @mmmray 贡献了 Xray-core 的第 1000 个 commit!

Xray-core v1.8.21

21 Jul 21:37
c27d652
Compare
Choose a tag to compare

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

Fixes

Chores