Clash for windows
规则驱动的代理引擎生态
Clash 是一个用 Go 语言开发的跨平台、基于规则的代理工具,支持多种代理协议,提供灵活的网络流量控制功能。它具有高性能、配置灵活、界面友好等特点,是网络开发者和高级用户的理想选择。
立即下载 配置指南 了解更多
核心特性
Clash 提供了丰富的功能和灵活的配置选项,满足不同用户的需求
灵活配置
支持YAML格式配置文件,规则灵活,可根据需要自定义代理规则和策略组。支持正则表达式匹配和脚本功能。
高级功能
支持TUN模式、MITM解密、流量统计、延迟测试、负载均衡、故障转移等高级功能,满足专业用户需求。
高性能
采用Go语言编写,性能优异,内存占用低,支持多平台运行,响应迅速。支持多线程处理,可充分利用多核CPU性能。
多协议支持
支持 Shadowsocks、VMess、Trojan、Snell、SOCKS5、HTTP等多种代理协议,兼容性强,可与主流代理服务兼容。
跨平台
支持 Windows、macOS、Linux 等多种操作系统,同时提供 Android 和 iOS 客户端,满足不同设备使用需求。
开源透明
完全开源,代码在GitHub公开,任何人都可以审查代码、提交问题或贡献代码。遵循MIT许可证,可自由使用和修改。
快速开始
只需简单几步,即可开始使用 Clash 管理您的网络代理
下载安装
根据您的操作系统下载对应的 Clash 客户端,并按照安装向导完成安装。
获取配置
从您的代理服务提供商获取订阅链接,或手动创建配置文件。
导入配置
在 Clash 客户端中导入配置文件或订阅链接,系统会自动获取节点信息。
开始使用
选择合适的代理节点,开启系统代理,即可开始安全浏览网络。
功能介绍
详细了解 Clash 的各项功能和高级特性
核心功能概述
Clash 是一款用 Go 语言开发的支持规则代理的跨平台代理客户端,支持多种代理协议,提供灵活的网络流量控制功能。
主要特性
- 基于规则的代理:支持根据域名、IP、地理信息、URL正则等条件自动选择代理节点,支持用户自定义规则
- 多协议支持:支持 Shadowsocks、ShadowsocksR、VMess、Trojan、Snell、SOCKS5、HTTP 等协议
- 代理组功能:支持负载均衡、故障转移、自动选择、手动选择等多种策略组类型
- RESTful API:提供 HTTP 接口,方便与其他工具集成,支持远程配置和控制
- MITM 支持:支持中间人攻击方式的 HTTPS 解密(需安装证书),可用于流量分析和过滤
- TUN 模式:支持透明代理,可代理所有流量,无需为每个应用单独配置代理
- 流量统计:实时显示上行/下行流量,支持按代理节点统计流量使用情况
- 延迟测试:自动测试各代理节点的延迟,帮助选择最优节点
- 脚本功能:支持通过 JavaScript 脚本自定义处理逻辑,提供高度灵活性
配置文件详解
Clash 使用 YAML 格式的配置文件,结构清晰,易于理解和修改。主要配置部分包括:
代理配置 (proxies)
定义代理服务器列表,支持多种协议和自定义参数。每个代理节点可以设置名称、类型、服务器地址、端口、密码、加密方式等参数。
代理组 (proxy-groups)
将多个代理组合成策略组,支持以下类型:
- select:手动选择代理,用户可以从列表中选择使用的代理
- url-test:自动选择延迟最低的代理,定期测试节点延迟并自动切换
- fallback:故障转移,按顺序尝试代理,自动切换到第一个可用的代理
- load-balance:负载均衡,将流量分配到多个代理,提高总体带宽
- relay:链式代理,流量依次通过多个代理,提供额外匿名性
规则 (rules)
定义流量匹配规则,支持多种匹配条件和代理目标。规则按顺序匹配,先匹配的规则生效。
配置文件示例
port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: false
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090
proxies:
- name: "香港节点1"
type: ss
server: hk1.example.com
port: 443
cipher: aes-256-gcm
password: "your-password"
- name: "日本节点1"
type: vmess
server: jp1.example.com
port: 443
uuid: "your-uuid"
alterId: 0
tls: true
proxy-groups:
- name: "自动选择"
type: url-test
proxies: ["香港节点1", "日本节点1"]
url: "http://www.gstatic.com/generate_204"
interval: 300
rules:
- DOMAIN-SUFFIX,google.com,自动选择
- DOMAIN-SUFFIX,github.com,自动选择
- IP-CIDR,192.168.1.0/24,DIRECT
- GEOIP,CN,DIRECT
- MATCH,自动选择
高级功能
TUN 模式
TUN 模式是 Clash 的核心功能之一,它允许 Clash 拦截系统所有网络流量,无需为每个应用程序单独配置代理。这在以下场景特别有用:
- 某些应用程序不支持系统代理设置
- 需要代理所有流量,包括 UDP 流量
- 在路由器等网络设备上部署 Clash
脚本功能
Clash 支持通过 JavaScript 脚本扩展功能,可以自定义规则匹配逻辑、修改请求/响应等。例如,可以编写脚本实现:
- 根据时间自动切换代理策略
- 根据请求内容动态选择代理
- 修改 HTTP 请求头或响应内容
- 实现自定义的负载均衡算法
混合配置
Clash 支持混合配置,可以同时使用本地配置文件和使用远程订阅。这对于需要自定义规则又希望自动更新节点列表的用户非常有用。
支持的代理协议
Clash 支持多种主流代理协议,满足不同场景需求
协议概览
Clash 支持多种代理协议,每种协议都有其特点和适用场景。下表列出了 Clash 支持的主要协议及其特性:
| 协议 | 类型 | 加密 | 混淆 | 性能 | 适用场景 |
|---|---|---|---|---|---|
| Shadowsocks | SOCKS5代理 | AES、Chacha20等 | 支持插件 | 高 | 日常翻墙、流媒体 |
| VMess | 自定义协议 | AES-128-GCM等 | 内置 | 中高 | V2Ray生态、需要高级功能 |
| Trojan | 伪装为HTTPS | TLS加密 | HTTPS流量伪装 | 高 | 高审查环境、稳定性要求高 |
| Snell | Surge私有协议 | 自定义 | 支持 | 高 | Surge兼容、需要高性能 |
| SOCKS5 | 标准代理 | 可选 | 不支持 | 高 | 简单代理、内网穿透 |
| HTTP/HTTPS | HTTP代理 | HTTPS支持TLS | 不支持 | 中 | 简单HTTP代理、爬虫 |
协议详细介绍
Shadowsocks
Shadowsocks 是一个轻量级、高性能的 SOCKS5 代理,专为绕过网络审查而设计。它采用简单的协议设计,性能优异,资源占用低,是目前最流行的代理协议之一。
特点:
- 轻量级,性能优异
- 支持多种加密算法(AES-256-GCM、Chacha20等)
- 支持插件系统,可扩展功能
- 客户端和服务端实现丰富
VMess
VMess 是 V2Ray 项目设计的加密传输协议,相比 Shadowsocks 提供了更多的功能和控制选项。它支持动态端口、传输层配置等高级功能。
特点:
- 功能丰富,支持多种传输方式(TCP、mKCP、WebSocket等)
- 支持动态端口分配
- 提供完整的传输层安全(TLS)支持
- 支持流量伪装和元数据混淆
Trojan
Trojan 是一个将代理流量伪装成 HTTPS 流量的工具,利用 TLS 加密和伪装技术,使代理流量看起来像正常的 HTTPS 流量,从而更难被识别和干扰。
特点:
- 完全伪装成 HTTPS 流量
- 使用标准的 TLS 加密,与正常 HTTPS 无区别
- 抗主动检测能力强
- 性能接近原生 TLS
配置指南
学习如何配置 Clash 以满足不同的使用需求
基础配置
Clash 的配置文件使用 YAML 格式,以下是一个基础配置的结构:
port: 7890 # HTTP代理端口
socks-port: 7891 # SOCKS5代理端口
redir-port: 7892 # 透明代理端口
allow-lan: false # 是否允许局域网连接
mode: Rule # 代理模式:Rule(规则)/Global(全局)/Direct(直连)
log-level: info # 日志级别:silent/error/warning/info/debug
external-controller: 127.0.0.1:9090 # 外部控制接口
secret: "" # 外部控制密码,留空为无密码
# 实验性功能
experimental:
ignore-resolve-fail: true
配置文件结构
一个完整的 Clash 配置文件通常包含以下几个部分:
- 端口设置:定义 Clash 监听的端口
- 代理节点 (proxies):定义可用的代理服务器
- 代理组 (proxy-groups):将代理节点分组,定义选择策略
- 规则 (rules):定义流量路由规则
- DNS 设置 (dns):定义 DNS 服务器和解析策略
- 主机映射 (hosts):定义域名到 IP 的映射
规则配置详解
规则是 Clash 的核心功能之一,它决定了流量如何被路由。Clash 支持多种规则类型:
域名匹配规则
DOMAIN,example.com,Proxy
# 匹配域名后缀
DOMAIN-SUFFIX,google.com,Proxy
# 匹配域名关键字
DOMAIN-KEYWORD,facebook,Proxy
# 匹配完整域名(正则)
DOMAIN-MATCH,^www\.example\.com$,Proxy
IP匹配规则
IP-CIDR,192.168.1.0/24,DIRECT
# 匹配IP-CIDR6(IPv6)
IP-CIDR6,2001:db8::/32,Proxy
# 匹配指定地理位置的IP
GEOIP,CN,DIRECT
# 匹配指定端口的流量
SRC-PORT,80,Proxy
其他规则类型
PROCESS-NAME,chrome.exe,Proxy
# 网络接口匹配
NETWORK-INTERFACE,eth0,Direct
# 用户规则(最后匹配)
RULE-SET,telegram,DIRECT
# 匹配所有剩余流量
MATCH,Proxy
规则匹配顺序
Clash 按照配置文件中规则的顺序进行匹配,一旦匹配到规则就会停止后续匹配。因此,应将更具体的规则放在前面,将通用规则放在后面。
RULE-SET 规则引入外部规则集,这样可以将规则按功能分类,使配置文件更加清晰。例如,可以将广告规则、隐私保护规则、流媒体规则等分别放在不同的规则集中。
代理组配置
代理组允许您将多个代理节点组合在一起,并定义选择策略。Clash 支持多种代理组类型:
代理组类型
- select:手动选择模式,用户从代理列表中选择一个使用
- url-test:自动测速选择,定期测试代理延迟,自动选择延迟最低的节点
- fallback:故障转移模式,按顺序尝试代理,使用第一个可用的节点
- load-balance:负载均衡模式,将流量分配到多个代理节点
- relay:链式代理,流量依次通过多个代理节点
代理组配置示例
# 手动选择组
- name: "手动选择"
type: select
proxies: ["香港节点", "日本节点", "美国节点", "DIRECT"]
# 自动测速组
- name: "自动选择"
type: url-test
proxies: ["香港节点", "日本节点", "美国节点"]
url: "http://www.gstatic.com/generate_204"
interval: 300 # 测速间隔(秒)
# 故障转移组
- name: "容灾备用"
type: fallback
proxies: ["主节点", "备用节点1", "备用节点2"]
url: "http://www.gstatic.com/generate_204"
interval: 300
# 负载均衡组
- name: "负载均衡"
type: load-balance
proxies: ["节点1", "节点2", "节点3"]
url: "http://www.gstatic.com/generate_204"
interval: 300
strategy: round-robin # 负载均衡策略
下载与安装
获取适合您操作系统的 Clash 版本,并按照指南进行安装和配置
各平台客户端
官方核心与图形界面
Clash 项目分为核心(Core)和图形界面(GUI)两部分。核心是命令行工具,提供了所有代理功能;图形界面则是基于核心开发的用户界面,方便普通用户使用。
安装步骤
Windows 安装指南
- 从上方链接下载 Clash for Windows 安装包(.zip 文件)
- 双击解压后运行安装程序,按照向导完成安装
- 启动 Clash for Windows 应用程序
- 在系统托盘中找到 Clash 图标,右键点击选择配置
- 导入您的配置文件(YAML格式)或订阅链接
- 在系统托盘中右键点击 Clash 图标,选择"系统代理"启用代理
- 根据需要选择代理模式(规则/全局/直连)和代理节点
macOS 安装指南
- 下载 ClashX.dmg 文件
- 打开 dmg 文件,将 ClashX 拖拽到应用程序文件夹
- 首次运行时需要在系统偏好设置 > 安全性与隐私中允许运行
- 点击菜单栏中的 ClashX 图标,选择"配置" > "远程配置文件"
- 添加您的订阅链接或手动导入配置文件
- 在菜单栏中点击 ClashX 图标,选择"设置为系统代理"
- 选择代理模式并开始使用
Linux 安装指南
Linux 用户可以通过以下命令安装 Clash 核心:
wget https://github.com/Dreamacro/clash/releases/download/v1.17.0/clash-linux-amd64-v1.17.0.gz
# 解压文件
gzip -d clash-linux-amd64-v1.17.0.gz
# 添加执行权限并移动到系统路径
chmod +x clash-linux-amd64-v1.17.0
sudo mv clash-linux-amd64-v1.17.0 /usr/local/bin/clash
# 创建配置目录
mkdir -p ~/.config/clash
# 下载配置文件(Country.mmdb 用于 GEOIP 规则)
wget -O ~/.config/clash/Country.mmdb https://github.com/Dreamacro/maxmind-geoip/releases/download/20231212/Country.mmdb
# 创建配置文件
nano ~/.config/clash/config.yaml
Android 安装指南
- 下载 Clash for Android APK 文件
- 在手机设置中允许安装来自未知来源的应用
- 安装 APK 文件并打开应用
- 点击"配置"添加您的配置文件或订阅链接
- 返回主界面,点击"启动"按钮开启代理
- 根据提示授予 VPN 权限
常见问题解答
在这里您可以找到关于 Clash 的常见问题和解答
常见问题
是的,Clash 是一个完全开源免费的软件,遵循 MIT 许可证。您可以在 GitHub 上找到其源代码,并根据需要自由使用、修改和分发。但请注意,您需要自行获取可用的代理服务器。
Clash 支持多种代理协议,包括 Shadowsocks、ShadowsocksR、VMess、Trojan、Snell、SOCKS5、HTTP 等。您可以根据自己的需求和服务商提供的服务选择合适的协议。
Clash 使用 YAML 格式的配置文件。您可以通过编辑配置文件来添加代理服务器、设置规则和策略组。也可以使用图形界面客户端(如 Clash for Windows、ClashX 等)来简化配置过程。大多数图形界面客户端都支持通过订阅链接自动更新配置。
Clash 核心是一个命令行工具,但有第三方开发的图形界面客户端,如 Clash for Windows(Windows)、ClashX(macOS)和 Clash for Android(Android)。这些客户端提供了更友好的用户界面,但底层仍然使用 Clash 核心。
对于图形界面客户端,通常可以在设置中检查更新或从 GitHub 发布页面下载最新版本。对于命令行版本,您需要手动下载新版本替换旧版本。建议定期更新以获取新功能和安全性修复。
Clash 是一个开源软件,代码公开可审计。只要您从官方渠道下载,并确保配置文件来源可靠,使用是安全的。请注意保护好自己的配置信息,避免泄露敏感数据。不要使用来路不明的配置文件。
Clash Premium 是 Clash 的增强版本,提供了一些额外功能,如 TUN 模式、脚本支持、流量统计等。普通用户使用标准版即可满足需求,高级用户可能需要 Premium 版本的功能。
如果 Clash 无法连接,请检查以下几点:1) 配置文件是否正确;2) 代理服务器是否可用;3) 端口是否被占用;4) 防火墙是否允许 Clash 通过;5) 系统代理设置是否正确。您还可以查看 Clash 的日志以获取更多错误信息。
您可以在配置文件的 rules 部分添加自定义规则。规则格式为:类型,参数,策略。例如:DOMAIN-SUFFIX,google.com,Proxy 表示所有 google.com 域名的流量都通过 Proxy 策略组。您也可以使用 RULE-SET 引入外部规则集。
是的,Clash 支持负载均衡。您可以在 proxy-groups 中创建一个类型为 load-balance 的代理组,并将多个代理节点添加到该组中。Clash 会将流量分配到组内的各个节点,提高总体带宽和稳定性。
Clash 的配置文件通常保存在以下位置:Windows: %USERPROFILE%\.config\clash\config.yaml;macOS: ~/.config/clash/config.yaml;Linux: ~/.config/clash/config.yaml。您可以定期备份此文件。图形界面客户端通常有导出配置功能。
Clash 本身对网络速度的影响很小,因为它是用高性能的 Go 语言编写的。实际网络速度主要取决于您使用的代理服务器的性能、您的网络环境以及代理协议的选择。选择高质量的代理服务器和合适的协议可以获得最佳速度。