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:
- 备份现有配置文件和数据
- 停止正在运行的 Clash 服务
- 下载并解压新版本
- 检查配置文件兼容性(使用新的验证功能)
- 根据需要更新配置文件以使用新功能
- 启动 Clash 并验证运行状态
- 测试代理连接是否正常
注意:v1.17.0 与之前的配置文件完全兼容,但建议使用新的配置选项以获得更好的性能。
💡 使用建议
- 建议启用代理组健康检查功能以提高可用性
- 使用负载均衡代理组可以获得更好的性能
- 新的规则匹配引擎在大量规则时性能提升明显
- 建议定期更新到最新版本以获得最佳体验
📋 已知问题
v1.17.0 版本中已知的问题:
- 在某些 Linux 发行版上,systemd 服务配置可能需要手动调整
- Hysteria 协议在高延迟网络下的性能还有优化空间
- 配置热重载时可能短暂影响正在进行的连接
这些问题将在后续版本中修复。