github XTLS/Xray-core v1.5.0
Xray-core v1.5.0

latest releases: v1.8.11, v1.8.10, v1.8.9...
2 years ago

Features

  • 对 DNS 组件进行了重构
  • 新增支持的 DNS 协议
    • DNS over TCP: 写法为 tcp://host:port, 如 tcp://8.8.8.8:53.
    • DNS over TCP local: 写法为 tcp+local://host:port, 如 tcp+local://8.8.8.8:53. (与 DNS over TCP 的区别是此模式不经过路由而是直接由 freedom 发出)
    • DNS over QUIC local: 写法为 quic+local://host, host必须是支持DNS over QUIC 协议的服务器, 如 quic+local://dns.adguard.com.
  • 新的配置项
    • queryStrategy: 可用配置为 "UseIP" | "UseIPv4" | "UseIPv6", 其中UseIPv4 只查询 A 记录, UseIPv6只查询 AAAA 记录. 默认值为 UseIP, 即查询两者.
    • clientIp: 可用配置为一个非私有IP地址. 当指定 clientIp 时, 服务器将返回更适合此 clientIp 所在地区的使用的 IP 地址.
      • 注1: 需要 DNS 服务器支持 EDNS Client Subnet.
      • 注2: 可以在 DnsObject 为所有 DNS 服务器指定 clientIp, 也可在每个 DNS 服务器配置的 ServerObject 为此 DNS 服务器指定 clientIp (优先级高于 DnsObject 的配置).
    • disableCache: 可用配置为 true | false, 为 true 时禁用 DNS 缓存, 默认为 false, 即不禁用.
    • disableFallback: 可用配置为 true | false, 为 true 时禁用 DNS 的 fallback 查询, 默认为 false, 即不禁用.
    • disableFallbackIfMatch:可用配置为 true | false, 为 true 时禁用当DNS 服务器的优先匹配域名列表命中时的 fallback 查询, 默认为 false, 即不禁用.
    • skipFallback: 可用配置为 true | false, 如设置为 true, 在进行 DNS fallback 查询时将跳过此服务器, 默认为 false, 即不跳过.
    • 注1: DNS fallback 查询指 -- DNS 查询会使用 skipFallback 为 false 的 DNS 服务器依次查询. 即如果 DNS 服务器查询失败, 或 expectIPs 不匹配, 则使用下一个被选中的 DNS 服务器进行查询.
  • hosts 现在支持多个地址映射, 如 "dns.google": ["8.8.8.8","8.8.4.4"]
  • 其他的一些修改及修复
  • 感谢 v2fly社区 的各位贡献者在此修改中的大量贡献. 感谢 @Loyalsoldier @Vigilans @vcptr @CalmLong @xiaokangwang @AkinoKaede @digglife @rurirei @yuhan6665 @maskedeken

Enhances

使用 gRPC 底层传输方式时, 如果用 nginx 等工具前置分流, 现在可以接收真实 IP. 感谢 @lucifer9

  • nginx http 和 stream 分流方式均可以传递和接收真实 IP
  • 被修复问题可参见 #766

Fakedns 的一系列改动 感谢 @yuhan6665

  • 支持 FakeDnsObject 配置为数组以返回多个 IP
  • 一些修复和优化

Fixes & Tweaks

Chores

  • Style: format code by gofumpt
  • upgrade dependencies
  • Use Go 1.17.2
  • Update geoip.dat, geosite.dat

Notice

v1.5.0 为包含较大改动的首版,如果使用中遇到任何问题,请在 pre-release 期间及时反馈,我们将会优先定位并解决,未正式发布前请谨慎部署至生产环境。

Don't miss a new Xray-core release

NewReleases is sending notifications on new releases.