Clash · 以规则之名,掌控网络之流
跨平台规则型代理工具,支持 Shadowsocks、VMess、Trojan 等多种协议,毫秒级规则匹配,低资源占用。
48.2k stars
100k+ 用户
MIT 开源协议
# clash 配置示例
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-SUFFIX,github.com,Proxy
- GEOIP,CN,DIRECT
- MATCH,DIRECT
proxies:
- name: "hk-node"
type: vmess
server: example.com
port: 443
核心特性
🧩 规则灵活
支持 DOMAIN、IP-CIDR、GEOIP、PROCESS-NAME 等丰富规则类型,实现精细化分流。
⚡ 高性能核心
原生 Go 实现,毫秒级规则匹配,内存占用低于 20MB,极速体验。
🔌 多协议兼容
Shadowsocks、VMess、Trojan、Snell、SOCKS5、HTTP(S) 全协议支持。
🌍 跨平台覆盖
Windows、macOS、Linux、Android、iOS、OpenWrt 全生态支持。
🛠️ 声明式配置
YAML 配置文件,多配置切换与远程订阅,简洁强大。
🔄 热重载
修改配置无需重启,自动感知变更并应用新规则。
工作原理解析
用户请求 → Clash 规则引擎 → 匹配策略 → 代理链/直连
Clash 在内核层拦截应用程序的网络请求,通过高性能规则引擎匹配域名、IP、进程等条件,决定流量走向:直连、拒绝或经代理出口。
跨平台支持
快速开始
1️⃣ 下载 Clash
下载适合版本2️⃣ 编辑配置
port: 7890
socks-port: 7891
proxies:
- name: "my-server"
type: ss
server: example.com
port: 8388
rules:
- DOMAIN-SUFFIX,google.com,Proxy
socks-port: 7891
proxies:
- name: "my-server"
type: ss
server: example.com
port: 8388
rules:
- DOMAIN-SUFFIX,google.com,Proxy
3️⃣ 运行 Clash
终端执行 ./clash -f config.yaml 或双击图形客户端,即刻生效。
下载 Clash
社区与生态
GitHub 贡献者 300+
总下载量超 200 万次
48k stars
总下载量超 200 万次
48k stars
“Clash 规则系统非常灵活,让我精细管理家庭网络” — @TechGeek
生态项目:Clash Dashboard · Yacd · Clash Meta
常见问题 (FAQ)
1. 如何解决 Clash 配置无法生效的问题?
✅ 步骤1:检查 YAML 缩进格式是否正确;步骤2:确认代理服务器地址端口可达;步骤3:查看日志输出是否有报错信息;步骤4:尝试使用 `-d` 参数指定工作目录;步骤5:更新到最新版本修复已知bug;步骤6:若规则未匹配,可添加 MATCH 兜底规则。通常配置校验即可生效。
2. 如何利用规则分流实现国内网站直连?
✅ 步骤1:定义 GEOIP 规则识别国内IP;步骤2:添加 DOMAIN-SUFFIX 针对常见国内域名直连;步骤3:使用 RULE-SET 加载国内域名列表;步骤4:直连策略设置为 DIRECT;步骤5:确保配置无冲突,优先匹配精细规则;步骤6:通过日志验证分流结果。实现毫秒级智能路由。
3. Clash 内存占用过高怎么办?
✅ 步骤1:检查是否开启大量无用规则集;步骤2:减少日志级别为 warning;步骤3:禁用不必要的 DNS 缓存;步骤4:升级至官方最新核心;步骤5:排查是否存在配置订阅循环更新;步骤6:使用轻量版 clash 内核。通常可控制在 30MB 以下。
4. 如何在移动端 (Android/iOS) 使用 Clash 配置?
✅ 步骤1:Android 安装 Clash Meta for Android;步骤2:导入配置文件(.yaml)或订阅链接;步骤3:开启 VPN 权限;步骤4:iOS 用户可使用 Stash 或 Quantumult X,导入相同规则;步骤5:调整混合流量模式;步骤6:确保代理协议兼容移动网络。跨平台统一配置极简同步。
5. 怎样为不同应用程序设置独立代理策略?
✅ 步骤1:使用 PROCESS-NAME 规则类型;步骤2:编写规则如 `PROCESS-NAME,Discord.exe,Proxy`;步骤3:支持通配符匹配进程名;步骤4:针对游戏、浏览器分别定义出口;步骤5:开启 TUN 模式(若需要);步骤6:重启 Clash 使规则生效,实现应用级分流。
6. 如何参与 Clash 开源贡献并获取开发文档?
✅ 步骤1:访问 GitHub 仓库 Dreamacro/clash;步骤2:阅读贡献指南和开发者协议;步骤3:Fork 项目并创建特性分支;步骤4:提交符合规范的 PR;步骤5:加入社区 Discord 与核心开发者交流;步骤6:查阅 /docs 目录获得架构说明。欢迎大家共建生态。
Clash · Rule your traffic, take control
Cross-platform rule-based proxy utility, supporting Shadowsocks, VMess, Trojan, millisecond rule matching, low resource usage.
48.2k stars 100k+ users
rules:\n - DOMAIN-SUFFIX,google.com,Proxy\n - GEOIP,CN,DIRECT\nproxies:\n - name: example\n type: vmess
Core Features
🧩 Flexible Rules
DOMAIN, IP-CIDR, GEOIP, PROCESS-NAME for fine-grained traffic control.
⚡ High Performance
Native Go, <20MB memory, millisecond matching.
🔌 Multi-Protocol
SS, VMess, Trojan, SOCKS5, HTTP(S).
🌍 Cross-Platform
Windows, macOS, Linux, Android, iOS, OpenWrt.
🛠️ YAML Config
Declarative config with remote subscribe.
🔄 Hot Reload
Apply changes without restart.
How it works
User Request → Clash Rule Engine → Match Policy → Proxy/Direct
Platform Support
Windows (CFW)
macOS (ClashX)
Linux (CLI)
Android (CMFA)
iOS (Stash)
OpenWrt
Quick Start
1️⃣ Download
Get Clash2️⃣ Edit Config
port: 7890\nproxies:\n - name: server\n type: ss
3️⃣ Run Clash
./clash -f config.yaml
Downloads
Community & Ecosystem
GitHub 300+ contributors · 48k stars
“Clash gives me precise control over my home network” — @TechGeek
Ecosystem: Clash Dashboard, Yacd, Clash Meta
Frequently Asked Questions
1. Config not working?
Step1: Validate YAML indentation. Step2: Check proxy server reachable. Step3: Inspect logs. Step4: Run with `-d` directory. Step5: Upgrade to latest. Step6: Add MATCH rule fallback.
2. How to bypass Chinese websites?
Step1: GEOIP,CN rule. Step2: DOMAIN-SUFFIX for .cn domains. Step3: Use RULE-SET. Step4: Set DIRECT policy. Step5: Prioritize rules. Step6: Verify logs. Smart routing achieved.
3. High memory usage?
Step1: Reduce useless rule sets. Step2: Lower log level. Step3: Disable excessive DNS cache. Step4: Update core. Step5: Check subscription loops. Step6: Use lightweight build. Typically under 30MB.
4. Mobile setup (Android/iOS)?
Step1: Install Clash Meta for Android. Step2: Import config. Step3: Grant VPN permission. Step4: iOS use Stash/Quantumult X. Step5: Adjust mixed mode. Step6: Ensure protocol compatibility.
5. App-specific proxy?
Step1: Use PROCESS-NAME rule. Step2: Write `PROCESS-NAME,Discord.exe,Proxy`. Step3: Wildcard support. Step4: Define per app. Step5: Enable TUN if needed. Step6: Restart Clash.
6. Contribute to Clash?
Step1: Visit GitHub Dreamacro/clash. Step2: Read contribution guide. Step3: Fork & branch. Step4: Submit PR. Step5: Join Discord. Step6: Check /docs for architecture. Welcome!