MANUAL · 安装大全

Clash 全平台安装配置大全

五个平台,每平台一章。从下载、安装、导入订阅,到系统代理与 TUN 模式,再到各平台特有的坑,按查阅手册的方式组织。开头两章是通用准备与代理模式原理,结尾一章是配置排错。

CH 01–08 · 共八章 · 建议按需跳转查阅

本页与使用指南分工不同:使用指南是一条最短路径,跟着做十几分钟能完成首次连接;本页是系统手册,把每个平台的完整流程、原理背景与已知问题写全,供安装过程中随时对照。如果这是第一次接触 Clash,建议先走一遍使用指南,遇到卡点再回到本页对应章节。所有客户端的安装包入口统一在客户端下载页,本页正文只讲流程,不放下载直链。

CH 01准备工作:开始安装前要备齐的东西

需要准备的三样东西

第一是订阅链接。Clash 客户端本身只是流量的调度工具,节点信息由订阅提供方下发。订阅链接是一个 HTTPS 地址,由服务提供方在用户面板里给出。开始安装前先确认手里有这个链接,并确认它是完整复制的——链接被截断是导入失败的第一大原因,详见 订阅解析失败自查清单

第二是与设备匹配的客户端。同一个订阅可以在多台设备、多个平台上使用,但每个平台的客户端不同,下一小节的表格给出选择建议。第三是几分钟不被打断的时间。安装本身很快,主要耗时在首次授权与验证连通性上。

客户端怎么选

各平台可用的客户端与推荐顺序如下,与下载页保持一致。Clash Plus 覆盖桌面与移动端,是全平台首选;其余客户端按平台各有侧重。

平台首选备选说明
WindowsClash PlusClash Verge Rev / FlClash / Clash NyanpasuClash for Windows 已停止维护,仅作归档
macOSClash PlusClash Verge Rev / FlClashClashX Meta 已停止维护,仅作归档
AndroidClash PlusClash Meta for Android / FlClash / Surfboard均为直接安装的 APK 包
iOSClash Plus通过 App Store 分发,见 iOS 下载区
LinuxClash Verge RevFlClash无界面服务器直接部署 Mihomo 内核

选择原则:同一台设备装一个客户端即可。多个客户端同时运行会争抢端口与系统代理设置,是排错时最先要排除的情况。已停止维护的客户端不建议新装,老用户迁移路径在下载页对应卡片有说明。

基础术语速查

后文会反复出现几个词,先对齐口径。内核:实际处理流量的核心程序,当前主流客户端内置的是 Mihomo 内核,图形界面只是它的外壳。节点:一条可用的代理线路。策略组:把多个节点编成一组并定义选择逻辑,例如自动测速、故障转移。规则:决定某个请求走哪个策略组的匹配条件。这四者的关系与更多概念,见术语表;策略组的三种类型详解见 策略组类型详解

注意:订阅链接等同于账号凭据。不要发到公开群组或截图外传,泄露后任何人都能用它拉取节点并消耗流量。

安装前的三项环境自检

第一项是系统时间。客户端与节点建立加密连接时会校验证书有效期,本机时间与真实时间相差几分钟就可能导致握手失败或浏览器提示证书错误。Windows 在「设置 → 时间和语言」里打开自动同步并点一次「立即同步」,macOS 在「系统设置 → 通用 → 日期与时间」里确认自动设置已开启,Linux 桌面用 timedatectl status 查看 NTP 同步是否为 active。这一项花十秒确认,能省掉后面一整轮无效排查。

第二项是本机端口。Clash 默认要用 7890(混合代理端口)与 9090(本地管理接口)两个端口,如果机器上已经装过别的代理工具,这两个端口极可能被占用。安装前不必提前查,但要知道启动报「address already in use」时该往哪里看——各平台章节都给了对应的查占用命令。第三项是同类软件的清理:同一台机器上只保留一个正在运行的代理客户端,旧客户端即使窗口关闭也可能仍在托盘或后台常驻,先在任务管理器/活动监视器里确认它真的退出了。

另外提前想清楚一件事:这台设备是要"只让浏览器走代理",还是"整机所有程序都走代理"。前者用系统代理开关即可,权限要求低、随开随关;后者需要 TUN 模式,要授予更高权限。目标不同,后面各平台章节里要打开的开关也不同,下一章专门讲这两者的差别。

