v1.17.0 更新日志

Clash v1.17.0 是一个功能丰富的重要更新,新增了多个协议支持,改进了规则匹配引擎的性能,优化了代理组的处理逻辑,同时增强了配置验证功能。

🚀 新功能

  • 新协议支持:新增了对 Hysteria 和 TUIC 协议的支持
  • 规则增强:支持更复杂的规则匹配模式,包括正则表达式和通配符
  • 配置验证:增强了配置验证功能,提供更详细的错误提示和建议
  • 代理组优化:新增了负载均衡和健康检查功能
  • API 扩展:RESTful API 新增了更多管理接口

🔧 改进

  • 规则匹配引擎:大幅提升规则匹配性能,优化了算法复杂度
  • 代理组逻辑:改进了代理组的选择和切换逻辑,提供更智能的自动选择
  • 内存管理:优化了内存分配策略,降低内存占用
  • 日志输出:改进了日志格式,增加了更多调试信息
  • 配置热重载:优化了配置热重载机制,减少了重载时间
  • 并发处理:提升了并发连接的处理能力

🐛 修复

  • DNS 解析:修复了 DNS 解析在某些情况下超时的问题
  • 代理连接:修复了代理链在特定场景下连接失败的问题
  • 规则匹配:修复了部分规则匹配不准确的问题
  • 配置解析:修复了复杂配置文件解析错误的问题
  • 内存泄漏:修复了某些场景下的内存泄漏问题
  • 并发竞争:修复了高并发场景下的数据竞争问题

📝 技术细节

配置变更

v1.17.0 引入了新的配置选项,以下是推荐的配置示例:

# 代理组配置示例
proxy-groups:
  - name: "自动选择"
    type: url-test
    proxies:
      - 节点1
      - 节点2
    url: 'http://www.gstatic.com/generate_204'
    interval: 300
    tolerance: 50

  - name: "负载均衡"
    type: load-balance
    proxies:
      - 节点1
      - 节点2
    url: 'http://www.gstatic.com/generate_204'
    interval: 300
    strategy: consistent-hashing

# 规则配置示例
rules:
  - DOMAIN-SUFFIX,google.com,自动选择
  - DOMAIN-KEYWORD,youtube,自动选择
  - GEOIP,CN,DIRECT
  - MATCH,自动选择

协议支持

新增协议的配置示例:

# Hysteria 协议
- name: "hysteria-example"
  type: hysteria
  server: example.com
  port: 36712
  auth_str: password
  up: 50
  down: 100

# TUIC 协议
- name: "tuic-example"
  type: tuic
  server: example.com
  port: 443
  uuid: YOUR-UUID
  password: YOUR-PASSWORD

API 变更

新增 API 接口:

  • GET /proxies/:name/healthcheck - 手动触发健康检查
  • GET /rules - 获取当前规则列表
  • POST /configs - 更新配置文件

📦 下载

您可以从以下链接下载 v1.17.0 版本:

🔄 升级指南

从 v1.16.x 升级到 v1.17.0:

  1. 备份现有配置文件和数据
  2. 停止正在运行的 Clash 服务
  3. 下载并解压新版本
  4. 检查配置文件兼容性(使用新的验证功能)
  5. 根据需要更新配置文件以使用新功能
  6. 启动 Clash 并验证运行状态
  7. 测试代理连接是否正常

注意:v1.17.0 与之前的配置文件完全兼容,但建议使用新的配置选项以获得更好的性能。

💡 使用建议

  • 建议启用代理组健康检查功能以提高可用性
  • 使用负载均衡代理组可以获得更好的性能
  • 新的规则匹配引擎在大量规则时性能提升明显
  • 建议定期更新到最新版本以获得最佳体验

📋 已知问题

v1.17.0 版本中已知的问题:

  • 在某些 Linux 发行版上,systemd 服务配置可能需要手动调整
  • Hysteria 协议在高延迟网络下的性能还有优化空间
  • 配置热重载时可能短暂影响正在进行的连接

这些问题将在后续版本中修复。