v1.7.5

XTLS/Xray-corev1.7.5Feb 8, 2023by RPRX

AI Summary

Major update expanding TLS fingerprint support via uTLS and finalizing XTLS Vision implementation details.

Key Highlights

  • Full uTLS fingerprint support with native names and presets.
  • XTLS Vision inserts padding and rejects Mux (except XUDP).
  • Sockopt `interface` support added.
  • Extended sharing link standard with `fp` (fingerprint).

New Features

  • uTLS support for PinnedPeerCertificateChainSha256.
  • XTLS Vision padding implementation.
  • XTLS Vision Mux rejection implementation.
  • XTLS Vision outer TLS version checking.
  • Extended preset fingerprint names (random, randomized).
  • Sockopt `interface` support.

Full Release Notes

## More fingerprints & Share link standard

指纹列表:[transport/internet/tls/tls.go](https://github.com/XTLS/Xray-core/blob/15999e5c2aa92abe063cea03803d06b29e37e25b/transport/internet/tls/tls.go#L160) @yuhan6665 @RPRX 

- 现在 `fingerprint` 支持填写 uTLS 库的原生指纹名,详见 `ModernFingerprints` 和 `OtherFingerprints`,覆盖全部指纹。
- 添加更多预设指纹短名,详见 `PresetFingerprints`,建议 GUI 内置它们为预设选项,并允许手动填写指纹名。
`random`:从 `ModernFingerprints` 中随机选一个指纹,注意它与 `randomized` 是两个完全不同的选项。
`randomized`:随机生成一个 TLSv1.3、X25519 的指纹,符合 VLESS XTLS Vision、REALITY 的要求。
- 前段时间有 `safari` 指纹更稳的反馈,注意现在选 `ios` 才是前段时间的 `safari`,它与现在的 `safari` 不同。
- 若有 `fingerprint`,Xray-core 启动时会检查它是否存在,若不存在将报错。
- 更新分享链接标准:添加 `fp` 以支持分享指纹名,详见 https://github.com/XTLS/Xray-core/discussions/716 4.4.0 项。

## VLESS XTLS Vision

- https://github.com/XTLS/Xray-core/pull/1610 XTLS Vision inserts padding after single VLESS header (Client) @yuhan6665 @RPRX 
- https://github.com/XTLS/Xray-core/pull/1567 XTLS Vision rejects Mux except for XUDP (Server) @yuhan6665 @RPRX 
- https://github.com/XTLS/Xray-core/pull/1554 XTLS Vision checks outer TLS version (Both) @yuhan6665 @timi-owo 

## Features

- https://github.com/XTLS/Xray-core/pull/1494 为 `sockopt` 添加 `interface` 项以指定出口网卡名称 @aeeq 
- https://github.com/XTLS/Xray-core/pull/1556 uTLS 支持 PinnedPeerCertificateChainSha256 @mra9776 

## Fixes

该版本修复了两个会导致服务端崩溃的问题,建议升级

- https://github.com/XTLS/Xray-core/issues/1501 Make sure that 0 <= b.start <= b.end @RPRX @zerodwide 
- https://github.com/XTLS/Xray-core/issues/1515 Use buf.FromBytes(make([]byte, buf.Size)) to create `first` @RPRX @asiaqa 
- https://github.com/XTLS/Xray-core/issues/1611 Add callClose to UDP Dispatcher @RPRX @rurirei 
- https://github.com/XTLS/Xray-core/pull/1509 Refine the logic of security type `auto` @H1JK 
- https://github.com/XTLS/Xray-core/pull/1542 Handle error raised by dispatcher @pocketW 

## Chores

- [Generate *.pb.go files with protoc v3.21.12](https://github.com/XTLS/Xray-core/commit/b70912799bdb84caae4cd7ea44108875d91adaf7),你可以按照该 commit message 中的步骤生成所有 *.pb.go 文件  @RPRX 
- 基于 Go 1.20,升级所有依赖(gvisor 除外),更新 workflows @RPRX 

## Notices

- 经过一段时间的必要前期准备,Xray-core、VLESS XTLS Vision、uTLS 等均已达成发布 REALITY 的前置条件,现在开始重点转向 REALITY,相关代码、模板、文章、文档等会陆续发布,今天之内会公布 [REALITY 服务端的代码](https://github.com/XTLS/REALITY)
- Xray-core v1.8.0 会加入对 REALITY 的支持,并且可能会移除对旧版 XTLS 的支持,请尽快迁移到 XTLS Vision
- 该版本(Xray-core v1.7.5)的编译需要使用 Go 1.19+
- 恭喜 @yuhan6665 贡献了 Xray-core 的第 500 个 commit!