Clash —— 规则驱动,畅享自由网络

跨平台代理内核 · 支持 Shadowsocks / VMess / Trojan 等多种协议 · 灵活路由与策略组

什么是 Clash?

Clash 是基于规则的代理工具,运行在网络与应用层,提供精细化路由控制,灵活管理代理流量。无论是新手还是高级用户,都能通过规则链、策略组实现最佳上网体验。

Clash 开源版
GPL-3.0 完全自由
Clash Premium
增强内核 · TUN & WireGuard

核心特性

入站支持

HTTP/HTTPS/SOCKS5/TUNPremium

出站协议

Shadowsocks(R)/VMess/Trojan/Snell/WireGuardPremium

规则路由

动态脚本、域名、IP、进程规则,极致灵活

Fake-IP DNS

减少DNS污染,提升解析性能,智能缓存

策略组

自动 fallback、负载均衡、延迟测试、URL 测试

远程 Providers

动态加载代理列表,订阅热更新

RESTful API

全面 API 实时管理配置,第三方集成

透明代理

Redirect TCP / TProxy TCP/UDPPremium

*Premium 版本专有特性标记Premium

官方推荐客户端

选择适合你平台的GUI客户端,享受完整Clash体验。下载后请验证SHA256校验和。

Windows

Clash for Windows
Premium 增强

下载 →

macOS

ClashX Pro / Stash
Premium 支持 TUN

下载 →

iOS

Stash (App Store)
规则驱动代理

前往 App Store

Android

Clash for Android
全面功能

下载 →

OpenWrt

OpenClash
路由器必备插件

下载 →

⚠️ 务必从官方源下载,比对 SHA256 确保完整性

开源版 vs Premium 版功能对比

特性Clash 开源版Clash Premium
TUN 模式 (虚拟网卡)
WireGuard 出站
脚本规则 (JavaScript)
进程/进程路径规则
UDP 代理增强基础支持完整 TProxy/UDP
性能优化/并发优秀极致低延迟

Premium 闭源但提供更多高级特性,适合需要 TUN 和脚本等场景的用户。

快速开始指南

1

选择客户端

根据你的操作系统选择上方推荐的客户端下载并安装。

2

获取配置

准备订阅链接或手动编写 config.yaml 文件(规则、代理节点)。

3

导入配置

在客户端中导入订阅或配置文件,启动 Clash 核心。

4

设置代理

开启系统代理或启用 TUN 模式(Premium)实现全局接管。

5

验证与优化

访问测试页面,调整策略组,享受智能分流。

详细文档

常见产品问题 · 步骤式解答

❓ 1. Clash Premium 与开源版的核心差异在哪?我该如何选择?
  1. 对比功能需求: 如果你需要 TUN 模式实现 VPN 级别全局代理、WireGuard 出站协议、脚本规则(如按进程分流)等高级特性,必须选择 Premium 版内核。
  2. 使用场景: 开源版完全免费且透明,适合基础 HTTP/SOCKS5 代理以及规则分流,足够日常使用;Premium 适用于需要 UDP 全面接管、游戏加速及复杂自定义逻辑的场景。
  3. 客户端支持: 大部分图形客户端(如 Clash for Windows、ClashX Pro)内置 Premium 核心,可直接享受增强功能。
  4. 性能与兼容: Premium 针对高并发和低延迟进行优化,但开源版更新透明,二者配置文件基本兼容。
  5. 最终选择: 新手推荐从开源版搭配 GUI 入门;高级用户切换至 Premium 解锁极致能力。

综上,根据对 TUN、脚本、WireGuard 的依赖度,选择最合适版本即可。