CH 02代理模式:系统代理与 TUN 的区别

五个平台的设置流程里都会遇到"系统代理"与"TUN 模式"两个开关。这一章先讲清原理,后面各平台章节只讲操作位置。

系统代理的工作方式

开启系统代理后,客户端把自己监听的本地端口(默认 7890)写进操作系统的代理设置。浏览器等遵守系统代理设置的应用,会把请求先发到这个端口,由 Clash 按规则分流。优点是无需特殊权限、开关即时生效;局限是只对"愿意遵守系统代理"的应用有效——不少命令行工具、游戏与后台服务会直接连网,绕过这一层。

TUN 模式的工作方式

TUN 模式在系统里创建一块虚拟网卡,并把默认路由指向它,所有应用的流量——无论是否遵守系统代理——都会经过这块网卡进入 Clash。代价是需要更高权限:Windows 上要安装系统服务并以管理员身份授权,macOS 上要批准系统扩展,Android 与 iOS 上表现为 VPN 授权弹窗。TUN 与系统代理二选一即可,同时开启不会叠加效果。

对比项系统代理TUN 模式
接管范围遵守系统代理设置的应用全部应用与系统进程
权限要求普通用户权限管理员 / 系统扩展 / VPN 授权
典型场景日常浏览器访问命令行工具、游戏、不走代理设置的应用
关闭后遗留异常退出可能残留代理设置虚拟网卡随服务停止一并移除

端口与局域网共享的规划

客户端默认监听的 7890 是「混合端口」,同时接受 HTTP 与 SOCKS5 两种协议的请求,所以浏览器插件填 http://127.0.0.1:7890、终端工具填 socks5://127.0.0.1:7890 都能工作,不必分别开两个端口。9090 是本地管理接口(external-controller),图形界面通过它读取节点状态与切换策略组,它不处理业务流量;把这个接口暴露到公网等于把代理控制权交出去,除非明确知道自己在做什么,否则保持监听在 127.0.0.1 上。

如果希望同一局域网内的其他设备(例如电视盒子、没法装客户端的设备)共用这台机器的代理,需要在配置里把 allow-lan 改为 true,并在其他设备上把代理服务器填成本机的局域网 IP 加端口。开启前请确认所处网络可信:allow-lan 打开后,同一网段内任何设备都能使用这个代理出口。在咖啡馆、酒店等公共网络下不要开启这个选项,回到家庭或办公网络再打开。

规则、全局与直连

与上面两个开关正交的是出站模式:规则模式按规则段逐条匹配,命中什么走什么,是日常推荐;全局模式所有流量走同一策略组,只在排查"是不是规则没匹配到"时临时使用;直连模式所有流量不经代理。排错时的常用手法是临时切到全局,如果全局可用而规则模式不可用,问题就锁定在规则段,配置文件各段的含义见 YAML 结构逐段解析

CH 03Windows:安装、订阅与服务模式

下载与安装

下载页 Windows 区获取安装包,首选 Clash Plus,备选 Clash Verge Rev、FlClash 与 Clash Nyanpasu。安装包为标准安装向导,一路默认即可;安装路径建议保持默认,避免放进含中文或空格的深层目录,个别组件对路径敏感。

首次运行时 Windows 可能弹出 SmartScreen 蓝色提示,这是系统对下载来源较新的可执行文件的通用拦截,点「更多信息」→「仍要运行」即可继续。部分安全软件会对代理类程序的虚拟网卡驱动报敏感行为,把安装目录加入信任区即可,不必关闭安全软件。

导入订阅

打开客户端,进入「订阅」或「配置」页,把订阅链接粘贴进 URL 输入框后点导入。客户端会下载并解析订阅,成功后代理页会出现节点与策略组列表。若导入报错或列表为空,先完整复制一次链接重试,再按 订阅自查清单 逐项排除,不要急着重装。

系统代理与 TUN

日常使用:在主界面打开「系统代理」开关,浏览器流量即经过 Clash。需要接管命令行或游戏流量时改用 TUN:主流客户端把 TUN 依赖的系统服务做成一键安装,首次开启会请求管理员权限(UAC 弹窗),批准后服务常驻,之后开关 TUN 不再重复弹窗。开启 TUN 前先关闭系统代理开关。

