MyGit

v1.2.1

XTLS/Xray-core

版本发布时间: 2021-01-10 21:20:19

XTLS/Xray-core最新发布版本:v24.12.18(2024-12-19 05:39:02)

Configuration Detector

Xray-core 现支持 FullCone 和 Symmetric 两种模式,而 VLESS、VMess、Mux 暂不支持 FullCone,需要 Symmetric 模式

所以为了防止 VLESS、VMess、Mux 被应用 FullCone,v1.2.0 开始有一个配置检测机制,说明如下:

  1. v1.2.1 开始此机制被移至 core/xray.goinitInstanceWithConfig 函数开头,以便在 v2rayNG 上生效 https://github.com/XTLS/Xray-core/issues/138#issuecomment-757437547
  2. Xray-core 默认选择 FullCone 模式,除非出站配置有 VLESS/VMess 且无 SS/Trojan,此时是 Symmetric
  3. 若出站配置的任一 SS/Trojan 开了 Mux,则一票否决,Xray-core 选择 Symmetric 模式

Optimizations & Fixes

TPROXY

修复 TPROXY 的 UDP/IPv6 伪造,详见 https://github.com/XTLS/Xray-core/issues/137#issuecomment-756064627 ,十分感谢 @Ninedyz @changyp6 发现、定位问题

关于 TPROXY UDP 的重要说明:

其它软件 TPROXY FullCone 的实现方式是为每一个返回的 UDP 包创建一个 connected UDP socket,write 一次即销毁 而 Xray-core 的实现方式是创建 unconnected UDP socket,且 writeTo 后不销毁,存进 map 供下次复用 这样做更优雅,理论上也有更好的性能,要求 iptables 没有针对 UDP 的“避免已有连接的包二次通过 TPROXY”规则

(实际上对于其它软件 TPROXY FullCone 的实现方式,这个 UDP 规则似乎也没有用,因为都会进 TPROXY)

UDP Worker

调整入站 UDP Worker 的 GC 策略为“每 60 秒清理一次 300 秒无活动的映射”,影响 Socks、SS、TPROXY,详见 https://github.com/XTLS/Xray-core/issues/129#issuecomment-757355137

之前没有注意到这个机制,调整后 UDP 的整体表现更加稳定了,彩虹六号再也不会掉线了,十分感谢 @GleenJi 等协助测试

Log

根据这个提议 https://github.com/XTLS/Xray-core/discussions/56#discussioncomment-255112 增强 access 日志信息 @eMeab https://github.com/XTLS/Xray-core/pull/121

现在你可以在 access 日志中看到路由信息了,格式为 [inbound tag -> outbound tag],注意目前需经过路由才有完整信息

Socks

优化 Socks 代码、智能化 Socks5 的 UDP Associate 回应:

现在 Socks 入站开启 UDP 时无需再额外填本机 IP 了,且可以接受来自任何网口的请求(若配置中额外填了本机 IP,则以它为准)

Trojan

精简 Trojan UDP 的处理代码 @maskedeken https://github.com/XTLS/Xray-core/pull/142

修复 Trojan 出站 TCP 行为:一些 TCP 连接是服务端先发数据,现在 Trojan 可以在此场景下正常工作了,详见 https://github.com/XTLS/Xray-core/issues/127#issuecomment-756720453

Chores

Notices

  1. Socks5、Shadowsocks 都是原生 UDP,它们的 UDP 不走底层传输方式
  2. VLESS、Trojan、VMess、Mux 都是 UDP over TCP,且走底层传输方式
  3. HTTP 出入站不支持代理 UDP,Socks 版本 5 之前也不支持 UDP
  4. 这里的 FullCone 指的是 UDP 的 NAT 行为,配置时尤其注意防火墙
  5. 链式代理若要实现 FullCone,一般来说所有环节都要支持 FullCone
  6. Docker 若要实现 FullCone,相关容器的网络模式需要是 Host

相关地址:原始地址 下载(tar) 下载(zip)

1、 Xray-android-arm64-v8a.zip 8.53MB

2、 Xray-dragonfly-64.zip 8.32MB

3、 Xray-freebsd-32.zip 7.81MB

4、 Xray-freebsd-64.zip 8.33MB

5、 Xray-linux-32.zip 7.83MB

6、 Xray-linux-64.zip 8.34MB

7、 Xray-linux-arm32-v5.zip 7.74MB

8、 Xray-linux-arm32-v6.zip 7.74MB

9、 Xray-linux-arm32-v7a.zip 7.73MB

10、 Xray-linux-arm64-v8a.zip 7.7MB

11、 Xray-linux-mips32.zip 13.33MB

12、 Xray-linux-mips32le.zip 13.11MB

13、 Xray-linux-mips64.zip 7.52MB

14、 Xray-linux-mips64le.zip 7.36MB

15、 Xray-linux-ppc64.zip 7.64MB

16、 Xray-linux-ppc64le.zip 7.52MB

17、 Xray-linux-riscv64.zip 8.26MB

18、 Xray-linux-s390x.zip 8.18MB

19、 Xray-macos-64.zip 8.63MB

20、 Xray-openbsd-32.zip 7.79MB

21、 Xray-openbsd-64.zip 8.31MB

22、 Xray-windows-32.zip 8.06MB

23、 Xray-windows-64.zip 8.39MB

24、 Xray-windows-arm32-v7a.zip 7.84MB

查看:2021-01-10发行的版本