Skip to main content

什么是Clash?

Clash是一个跨平台的基于规则的代理工具, 在网络和应用层运行, 它已被互联网用户广泛采用. 无论如何, 任何想要改善其 Internet 体验的人都可以使用 Clash.

目前, Clash 包含两个版本:

然而对于普通用户来说, Clash 的使用可能仍是一种挑战. 而对于考虑使用 GUI 客户端的用户, 可以直接下载以下 GUI 客户端开始使用:

warning

Clash 及 Clash Premium 内核已于 2023 年11 月2 日 停止更新,所以不再建议继续使用。其核心继任者是 Mihomo

工作原理

Clash 工作原理

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 许可证授权.