什么是Clash?
Clash是一个跨平台的基于规则的代理工具, 在网络和应用层运行, 它已被互联网用户广泛采用. 无论如何, 任何想要改善其 Internet 体验的人都可以使用 Clash.
目前, Clash 包含两个版本:
- Clash: 发布于 github.com/Dreamacro/clash 的开源版本
- Clash Premium 版本: 具有 TUN 和更多支持 的专有内核
然而对于普通用户来说, Clash 的使用可能仍是一种挑战. 而对于考虑使用 GUI 客户端的用户, 可以直接下载以下 GUI 客户端开始使用:
- Clash for Windows [Premium 功能] (经 SHA256 验证的下载)
- Clash for iOS [Premium 功能] (Stash)
- Clash for Android [Premium 功能] (经 SHA256 验证的下载)
- Clash for macOS [Premium 功能] (Stash for macOS)
- ClashX Pro [Premium 功能] (macOS)
- Clash for OpenWrt (OpenClash)
warning
Clash 及 Clash Premium 内核已于 2023 年11 月2 日 停止更新,所以不再建议继续使用。其核心继任者是 Mihomo。
工作原理
Inbound 入站
Inbound 入站是在本地端监听的部分, 它通过打开一个本地端口并监听传入的连接来工作. 当连接进来时, Clash 会查询配置文件中配置的规则, 并决定连接应该去哪个 Outbound 出站.
Outbound 出站
Outbound 出站是连接到远程端的部分. 根据配置的不同, 它可以是一个特定的网络接口、一个代理服务器或一个策略组.
特点概述
- 入站连接支持: HTTP, HTTPS, SOCKS5 服务端, TUN 设备*
- 出站连接支持: Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S), Wireguard*
- 基于规则的路由: 动态脚本、域名、IP地址、进程名称和更多*
- Fake-IP DNS: 尽量减少 DNS 污染的影响, 提高网络性能
- 透明代理: 使用自动路由表/规则管理 Redirect TCP 和 TProxy TCP/UDP*
- Proxy Groups 策略组: 自动化的可用性测试 (fallback)、负载均衡 (load balance) 或 延迟测试 (url-test)
- 远程 Providers: 动态加载远程代理列表
- RESTful API: 通过一 个全面的 API 就地更新配置
*: 只在 Premium 版本中提供.
基于规则的路由
Clash 支持基于规则的路由, 这意味着您可以根据各种规则将数据包路由到不同的出站. 规则可以在配置文件的 rules
部分中定义.
有许多可用的规则类型, 每种规则类型都有自己的语法. 规则的一般语法是:
# 类型,参数,策略(,no-resolve)
TYPE,ARGUMENT,POLICY(,no-resolve)
License
Clash 是根据 GPL-3.0 开源许可证发布的. 在 v0.16.0 或 e5284c 提交之前, 其基于 MIT 许可证授权.