开源内核 · 全平台客户端持续维护

Clash 客户端全平台下载与配置

基于 mihomo 内核的客户端安装包与配置指南,覆盖 Windows、macOS、Android、iOS、Linux 五个平台,包含订阅导入、代理模式切换、规则分流与 TUN 模式的完整说明。

  • 永久免费
  • 代码开源
  • 中文文档
  • mihomo 内核

覆盖平台

PLATFORM

按平台获取 Clash 客户端

五个平台各自有适配的 GUI 客户端,安装包、系统要求与内核区归档都在下载页按平台分区列出。点击下方卡片直接跳到对应分区,也可以先看选型指南再决定装哪一个。

  • Windows

    Clash Plus、Clash Verge Rev、FlClash 等客户端,支持系统代理与 TUN 模式接管,适配 Windows 10 1809 及以上的 x64 与 ARM64 设备。

    前往下载
  • macOS

    提供 Apple Silicon 与 Intel 两套安装包,菜单栏常驻运行,可开启增强模式接管不读系统代理的命令行工具与开发环境。

    前往下载
  • Android

    手机与平板通用的 APK 安装包,支持分应用代理与 VPN 模式,按设备 CPU 架构选择 ARM64 或 ARMv7 版本即可。

    前往下载
  • iOS

    Clash Plus 已上架 App Store,从商店页直接安装,支持按需连接与快捷指令联动,官网地址为 clashplus.io。

    前往下载
  • Linux

    提供 .deb 与 .rpm 两种包格式,覆盖主流桌面发行版;服务器与路由器场景可以改用内核区的压缩包,按架构选择对应版本。

    前往下载

查看全部客户端 →

CORE FEATURES

内核能力与配置项说明

mihomo 内核的行为由 config.yaml 决定,下面六项是日常使用中改动最多、也最容易配错的部分,每项给出对应的配置键与取值方式。

用虚拟网卡接管不读系统代理的流量

内核级

TUN 模式在系统里创建一块虚拟网卡,把不遵循系统代理设置的流量一并接管,适合游戏客户端、终端命令行工具、容器环境这类场景。开启后内核直接处理三层流量,配合 auto-route 与 auto-detect-interface 让路由表自动指向虚拟网卡,不用手工改网关。相比只改系统代理的方式,TUN 覆盖面更全,代价是需要管理员或 root 权限,Windows 上还要装好 Wintun 驱动。

tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true

QUICKSTART

三步完成首次配置

从安装到正常上网,中间只有三个动作。每一步在客户端界面里都有对应入口,分平台的详细说明放在教程页。

导入订阅链接

打开客户端的配置页,把订阅地址粘贴进输入框,点击下载。列表里出现新条目后选中它,客户端会重新加载配置并启动内核。如果列表一直是空的,先在浏览器里打开订阅地址,确认它能直接返回内容,再回来看客户端日志里的报错类型。

选择代理模式

日常使用选规则模式,国内域名与 IP 直连、其余流量按 rules 段走代理;需要排查某个站点是否被规则误判时,临时切到全局模式让所有流量都经过代理,验证完再切回来。全局模式下所有请求都走代理,长时间挂着会明显增加流量消耗。

打开系统代理或 TUN

在设置里开启系统代理,浏览器这类遵循系统代理的程序立刻生效;命令行工具、游戏客户端这类不读系统代理的程序,需要开启 TUN 模式才能被接管。开启后访问任意网站确认连通,再回到连接页看命中的规则与出口节点,确认分流符合预期。

查看完整教程 →

OPEN SOURCE

开源内核与社区维护

客户端界面与代理内核是两层独立的项目,理解这层关系,遇到问题时就知道该去查哪一边的日志。

项目沿革

Clash 内核用 Go 语言编写,早期定位是规则驱动的本地代理程序,配置集中在一个 YAML 文件里,这个设计沿用至今。原作者归档项目后,社区在 Clash Meta 分支上继续演进,形成现在的 mihomo 内核,新协议支持与 DNS 实现都在这个分支上更新。

生态分工

内核与主流 GUI 客户端都以开源许可发布,代码托管在公开仓库。规则集、订阅转换工具、Web 控制面板由不同团队分别维护,彼此通过标准的 config.yaml 与 RESTful API 对接,任何一方都可以独立发布新版本,不必等待其他项目同步节奏。

内核与界面的关系

GUI 客户端本身不实现代理协议,它负责配置编辑、节点展示与开关控制,实际连接由 mihomo 内核建立。同一份 config.yaml 放到另一个客户端里,行为基本一致;反过来,界面卡住时内核往往还在正常工作,排查问题看内核日志比看界面准确。

更新机制

内核与客户端版本各自独立演进,部分客户端允许替换内置的内核版本,升级内核不必重装整个应用。规则集与 GeoIP 数据通过 provider 按周期拉取,不随安装包发布,所以规则库的时效性取决于配置里的更新间隔,把它设短一些可以更快拿到新规则。

克隆 mihomo 内核源码

git clone https://github.com/MetaCubeX/mihomo.git

FAQ

常见问题精选

下面四条是初次配置阶段出现频率最高的问题,展开可以看到原因与处理顺序,更多条目在教程页里按平台分类列出。

订阅导入后节点列表为空怎么办?
先在浏览器里打开订阅地址,确认它能直接返回内容;浏览器也打不开,说明链接过期或当前网络不通。能打开但客户端拉取失败,看日志里的错误类型:证书校验失败可以换用 HTTP 地址或更新系统根证书;返回内容解析不了,则要确认这份订阅是不是 Clash 格式。
开了系统代理,浏览器能上网但终端命令不行?
终端工具多数不读系统代理设置,只认 http_proxy 与 https_proxy 两个环境变量。先在 shell 里临时导出这两个变量指向 127.0.0.1:7890 验证,确认可用后写进 shell 配置文件;长期方案是开启 TUN 模式,让内核直接接管命令行流量,不必逐个工具配置。
规则模式下某个网站走了代理,想让它直连怎么改?
在 rules 段靠前的位置插入一条 DOMAIN-SUFFIX 指向 DIRECT 的规则,位置必须在已有的同类规则之前,否则会被前面的规则先命中。改完重载配置,到连接页确认这条连接命中的是新规则;如果仍然走代理,检查是否被 IP-CIDR 或 GEOIP 规则提前匹配走了。
端口被占用启动失败,日志报 listen error?
说明 mixed-port 指定的端口已被其他程序占用。先用系统命令查出占用进程并结束它,或者直接把端口改成 7891 这类空闲值,改完重启内核。切换端口后记得同步更新浏览器插件与终端的代理设置,否则它们还在连旧端口,表现为明明内核启动了却上不了网。