平台特有问题

端口被占用:启动报 7890 或 9090 端口占用时,先查出占用进程再决定杀进程还是改端口。以管理员身份打开终端执行:

netstat -ano | findstr :7890
tasklist | findstr <上一步查到的 PID>

第一条命令末列是占用进程的 PID,第二条查出进程名。常见占用者是另一个未退出的代理客户端。改端口的完整流程见 端口占用处理全流程

验证是否真的生效:开关打开不等于流量已经走代理。Windows 上有两个互相印证的检查点:一是「设置 → 网络和 Internet → 代理」里「使用代理服务器」应为开启且地址是 127.0.0.1 加客户端端口;二是客户端的连接/日志页面在你刷新网页时应该有新的连接记录滚动出现。两处都正常,才说明链路真的通了。TUN 模式下系统代理项是关闭的,这时改看网络适配器列表里有没有多出一块虚拟网卡。

代理设置残留:客户端崩溃或被强制结束时,可能来不及把系统代理还原,表现为退出后所有网页打不开。手动恢复:「设置 → 网络和 Internet → 代理」,关闭「使用代理服务器」。开机自启:在客户端设置里开启自启与「静默启动」,避免每次开机弹主窗口。

CH 04macOS:芯片架构、门禁与系统扩展

确认芯片架构再下载

macOS 安装包分 Apple Silicon(M 系列芯片)与 Intel 两种,装错架构会明显变慢甚至无法启动。不确定机型时在终端执行:

uname -m

输出 arm64 选 Apple Silicon 包,输出 x86_64 选 Intel 包。然后到下载页 macOS 区取对应的 dmg,首选 Clash Plus,备选 Clash Verge Rev 与 FlClash。

安装与首次启动

打开 dmg,把应用图标拖进 Applications 文件夹,从启动台或应用程序目录启动。首次打开时系统门禁(Gatekeeper)可能提示无法验证开发者:到「系统设置 → 隐私与安全性」页面底部,找到被拦截应用旁的「仍要打开」并确认。若提示「应用已损坏,无法打开」,是下载文件被加上了隔离属性,在终端执行以下命令后重新打开(路径按实际应用名替换):

xattr -cr /Applications/你的客户端名称.app

导入订阅与系统代理

订阅导入流程与 Windows 一致:订阅页粘贴链接、导入、确认节点列表出现。开启「系统代理」时,macOS 会弹出授权对话框要求允许修改网络设置,输入登录密码确认一次即可。开启后可在「系统设置 → 网络 → 当前网络 → 详细信息 → 代理」里看到 HTTP/HTTPS 代理已指向 127.0.0.1 的对应端口,这是验证开关确实生效的可靠办法。

TUN 与系统扩展

macOS 上开启 TUN 需要批准系统扩展或网络扩展:首次开启时按提示到「系统设置 → 隐私与安全性」允许对应扩展加载,部分机器需要重启一次客户端。若使用多个「网络位置」或同时连接有线与无线,代理设置按网络服务分别保存,切换网络后发现代理失效时,优先检查当前生效的网络服务是否是设置时的那一个。

平台特有问题

系统更新后扩展授权偶尔会被重置,TUN 突然不可用时先回「隐私与安全性」确认扩展仍在允许列表。卸载客户端建议用应用自带的卸载入口或先在应用内关闭系统代理与 TUN 再删除,直接拖废纸篓可能残留代理设置,恢复方法同上节,到网络详细信息里手动关闭代理即可。

CH 05Linux:桌面客户端与服务器部署

桌面发行版:安装 Clash Verge Rev 或 FlClash

Debian/Ubuntu 系从下载页 Linux 区获取 deb 包后安装:

sudo dpkg -i 下载的安装包.deb
sudo apt-get -f install

第二条用于自动补齐依赖。RPM 系发行版使用对应的 rpm 包,用发行版自带的包管理器安装即可。安装后从应用菜单启动,订阅导入流程与桌面平台一致。

桌面环境的系统代理

Linux 没有统一的"系统代理"入口,客户端的系统代理开关对 GNOME 与 KDE 的桌面代理设置有效,但只影响遵守该设置的图形应用。终端会话要单独设置环境变量:

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

