Xray-core v1.8.24
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
- Freedom: Add UDP noise #3711 @dragonbreath2000 @mmmray
- DNS: Support queryStrategy config for UDP NameServer #3728 @xiaorouji
- Mux server: Fix data leak between connections #3718 @mmmray
- Issues template: Add require for latest version 34e0a2f @Fangliding
- SplitHTTP: Fix connection leaks and crashes #3710 @mmmray
- Pin protobuf packages #3715 @mmmray
- Chore: Fix some comment typos #3716 @curlwget
- Wireguard inbound: Fix no route when bind to interface #3698 @chise0713
- SplitHTTP client: Do not produce too large upload #3691 @mmmray
- Config: Combine filename and format into a new struct #3687 @jadeydi
- Log: Add "from" before source address 11b0480 @RPRX
- Socks inbound: Support HTTP inbound by default #3682 @Fangliding @RPRX
- Commands: Use creflect.MarshalToJson() as output #3674 @yuhan6665
- DialerProxy: Fix SplitHTTP H3 dialerProxy #3570 @mmmray
- SplitHTTP server: Add "Cache-Control: no-store" to GET response #3652 @PoneyClairDeLune
- SplitHTTP server: Only "ok" to older clients #3671 @mmmray
- SplitHTTP: Replace responseOkPadding with xPaddingBytes #3643 @mmmray
- Commands: Add convert with two sub-commands #3661 @vrnobody
- SplitHTTP client: Raise idle timeout to 5 minutes, Add h*KeepalivePeriod #3624 @mmmray
- Freedom: Combine fragmented tlshello if interval is 0 #3663 @Fangliding @RPRX @radioactiveAHM
- API: Improve MarshalToJson() in common/reflect/marshal.go #3655 @vrnobody
- Docker: Fix permissions of geosite and geodat #3634 @definitio
- Socks4a server: Check if the client sends an IP address as domain #3628 @Fangliding
以及更新 README,升级一些依赖,使用 Go 1.23 进行编译。