基于规则的高性能网络代理工具

Clash 是一款用 Go 语言开发,支持多协议、规则驱动的高性能网络代理工具。专为开发者、高级用户设计,提供跨平台支持与丰富的配置选项。

Go 语言开发
多协议支持
高性能引擎
规则驱动

核心特性

多协议支持

全面支持 Shadowsocks、VMess、Trojan、Snell 等主流代理协议,满足多样化网络代理需求。

规则引擎

基于域名、IP、GeoIP 等条件的强大规则系统,支持自定义规则和策略组,实现精细流量控制。

跨平台

支持 Windows、macOS、Linux 等桌面系统,以及 Android、iOS 等移动平台,提供统一体验。

高性能

Go 语言原生并发特性提供卓越性能,低内存占用,支持大量并发连接,满足高负载场景。

快速开始

macOS
Windows
Linux
Android

安装 Clash

brew install clash

文档与社区

文档中心

全面了解 Clash 的配置、API 和高级功能。

进阶指南

学习高级配置和最佳实践,充分发挥 Clash 潜力。

生态与社区

Clash 拥有丰富的生态系统和活跃的社区,包括多种图形界面客户端和第三方工具。

常见问题

如何为Clash配置自定义规则? +

配置Clash自定义规则需要按照以下步骤进行:

  1. 首先打开Clash的配置文件(通常为config.yaml),找到rule规则部分。
  2. 了解规则的基本语法:规则由类型、参数和目标策略组组成,例如"DOMAIN-SUFFIX,google.com,Proxy"。
  3. 根据需求添加规则:可以按域名、IP、GeoIP等条件进行分类,支持DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD等多种匹配方式。
  4. 设置规则优先级:规则从上到下匹配,第一条匹配的规则生效,因此通用规则应放在具体规则之后。
  5. 可以使用在线规则生成工具或订阅规则集来自动更新规则。
  6. 配置完成后保存文件,在Clash控制面板重新加载配置使新规则生效。
Clash如何实现流量分流和策略路由? +

Clash通过规则引擎和策略组实现精细的流量分流:

  1. 策略组配置:在配置文件中定义多个代理节点并分组,如"Proxy"、"Direct"、"Reject"等。
  2. 规则匹配:根据域名、IP地址、端口等条件将流量分类,每条规则指向特定的策略组。
  3. 负载均衡:支持在策略组内设置负载均衡,自动分配流量到不同的代理节点。
  4. 故障转移:配置故障检测和自动切换机制,当某个节点失效时自动切换到备用节点。
  5. 基于延迟的选择:支持自动选择延迟最低的节点,优化连接速度。
  6. 脚本增强:通过JavaScript脚本实现更复杂的路由逻辑,如基于时间、请求内容等的动态路由。
如何为Clash配置TUN模式以实现全局代理? +

TUN模式允许Clash拦截所有系统网络流量,配置步骤如下:

  1. 确保Clash版本支持TUN功能(Premium版本或特定编译版本)。
  2. 在配置文件中启用TUN设置,指定TUN设备名称和地址段。
  3. 配置路由规则,决定哪些流量经过TUN设备,可以按IP范围、目标端口等条件设置。
  4. 设置DNS over TUN,使DNS查询也通过代理进行,防止DNS污染。
  5. 对于Windows系统,可能需要安装TAP驱动程序;macOS和Linux系统通常内置支持。
  6. 配置完成后重启Clash服务,检查系统路由表确认TUN设备已正确设置。
Clash的RESTful API有哪些核心功能?如何调用? +

Clash提供丰富的RESTful API用于远程控制和管理:

  1. 首先在配置文件中启用外部控制器(external-controller)并设置监听地址和端口。
  2. 获取代理信息:通过GET请求获取当前所有代理节点状态、延迟和流量统计。
  3. 切换代理节点:通过PUT请求修改特定策略组选择的代理节点。
  4. 配置管理:支持通过API获取、修改和重新加载配置文件。
  5. 流量统计:获取实时流量数据,包括上传、下载速度和总流量。
  6. 连接管理:查看当前所有活跃连接,并可以终止特定连接。
如何优化Clash性能以减少延迟和提升速度? +

通过以下步骤可以显著优化Clash的性能表现:

  1. 选择合适的代理节点:使用延迟测试功能定期检查节点速度,选择最优节点。
  2. 启用并发连接:调整并发连接数设置,平衡资源占用和连接速度。
  3. 优化DNS解析:使用可靠的DNS服务器,启用DNS缓存减少解析延迟。
  4. 精简规则列表:删除不必要的规则,减少规则匹配时间,提高处理效率。
  5. 调整缓冲区大小:根据网络状况适当调整TCP/UDP缓冲区大小。
  6. 硬件加速:在支持的系统上启用硬件加速功能,如Windows的Wintun驱动。
Clash与其他代理工具(如V2Ray、Shadowsocks)相比有哪些优势? +

Clash在多个方面具有独特优势:

  1. 规则系统更强大:提供基于YAML的灵活规则配置,支持复杂条件和策略组。
  2. 多协议支持:原生集成多种代理协议,无需额外插件或转换。
  3. 跨平台一致性:在所有主流平台上提供相同的功能和配置方式。
  4. 生态丰富:拥有多种图形界面客户端(如Clash for Windows、yacd等)。