先按设备范围排除不适用的客户端
选择 Clash 客户端时,第一步不是比较界面,而是确认需要覆盖哪些设备。Clash Plus 提供 Windows、macOS、Android 与 iOS 入口;Clash Verge Rev 主要面向 Windows、macOS 与 Linux 桌面;FlClash 覆盖 Windows、macOS、Linux 和 Android。只在一台电脑上使用时,三者的交集较大;同时管理电脑与手机时,平台覆盖会直接缩小选择范围。
客户端、内核和订阅服务是三个不同层次。客户端负责图形界面、配置文件管理、系统代理开关、TUN 权限与日志入口;mihomo 等内核负责解析 YAML、建立连接并按规则处理流量;订阅服务提供节点、策略组和规则配置。安装任意客户端都不会自动产生可用订阅,导入订阅也不等于已经接管设备流量。
| 客户端 | 主要平台 | 更适合的使用方式 | 选型时先确认 |
|---|---|---|---|
| Clash Plus | Windows、macOS、Android、iOS | 希望电脑与移动设备使用相近操作路径 | 对应系统版本、安装渠道与设备架构 |
| Clash Verge Rev | Windows、macOS、Linux | 以桌面端配置管理、规则检查和日志排查为主 | Windows 安装权限、macOS 芯片架构、Linux 包格式 |
| FlClash | Windows、macOS、Linux、Android | 需要桌面与 Android,并重视跨设备操作一致性 | Android CPU 架构以及桌面系统对应安装包 |
按常见设备组合快速判断
- Windows 10 或 Windows 11 单机:三者都可进入下一轮比较,重点看配置编辑、TUN 和更新习惯。
- macOS 电脑:先在「苹果菜单」→「关于本机」查看芯片。Apple Silicon 通常选择 arm64,Intel 机型选择 x64。
- Ubuntu、Debian、Fedora 等 Linux 桌面:优先比较 Clash Verge Rev 与 FlClash。Debian、Ubuntu 常用
.deb,Fedora、RHEL 系常用.rpm。 - Android 手机加 Windows 电脑:Clash Plus 或 FlClash 更容易形成同一客户端组合,但两端的配置仍需分别导入和更新。
- iPhone 或 iPad:三款中先核对 Clash Plus 的 iOS 安装入口与当前系统要求,不要把 Windows 安装说明套到 iOS。
按配置管理习惯选择:少调整还是经常排查
只需要导入一条订阅、选择节点并开启系统代理的用户,判断标准应是入口是否清楚,而不是设置项数量。典型操作链路是「订阅」或「配置」→「添加」→粘贴订阅地址→下载配置→设为当前配置,再到「代理」页面选择策略组。不同版本的中文菜单可能把 Profile 翻译为「配置」「订阅」或「配置文件」,功能位置相同但名称未必完全一致。
经常调整规则、DNS 或覆写内容的用户,则需要关注客户端能否明确区分远程订阅与本地修改。订阅更新通常会重新取得远程 YAML;如果直接编辑下载后的配置,下一次更新可能覆盖改动。更稳妥的方式是使用客户端提供的覆写、合并或脚本功能,或者复制为本地配置后停止自动更新。具体能力要以所安装版本的配置页面为准。
Clash Plus:设备跨度优先
Clash Plus 的主要选择理由是平台覆盖。需要在 Windows、macOS、Android 和 iOS 之间建立相近使用流程时,可以减少重新熟悉客户端结构的成本。实际使用仍应逐台设备完成授权:桌面端的系统代理作用于读取系统代理设置的应用,移动端则通常通过系统 VPN 接口接管流量,两者不是同一种机制。
如果日常流程只有更新订阅、选择策略组和连接,重点检查三个位置:当前启用的配置、策略组当前选项、流量接管开关。不要只看节点延迟数字;延迟测试能返回结果,只说明测试目标可达,不代表浏览器、终端和其他应用已经经过代理。
Clash Verge Rev:桌面配置与诊断优先
Clash Verge Rev 更适合把电脑作为主要操作设备的用户。桌面环境下可以同时查看订阅、代理组、连接记录和内核日志,遇到规则未命中、DNS 失败或端口占用时,排查入口通常比只看连接开关更重要。Linux 用户还应检查桌面会话是否读取系统代理;命令行程序通常不会自动继承桌面代理设置。
需要修改内核参数时,应先辨认设置所属层次。例如「设置」→「Clash 设置」中的端口和模式通常影响内核运行;「设置」→「系统设置」中的开机启动、窗口行为属于客户端本身。菜单文字会随版本调整,修改前可先记录原值,再一次只改一个项目。
FlClash:桌面与 Android 操作一致性优先
FlClash 适合同时使用桌面系统和 Android、并希望界面逻辑相近的用户。它不能让不同设备自动共享连接状态:每台设备仍有独立的配置副本、权限和本地端口。移动端更换网络后,还要重新观察 VPN 状态、DNS 解析与后台运行限制。
Android 下载安装包时需要区分架构。近年的主流手机通常采用 arm64,但不应仅凭品牌判断;可在系统信息工具或设备规格页确认 ABI。若存在 universal 包,它通常覆盖更多架构,但文件体积也可能更大。桌面端则按 Windows、macOS 或 Linux 对应格式选择。
系统代理与 TUN 的差别会影响最终选择
系统代理和 TUN 不是“普通模式”与“增强模式”的简单关系。系统代理通常写入操作系统的 HTTP 与 SOCKS 代理设置,浏览器和遵循系统设置的桌面应用会读取这些值;TUN 创建虚拟网络接口,把更广泛的 IP 流量送入内核。是否需要 TUN,取决于应用是否支持代理、是否有 UDP 流量、是否需要处理不读取系统代理的程序。
| 项目 | 系统代理 | TUN |
|---|---|---|
| 典型对象 | 浏览器、遵循系统代理的桌面应用 | 不读取代理设置的程序、部分 UDP 与更广泛的 IP 流量 |
| 权限要求 | 通常只需修改系统代理设置 | 可能需要管理员权限、网络扩展或 VPN 配置授权 |
| 排查重点 | 监听地址、HTTP/SOCKS 端口、应用覆盖设置 | 虚拟接口、路由、DNS、排除项与其他 VPN 冲突 |
| 适用起点 | 先验证浏览器访问与规则命中 | 确认基础配置可用后再开启 |
先用端口确认内核是否真正监听
不少配置使用 HTTP 端口 7890、SOCKS 端口 7891,也有客户端使用 mixed-port 7890 同时接受 HTTP 与 SOCKS。端口并非固定标准,应以当前配置或客户端设置页显示的值为准。如果终端需要临时验证 HTTP 代理,可以在确认端口后执行:
curl -x http://127.0.0.1:7890 https://example.com/
若这里提示连接 127.0.0.1:7890 失败,先查内核是否启动、端口是否被修改或占用;若请求成功但直接运行 curl 失败,问题通常在终端没有使用系统代理,而不是订阅本身。Linux 和 macOS 终端可按需要临时设置:
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5h://127.0.0.1:7891
socks5h 表示让 SOCKS 代理端处理目标主机名解析。验证完成后可以关闭终端窗口,或使用 unset HTTP_PROXY HTTPS_PROXY ALL_PROXY 清除当前会话变量。Windows PowerShell 的环境变量语法不同,不应直接复制 Bash 命令。
开启 TUN 前检查四项
- 先用系统代理确认订阅、节点和基本规则能够工作,避免把配置错误误判为 TUN 故障。
- 检查是否同时运行其他 VPN、虚拟网卡、容器网络或企业安全客户端;这些工具可能共同修改默认路由和 DNS。
- 在 Windows 留意管理员权限与服务安装状态;在 macOS 留意「系统设置」→「网络」→「VPN 与过滤器」中的授权;在 Android 确认系统状态栏存在 VPN 标记。
- 开启后重新测试 DNS、局域网设备访问和需要代理的应用,不要只观察客户端首页是否显示“运行中”。
规则、策略组与内核能力不能只看客户端名称
Clash Plus、Clash Verge Rev 和 FlClash 都是配置与运行入口,真正执行规则的是所集成或调用的内核。配置能否加载,取决于内核版本是否支持对应字段,而不是 YAML 文件扩展名是否相同。迁移客户端时,要查看启动日志中报告的配置错误,尤其关注 DNS、代理协议、规则提供器和 TUN 字段。
规则模式会从上到下求值,第一条匹配规则决定去向。下面的片段展示顺序关系,但其中 PROXY 必须由订阅或使用者在策略组中定义,不能单独复制后直接使用:
mode: rule
rules:
- DOMAIN-SUFFIX,example.org,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- DOMAIN,blocked.example,REJECT
- MATCH,PROXY
DIRECT 表示直连,REJECT 表示拒绝请求,MATCH 是未命中前述规则时的最终去向。no-resolve 只表示匹配这条 IP 规则时不主动为域名解析地址,并不等于关闭全部 DNS。切换客户端后若同一个网站走向变化,应依次检查当前模式、实际载入的配置、规则顺序以及策略组中选中的出口。
不要用延迟排行替代配置检查
节点列表中的延迟通常来自客户端对指定测试 URL 的一次请求,数值会受测试目标、网络抖动、DNS 和复用连接影响。某节点显示 80 ms,不能推导其下载速度一定高于显示 120 ms 的节点。更可靠的判断是连续测试实际目标,并在连接页面确认目标域名命中了预期规则和策略组。
对于经常排查规则的用户,客户端能否展示连接记录、规则名称、代理链和错误日志,比首页是否简洁更重要。只做基本浏览的用户则不必为了少量高级字段承担额外维护成本。选型应围绕日常动作频率,而不是把功能数量当成统一评分。
更新、迁移和备份方式决定长期维护成本
客户端更新与订阅更新是两件事。客户端更新会替换应用程序和可能附带的内核;订阅更新只会重新下载远程配置。遇到问题时先判断最近改变的是哪一层:应用升级后无法启动,应查看客户端日志和系统权限;订阅更新后策略组消失,应检查远程配置内容;只有某个节点失败,则应在同一配置内更换节点验证。
迁移前保留这些信息
- 订阅地址或服务提供方给出的重新导入入口,不要只依赖客户端缓存。
- 本地 YAML、覆写规则、脚本和自定义 DNS 设置。
- HTTP、SOCKS、mixed-port 与局域网访问开关的当前值。
- 常用策略组的选择,例如手动节点、自动选择或直连。
- TUN 是否启用、是否安装服务、局域网和私有网段是否排除。
从一个客户端迁到另一个客户端时,先保留旧客户端但关闭其系统代理和 TUN,再启动新客户端。不要让两个内核同时争用 7890 或同时修改系统代理。新客户端完成导入后,先测试一个浏览器请求、一个终端请求和一个需要 TUN 的应用,再决定是否移除旧客户端。
订阅包含访问凭据,不应粘贴到公开日志、截图或问题描述中。提交故障信息时,可以保留规则类型、错误行号、端口与内核版本,并遮去订阅地址、节点服务器地址和认证字段。这样既能说明问题层次,也不会暴露可直接使用的配置内容。
按工作流给出选择结论
选择 Clash Plus 的情况
- 需要覆盖 iOS,或希望 Windows、macOS 与移动设备采用相近的操作路径。
- 主要操作是导入订阅、切换策略组和启停连接,不频繁编辑复杂覆写。
- 愿意在每台设备上分别完成系统权限、VPN 配置和订阅维护。
选择 Clash Verge Rev 的情况
- 主要使用 Windows、macOS 或 Linux 桌面,重视配置、连接和日志检查。
- 需要区分系统代理与 TUN,并经常定位端口、DNS、规则命中问题。
- 能按系统架构选择安装包,并愿意在升级后检查内核与配置兼容性。
选择 FlClash 的情况
- 设备组合包含 Android 与桌面系统,希望减少跨平台界面差异。
- 需要 Windows、macOS、Linux 或 Android 中的多个平台入口。
- 理解各设备配置相互独立,会分别检查 Android VPN 权限和桌面代理设置。
仍然无法决定时的 20 分钟测试法
- 安装与当前系统、芯片架构匹配的客户端。
- 导入同一份订阅,记录下载配置所需时间以及错误提示是否明确。
- 选择同一个节点,开启系统代理,用浏览器和
curl分别测试。 - 查看连接记录能否显示目标域名、命中规则和最终策略。
- 确有需要时再开启 TUN,测试 UDP 应用、局域网设备和 DNS。
- 执行一次订阅更新,确认本地覆写和策略组选择是否符合预期。
最终选择可以很直接:移动端覆盖优先看 Clash Plus 或 FlClash,桌面诊断和配置管理优先看 Clash Verge Rev,需要 Android 与桌面操作一致性时重点比较 FlClash。客户端并不会改变订阅本身的质量,也不能替代规则和权限检查。先按平台排除,再按系统代理、TUN、日志与维护频率选择,通常比比较一组缺少测试条件的分数更有效。