一、通用准备工作
不论在哪个平台,部署一套可用的 Clash 环境都可以拆成四步:选择并下载客户端、导入订阅、选择代理模式、开启代理并验证。平台之间的差别集中在安装方式与系统接管流量的机制上,主线是一致的。这一章先把跨平台通用的三件事讲清楚,后面各平台章节不再重复。
客户端怎么选
本站下载页收录的客户端按平台整理如下,全平台首选 Clash Plus——覆盖面最广、界面统一,换设备时不用重新学一套操作。备选客户端各有侧重,详细的功能差异见横向评测。
| 平台 | 首选 | 备选 | 下载入口 |
|---|---|---|---|
| Windows | Clash Plus | Clash Verge Rev、FlClash、Clash Nyanpasu | Windows 下载 |
| macOS | Clash Plus | Clash Verge Rev、FlClash | macOS 下载 |
| Android | Clash Plus | Clash Meta for Android、FlClash、Surfboard | Android 下载 |
| iOS | Clash Plus(App Store) | — | iOS 下载 |
| Linux | Clash Verge Rev | FlClash、mihomo 内核 | Linux 下载 |
Clash for Windows 与 ClashX Meta 均已停止维护,下载页仍保留归档入口,但新装设备不建议选它们:内核版本停在旧版,新的规则类型与协议特性无法使用。
准备一条订阅链接
订阅链接是一个 https 地址,由代理服务商在用户面板提供,客户端定期访问它来拉取节点列表与分流配置。开始安装前,把这条链接完整复制到剪贴板。注意区分两种东西:订阅链接指向一份完整配置,导入后会出现节点分组;而以协议名开头的单节点分享文本只描述一个节点,导入方式不同,不能混用。
订阅链接等同于账户凭据,任何拿到链接的人都能使用其中的节点流量。不要发到公开群组、不要贴进截图,泄露后应在服务商面板重置。
先弄清三个概念
系统代理与 TUN 模式。系统代理是把「HTTP/SOCKS 代理地址指向本机某端口」写进操作系统的网络设置,浏览器与大部分遵循系统设置的应用会跟随;但命令行工具、部分游戏与不读系统设置的程序会绕开它。TUN 模式则创建一块虚拟网卡,在网络层接管全部流量,覆盖面完整,代价是需要更高的系统权限。日常浏览用系统代理即可,需要全量接管时再开 TUN。
规则、全局与直连。规则模式按配置文件里的分流规则逐条匹配,命中即按对应策略走代理或直连,是日常推荐模式;全局模式所有流量走同一个代理出口,适合规则失效时临时应急;直连模式不代理任何流量,用于对照排查。三种模式在所有客户端里都能一键切换。
本地端口。Clash 默认在本机 7890 端口提供混合代理入口(HTTP 与 SOCKS 同端口),即配置里的 mixed-port。系统代理与手动指定代理的工具,填的都是 127.0.0.1:7890。如果这个端口被其他软件占用,客户端会启动失败或代理不通,改端口的方法见第八章。
二、Windows
下载与安装
前往下载页 Windows 区获取安装包,首选 Clash Plus,x64 架构覆盖绝大多数设备。双击安装包后,Windows 的 SmartScreen 可能弹出「已保护你的电脑」提示——这是系统对未大规模分发的安装包的默认拦截,点「更多信息」再点「仍要运行」即可继续。安装路径保持默认即可,自定义到含中文或空格的深层目录偶尔会引发内核启动异常,没有必要冒这个险。
导入订阅
首次启动后进入订阅(或「配置」)页面,把准备好的订阅链接粘贴进输入框,点导入。客户端会下载配置并解析,成功的标志是代理页面出现节点分组与节点列表。如果导入后列表为空或报错,先用浏览器直接打开订阅链接确认它能返回内容,再按订阅失效排查清单逐项检查。
系统代理与 TUN
在客户端里打开「系统代理」开关,Clash 会把 127.0.0.1:7890 写进 Windows 的 Internet 代理设置,浏览器立即生效。开启 TUN 模式则多一个前置条件:虚拟网卡的创建需要管理员权限。Clash Verge Rev 的做法是先在设置里安装「服务模式」——装好一个随系统运行的后台服务后,TUN 开关才可用,之后每次开启不再需要手动提权;Clash Plus 会在首次开启 TUN 时请求一次授权。TUN 开启后,系统代理开关可以关掉,两者不必同时开。
Windows 特有问题
- 端口冲突。迅雷、开发调试工具等常占用 7890 附近端口。客户端日志出现
bind: address already in use字样时,在配置或客户端设置里把mixed-port改成 7897 等空闲端口。 - 开机自启。在客户端设置里开启「开机启动」即可;若同时希望开机就进入 TUN 模式,必须先装好服务模式,否则自启后 TUN 会因为权限不足静默失败。
- 安全软件误报。代理内核的工作方式是转发网络流量,个别杀毒软件会将其标记为可疑并隔离内核文件,表现为客户端反复提示内核启动失败。把安装目录加入信任区即可,内核 mihomo 的源代码公开可查。
- UWP 应用不走代理。商店应用默认被系统禁止访问本机回环地址,因此连不上 127.0.0.1 的代理端口。部分客户端提供「UWP 回环豁免」工具,勾选需要代理的商店应用即可;或直接改用 TUN 模式绕开限制。
三、macOS
选对芯片架构
macOS 安装包分 Apple Silicon(M 系列芯片)与 Intel 两个版本。不确定自己是哪种时,点左上角苹果菜单→「关于本机」,「芯片」一栏写 Apple M 开头的选 Apple Silicon 包,写 Intel 的选 Intel 包。下载页 macOS 区为两种架构分别提供按钮,装错架构的直接后果是无法启动或转译运行性能下降。
首次打开与 Gatekeeper
从浏览器下载的 dmg 安装后首次打开,macOS 可能提示「无法打开,因为 Apple 无法检查其是否包含恶意软件」。两种处理方式:在访达中右键点击应用图标选「打开」,弹窗里再点一次「打开」;或前往系统设置→隐私与安全性,在页面底部找到被拦截的应用,点「仍要打开」。若提示「应用已损坏」,是下载文件被打上了隔离标记,在终端执行一条命令移除即可(路径按实际应用名替换):
xattr -dr com.apple.quarantine /Applications/Clash\ Plus.app
导入订阅与系统代理
订阅导入流程与 Windows 一致:订阅页粘贴链接、导入、确认节点列表出现。打开「系统代理」后,客户端通过系统接口把 HTTP、HTTPS 与 SOCKS 代理写入当前活跃网络服务(Wi-Fi 或有线),正常退出时会自动恢复。如果客户端异常崩溃,代理设置可能残留导致断网,手动清理位置在系统设置→网络→当前网络「详细信息」→「代理」,取消勾选各代理协议即可。
TUN、开机自启与其他注意点
macOS 上开启 TUN 需要系统授权:客户端会引导安装一个特权组件或系统扩展,期间要求输入管理员密码,属于正常流程,授权一次后长期有效。开机自启在客户端设置里开启后,会注册为系统「登录项」,可在系统设置→通用→登录项中确认。另外注意两点:系统代理只作用于当前网络服务,换用另一块网卡后需要确认开关状态;ClashX Meta 已停止维护,仅建议无法运行新客户端的老设备使用,新机器一律选 Clash Plus 或 Clash Verge Rev。
macOS 每次系统大版本升级后,建议重新打开一次客户端确认特权组件仍然有效;若 TUN 无法启动,重装一次服务组件通常即可恢复。
四、Android
下载与安装
在下载页 Android 区获取 APK。近几年的主流机型选 arm64 版本即可;老设备或电视盒子可能是 armv7 架构,装 arm64 包会提示不兼容,换 arm 版本。首次安装浏览器下载的 APK 时,系统会要求授予「允许安装未知应用」权限,按提示为浏览器或文件管理器开启一次即可,这是 Android 对商店外安装的标准流程。
导入订阅
Android 客户端普遍支持三种导入方式:直接粘贴订阅链接、扫描二维码、从剪贴板自动识别。在配置页新建订阅、粘贴链接、保存并更新,列表出现节点分组即成功。移动网络下首次更新订阅偶尔超时,切换到 Wi-Fi 重试一次再下结论。
VPN 工作方式与分应用代理
Android 客户端通过系统的 VpnService 接口接管流量,不需要 root。首次点击连接时,系统弹出「连接请求」授权窗,确认后状态栏出现钥匙图标,表示虚拟专用网通道已建立,效果等同于桌面端的 TUN 模式——所有应用流量默认经过 Clash 分流。需要更细粒度控制时,用「分应用代理」功能:在允许列表模式下只有勾选的应用走代理,排除列表模式下勾选的应用直连。银行、支付类应用建议加入排除列表,避免风控误判。
后台保活
Android 上最常见的问题不是配置,而是进程被杀:锁屏一段时间后代理断开、通知消失。逐项处理:在系统设置的电池选项里把客户端设为「不受限制」或加入电池优化白名单;国产定制系统(MIUI、EMUI、ColorOS 等)还需在自启动管理里放行,并在最近任务卡片上锁定应用。做完这三步,绝大多数机型可以稳定常驻。
判断是否被系统杀后台的简单办法:断联后下拉通知栏,若客户端常驻通知也一并消失,基本可以确定是系统回收了进程,按上面三步处理,而不是去改配置。
五、iOS
从 App Store 安装
iOS 平台通过 App Store 安装 Clash Plus,搜索或从下载页 iOS 区的商店链接直达。应用的官方网站是 clashplus.io,版本更新说明与功能文档以官网为准。iPhone 与 iPad 使用同一个应用,界面自适应。
导入订阅与首次连接
打开应用后在订阅页粘贴链接导入,与其他平台一致。第一次点击连接时,iOS 会弹出「要求添加 VPN 配置」的系统窗口——这是 NetworkExtension 框架的标准授权流程,点「允许」并验证一次密码或面容后,系统设置里会出现对应的 VPN 配置项。之后的连接与断开都在应用内一键完成,也可以在系统设置→VPN 里查看当前状态。
iOS 特有注意点
- 配置规模。iOS 给网络扩展进程的内存配额有限,节点数量极多、规则集庞大的订阅可能出现加载缓慢。遇到时优先精简订阅或让服务商提供轻量版配置,而不是反复重装。
- 网络切换。在 Wi-Fi 与蜂窝网络之间切换时,通道会自动重建,期间有一两秒的短暂中断,属于正常行为。
- 按需连接。应用内可开启开机与联网后自动连接,依赖系统的按需规则实现,开启后无需每次手动打开应用。
六、Linux 与服务器
桌面发行版安装
桌面 Linux 首选 Clash Verge Rev,下载页 Linux 区提供 deb 与 rpm 两种格式;FlClash 作为备选同样可用。Debian/Ubuntu 系用 apt 安装本地包会自动处理依赖:
sudo apt install ./clash-verge-rev_amd64.deb
Fedora 系对应 sudo dnf install ./clash-verge-rev_x86_64.rpm。安装完成后从应用菜单启动,订阅导入流程与其他桌面平台一致。部分发行版启用了严格的 AppArmor 或 SELinux 策略,首次运行内核创建 TUN 设备时可能被安全模块拦截,日志里会出现 permission denied 但权限看起来又没问题的情况;这时先临时把对应模块设为宽容模式确认是不是它在拦截,确认后再为内核二进制单独写一条放行策略,而不是长期关闭整个安全模块。
如果你的桌面环境同时装了多个网络管理组件(例如 NetworkManager 与 systemd-networkd 并存),客户端写入的系统代理有时只对其中一个生效,表现为浏览器走了代理、系统托盘的网络设置里却看不到。遇到这种不一致,优先以环境变量方式为具体应用指定代理,避免依赖图形化的全局开关。
系统代理与环境变量
GNOME 与 KDE 都有图形化的系统代理设置,客户端的「系统代理」开关会写入其中,浏览器与大部分桌面应用跟随生效。但 Linux 下大量工作发生在终端,而终端程序读的是环境变量,不是桌面设置。临时让当前终端会话走代理:
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 的配置文件,或封装成 alias 按需开关。git、curl、wget 等工具都遵循这组变量;个别工具(如部分容器运行时)有自己的代理配置入口,需单独设置。
TUN 权限
Linux 上创建 TUN 设备需要 CAP_NET_ADMIN 能力。图形客户端一般提供授权按钮,底层通过 pkexec 提权完成;如果直接运行内核二进制,可以用 setcap 一次性赋权,之后无需 root 即可开 TUN:
sudo setcap 'cap_net_admin,cap_net_bind_service=+ep' /usr/local/bin/mihomo
无桌面环境:直接跑 mihomo 内核
服务器、软路由与 NAS 上没有图形界面,直接运行 mihomo 内核是标准做法,下载页内核区提供各架构的二进制。约定俗成的目录布局是把配置放在 /etc/mihomo/config.yaml,内核二进制放 /usr/local/bin/mihomo,然后写一个 systemd 服务让它随系统运行:
[Unit]
Description=mihomo daemon
After=network.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 查看运行状态,journalctl -u mihomo -f 追日志。首次启动内核会自动下载 GeoIP 与 GeoSite 数据库,服务器网络不通外网时需要手动把数据文件放进配置目录,否则规则匹配无法工作。
七、验证与日常维护
确认代理真的生效
开启代理后不要凭感觉判断,用两个证据交叉确认。第一,浏览器访问任意 IP 查询站点,出口 IP 显示为节点所在地区即说明浏览器流量已走代理。第二,命令行直接对代理端口发起一次请求,观察是否能拿到响应头:
curl -x http://127.0.0.1:7890 -I https://www.example.com
返回 HTTP/2 200 之类的状态行说明代理链路通畅。桌面客户端的连接面板也值得看一眼:里面实时列出每条连接命中的规则与出口策略,是判断「某个应用到底走没走代理」的最直接证据。更完整的首次连接验证流程,见首次连接验证指南。
订阅更新与 GeoIP 数据
节点信息会随服务商调整而变化,订阅需要定期更新——各客户端都支持设定自动更新间隔,一般 24 小时一次足够。另一类需要维护的数据是 GeoIP 与 GeoSite 数据库,规则里的 GEOIP,CN、GEOSITE 类条目全依赖它们;数据库过旧会导致部分域名与 IP 归类错误,表现为个别网站分流异常。客户端设置里通常有「更新 GeoIP 数据库」入口,几个月手动点一次即可。
日志与排错顺序
出问题时把日志级别从 info 临时调到 debug,信息量会大很多。推荐的排错顺序是三层递进:先在节点列表做延迟测试确认节点本身可用;再看连接面板确认目标域名命中了预期规则;最后怀疑 DNS——把浏览器无痕窗口打开重试,排除本地缓存干扰。跳着查往往会把简单问题复杂化。测速数字怎么读、节点怎么挑,可参考节点挑选指南。
关于延迟测试本身,有一点值得澄清:客户端里显示的延迟毫秒数,是它向一个测试地址发起请求、拿到响应所花的往返时间,反映的是「到那个测试目标」的链路状况,不等于你访问任意网站都有同样的速度。它也只衡量延迟,不衡量带宽——一个延迟很低的节点未必吞吐量大,看视频卡顿而网页很快就是典型表现。所以挑节点时不要只盯着最小的那个数字,延迟接近的几个节点里,优先选倍率低、负载轻的;真正判断能不能流畅看片,还得实际跑一段流量。频繁全量测速也不是好习惯,它本身会产生一批连接、给节点增加负担,把自动测速间隔设成几分钟一次就够了。
八、配置常见问题
配置文件长什么样
Clash 的配置是一份 YAML 文件,订阅拉取到的就是它。日常使用不需要手写,但读懂关键字段对排错帮助很大。一个精简的骨架:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5
- 119.29.29.29
mixed-port 是本地混合代理端口;allow-lan 决定局域网内其他设备能否借用本机代理;mode 对应规则/全局/直连三种模式;dns 段控制域名解析行为。订阅配置在此之外还会包含 proxies(节点)、proxy-groups(策略组)与 rules(分流规则)三大段。
读懂策略组
策略组是 Clash 里最容易被忽略、却最能决定使用体验的一段。一条分流规则命中后,并不直接指向某个具体节点,而是指向一个策略组,再由策略组决定这条流量实际走哪个节点。常见的策略组有三类:手动选择(select)让你在客户端界面里点选当前出口,适合按需切换地区;自动测速(url-test)按固定间隔测试组内各节点延迟,自动选最快的一个,适合追求稳定低延迟又不想手动干预;故障转移(fallback)按顺序使用节点,当前节点不可用时才切到下一个,适合把主力节点排在前面、备用节点垫后。理解了这层间接关系,你就能明白为什么「切换节点」有时要在策略组里操作而不是在节点列表里,以及为什么同一条规则在不同时间会走不同节点。
进阶配置里还会出现策略组嵌套:一个 select 组的成员是另外几个 url-test 组,分别对应不同地区的自动优选。这样界面上你只需在「香港/日本/美国」之间做一次地区选择,组内节点的优选交给客户端自动完成,兼顾了可控性与省心。修改策略组结构时同样要注意顺序与命名一致——规则里引用的策略组名必须和 proxy-groups 段里定义的名字逐字一致,差一个空格都会导致该规则找不到出口而报错。
多份配置如何管理
不少人手里不止一条订阅,或者一条订阅之外还想叠加自己的规则。客户端普遍支持保存多份配置并一键切换,但同一时刻只有一份处于激活状态。管理上有两个实用习惯:一是给每份配置起有意义的名字并标注来源与更新日期,时间一长很容易忘记哪份是哪份;二是自定义规则尽量不要直接改在订阅拉取的配置里,因为下次更新订阅会把你的改动整个覆盖。更稳妥的做法是使用客户端的「覆写」或「配置合并」功能——把订阅作为基础层,自己的规则、DNS 偏好等放在独立的覆写层,更新订阅时覆写层不受影响,始终生效。
YAML 解析报错
手动改过配置后客户端报「配置解析失败」,九成是 YAML 格式问题,按三条检查:缩进必须用空格(约定两个),混入 Tab 立即报错;键名冒号后必须有一个空格;值里包含冒号、井号等特殊字符时要用引号包住整个值。改配置前先备份原文件,是成本最低的保险。
Fake-IP 相关异常
配置里 enhanced-mode: fake-ip 表示 DNS 使用 Fake-IP 模式:客户端先返回一个保留网段的虚假地址加快连接建立,真实解析在代理链路上完成。它能减少 DNS 泄露、加快首包,但个别依赖真实 IP 的场景会异常——局域网设备发现、部分游戏平台登录等,需要把相关域名加进 fake-ip-filter 列表。原理与完整的适用场景清单,见Fake-IP 模式详解。
自定义规则不生效
在订阅基础上追加自己的分流规则时,记住一条原则:规则自上而下匹配,命中即停。自定义条目如果放在了更宽泛的通配规则之后,永远轮不到它生效——精确的域名规则要排在 GEOIP、MATCH 这类兜底规则之前。各规则类型的语法与排序建议,见规则语法与优先级解析。
订阅更新失败
点更新后转圈报错,按四层排查:本机网络是否通畅、订阅链接在浏览器里能否直接打开、返回内容是否为合法配置格式、客户端是否设置了「通过代理更新订阅」却处于断连状态。逐项自查的完整清单已整理成文:订阅失效排查步骤。更多零散问题,常见问题页按基础认知、安装配置、使用技巧与故障排查四类持续收录。