❓ 2. 如何配置 Clash TUN 模式实现全局代理(包括 UDP)?
  1. 确认使用 Premium 版本内核(开源版不支持 TUN)。
  2. 在配置 config.yaml 文件中添加 tun: 字段,设置 enable: true,指定 stack 为 system 或 gvisor,并配置 dns 监听。
  3. 确保设备安装了虚拟网卡驱动(Windows 需安装 TAP 或使用 wintun;macOS 自动支持)。
  4. 启动 Clash 后,开启 tun 模式将自动创建虚拟网卡并路由所有流量。
  5. 检查防火墙和路由表,避免冲突,最后测试访问 UDP 服务(如游戏、DNS)验证成功。
  6. 可配合 mixed-port 同时提供传统代理入口,实现混合部署。

详细配置请参考官方 Wiki TUN 章节,注意权限要求(管理员/root)。

❓ 3. 如何编写规则实现按进程名称或域名精确分流?
  1. 域名分流: 在 rules 字段添加 DOMAIN-SUFFIX, google.com, ProxyDOMAIN-KEYWORD, netflix, Proxy 规则。
  2. 进程分流(Premium): 需启用 process 规则类型,例如 PROCESS-NAME, Discord.exe, DIRECT 让特定应用绕过代理。
  3. 配置规则集优先级,注意规则顺序(越精确越靠前)。
  4. 可利用 rule-providers 加载远程规则集,简化维护。
  5. 验证规则生效:通过 API 查看连接记录或日志,调试规则匹配情况。
  6. 建议结合 GEOIP 和最终 MATCH 策略,避免泄漏。

脚本规则(Premium)还可支持更复杂的 JS 逻辑实现动态路由。

❓ 4. 如何实现订阅自动更新和节点延迟自动切换?
  1. 在配置文件中添加 proxy-providers 或直接在 Proxy 使用订阅链接,设置 url 和 interval 参数(如 interval: 3600)。
  2. 通过 proxy-groups 中定义 url-test 策略组,设定测试地址和间隔(例如 interval: 300),自动选择低延迟节点。
  3. 启用 fallbackload-balance 组实现容灾和负载均衡。
  4. 使用 RESTful API 的 /configs 端点手动重新加载配置,或通过 GUI 触发更新。
  5. 确保订阅链接安全,避免暴露 secret,可配置 user-agent 模仿浏览器。
  6. 开启日志观察更新情况,确保规则生效,避免频繁请求被封 IP。

自动更新让节点池保持最新,提升稳定性。

❓ 5. Clash 透明代理如何与 Docker 容器网络或网关配合?
  1. 部署 Clash Premium 并开启 TProxy 或 redirect 透明代理模式。
  2. 设置 iptables/nftables 规则,将流量从网关或特定网段重定向至 Clash 监听端口(如 7892)。
  3. 对于 Docker 容器,通过设置网络模式为 host 或使用 macvlan 让容器流量经过主机的 iptables 规则。
  4. 另一种方式是在 Docker 运行 Clash 作为旁路由,使用 --network host 并配置防火墙实现网关透明代理。
  5. 确保 DNS 劫持使用 clash 的 dns 服务,防止污染。
  6. 测试容器内部网络连通性,使用 curl 验证代理效果,并检查路由表。

透明代理方案适合局域网无感接入,高级用户广泛采用。

❓ 6. 我想为 Clash 贡献代码或文档,有哪些步骤?
  1. 访问 GitHub 仓库 Dreamacro/clash,阅读 CONTRIBUTING 文档和许可证(GPL-3.0)。
  2. Fork 项目到个人账户,在本地分支开发新功能或修复 bug。
  3. 确保代码风格符合 golangci-lint 要求,并增加必要的单元测试。
  4. 提交 Pull Request 至上游仓库,详细描述改动内容和测试结果。
  5. 对于文档/ Wiki 贡献,可以前往 clash.wiki 仓库提交 PR 修改或补充内容。
  6. 加入 Telegram 或 Discord 社区与维护者沟通,遵循行为准则,共建健康的开源生态。

每一个贡献都会被尊重,感谢对 Clash 生态的支持!

社区与生态

Clash 采用 GPL-3.0 开源许可(历史版本 MIT),欢迎开发者贡献代码、提出问题或建议。

GitHub Telegram 群组 提交 Issue

感谢所有贡献者与第三方项目,让 Clash 更加强大。