这些变量只对当前终端会话生效,关闭终端即失效;需要长期生效可写入 shell 配置文件,但更省事的做法是直接用 TUN 模式整机接管。Linux 上开启 TUN 同样需要提升权限,客户端会引导安装服务或请求 root 授权。

无界面服务器:直接部署 Mihomo 内核

服务器与软路由场景不需要图形客户端,直接运行 Mihomo 内核。内核包在下载页内核区提供。基本步骤:解压二进制到 /usr/local/bin/mihomo,把配置文件放到 /etc/mihomo/config.yaml,再写一个 systemd 服务:

[Unit]
Description=mihomo daemon
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存为 /etc/systemd/system/mihomo.service 后执行:

sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
systemctl status mihomo

状态显示 active (running) 即启动成功。配置文件的写法与桌面客户端使用的完全同源,各段含义见 配置逐段解析

平台特有问题

53 端口冲突:配置里若启用 DNS 模块监听 53 端口,会与 systemd-resolved 冲突,启动日志报 address already in use。处理方式二选一:把配置里的 DNS 监听改成 0.0.0.0:1053 等非 53 端口,或停用 systemd-resolved 的桩监听。查端口占用:

ss -lntp | grep 7890

权限问题:TUN 模式要求进程具备 NET_ADMIN 能力,systemd 方式以 root 运行天然满足;手动前台运行时记得加 sudo。

CH 06Android:APK 安装与 VPN 授权

安装 APK

下载页 Android 区获取 APK,首选 Clash Plus,备选 Clash Meta for Android、FlClash 与 Surfboard。首次安装浏览器下载的 APK 时,系统会要求授予"安装未知应用"权限:按弹窗指引给当前浏览器或文件管理器开启该权限,返回后继续安装即可。这是 Android 对非商店渠道安装包的标准流程。

导入订阅与首次连接

打开应用,在订阅/配置页粘贴订阅链接并导入。手机上更常用的路径是复制链接后直接进入应用,多数客户端会识别剪贴板并提示一键导入。首次点击连接按钮时,系统弹出「XX 想要设置 VPN 连接」的授权对话框——Android 上的 Clash 通过系统 VPN 接口接管流量,等价于桌面端的 TUN 模式,点「确定」后状态栏出现钥匙图标即代表接管生效。没有这个弹窗或误点了拒绝,到「设置 → 网络 → VPN」里删除记录后重新连接会再次触发。

平台特有问题

后台被杀:国产定制系统对后台常驻应用清理激进,表现为锁屏一段时间后代理断开。处理:把客户端加入电池优化白名单、允许后台运行与自启动,各厂商入口名称不同,一般在「电池」或「应用管理」里。私有 DNS 冲突:系统「私有 DNS」设为指定主机名时可能与客户端的 DNS 接管互相干扰,排查解析异常时把私有 DNS 改回「自动」再测。分应用代理:客户端设置里可指定哪些应用走代理、哪些直连,银行类应用对代理敏感时把它加入直连列表比整体关闭代理更省事。

CH 07iOS:App Store 获取与 VPN 配置

获取客户端

iOS 上的 Clash Plus 通过 App Store 分发,商店入口与说明见下载页 iOS 区。在 App Store 完成安装后,应用的更新由商店自动接管,不需要手动维护安装包,这是 iOS 与其他平台流程上最大的不同。

首次配置与授权

打开应用,在订阅页粘贴链接导入,流程与 Android 一致。首次启动连接时,系统会请求「添加 VPN 配置」并要求验证面容/密码——iOS 上所有代理客户端都通过系统 VPN 框架工作,这一步授权是必经流程,完成后「设置 → VPN」里会出现对应条目,状态栏显示 VPN 标识即为接管生效。之后的连接与断开既可以在应用内操作,也可以直接用系统设置里的 VPN 开关。

平台特有问题

网络切换后断开:Wi-Fi 与蜂窝数据之间切换时 VPN 隧道会重建,偶尔需要回应用里手动重连;客户端提供「按需连接」选项时建议开启,系统会在需要时自动拉起隧道。订阅更新:iOS 后台刷新受系统调度限制,长时间未打开应用时订阅可能过期,节点全部超时的时候先进应用手动更新一次订阅再测。规则与配置:iOS 客户端使用的订阅与配置语法和桌面端同源,策略组、规则的调整方法通用,不需要为 iOS 单独维护一份配置。

CH 08配置常见问题:装完之后的排错手册

YAML 缩进与字段拼写

手动编辑配置文件时,最高频的错误是缩进:YAML 用两个空格表达层级,禁止 Tab 字符;同级字段必须对齐,列表项的 - 后面要有一个空格。客户端报「配置加载失败」并指出行号时,先看该行与上下文的缩进是否一致,再检查字段名拼写——proxy-groups 写成 proxy-group 这类差一个字母的错误,报错信息往往并不直观。一份最小可用的通用段示例:

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

mixed-port 是同时接受 HTTP 与 SOCKS 的混合端口,external-controller 是本地管理接口。这两个端口就是前文各平台"端口占用"问题的当事人,改动其一后需重启客户端生效。完整的分段讲解见 YAML 结构逐段解析

端口冲突的通用判断

三个平台的查占用命令已在各自章节给出(Windows 用 netstat、macOS/Linux 用 ss 或 lsof)。通用判断顺序:先确认是不是另一个代理客户端没退干净;是,则退出旧客户端;不是,则改本机端口——在配置文件或客户端设置里把 7890 改为其他空闲端口,同时把依赖这个端口的地方(浏览器插件、终端环境变量)一并更新。完整流程见端口占用处理专文

订阅相关问题

导入报错、节点列表为空、更新失败,三类现象的排查是同一条链:链接完整性 → 返回内容格式 → 订阅是否到期 → 客户端兼容性。逐项自查方法见订阅自查清单。这里补一条通用经验:在浏览器里直接打开订阅链接,若返回的是一段文本而不是错误页,说明链接本身可用,问题在客户端一侧;若返回错误页或空白,直接联系订阅提供方。

代理已生效但浏览器报证书错误

开启代理后网页弹出「您的连接不是私密连接」一类提示,多数与客户端配置无关:先校准系统时间(时间偏差数分钟就足以让证书校验失败),再换一个节点重试,仍复现再考虑其他原因。各种报错特征的分类排查见证书错误排查专文

策略组不会选、节点切换不生效

规则模式下,手动切换节点要在对应的策略组里切,而不是在节点列表里点——请求命中的是策略组,组内当前选中的节点才是实际出口。url-test 类型的组会按测速结果自动选择,手动指定无效属于设计行为,想手动控制就把常用组设为 select 类型。三种策略组的机制与配置片段见策略组详解

日志怎么读

排错的第一手材料是客户端日志页,把日志级别从默认的 info 调到 debug 能看到更多细节,问题定位后记得调回去,debug 级别长期开启会写入大量内容。读日志只看三类行:含 errorfailed 的行是直接线索;含 timeout 的行说明连上了但没有响应,通常是节点侧问题而不是本机配置问题;含 rule matched 或策略组名称的行能告诉你某个请求实际走了哪条规则,当"某个网站不生效"时,这类行最有价值。把报错行原文保留下来再去检索或求助,比描述"连不上"有效得多。

更新与迁移

客户端更新:桌面端多数客户端内置检查更新入口,新版本覆盖安装即可,配置与订阅记录保存在用户目录,不会因为覆盖安装丢失;但大版本升级前仍建议把配置文件另存一份。iOS 由 App Store 自动接管,Android 需要重新下载 APK 覆盖安装,包名一致时同样保留原有数据。内核更新:图形客户端会随版本更新内置内核,单独部署 Mihomo 的服务器场景则需要手动替换二进制并 systemctl restart mihomo

换设备或换客户端时,真正需要迁移的只有订阅链接本身——节点、策略组、规则都从订阅重新拉取,不需要导出旧的配置文件。如果对配置做过手动修改(例如改了端口、加了自定义规则),把那份 YAML 一并带走,在新客户端里以本地配置的方式导入。从已停止维护的客户端(Clash for Windows、ClashX Meta)迁移时,做法就是在新客户端里重新粘贴同一个订阅链接,然后卸载旧客户端并确认系统代理设置已还原。

还没解决?

更多按现象分类的问答收录在常见问题页,概念性的疑问查术语表。反馈问题时带上三样信息:平台与客户端名称、复现步骤、客户端日志里的报错行,能把来回沟通压缩到最短。