先区分客户端、内核与订阅
选择 Clash 客户端,实际是在选择三项能力:管理配置的界面、执行规则的内核,以及接管系统流量的方式。FlClash 与 Clash Verge Rev 都属于图形客户端;mihomo 是内核,也是独立运行的命令行程序。订阅则提供节点或完整配置,不等同于客户端,也不决定系统代理是否已经启用。
同一份订阅在两个客户端中表现不同,未必意味着节点质量发生变化。内核版本、DNS 覆写、规则合并顺序、TUN 状态和策略组选择,都可能改变最终连接路径。比较之前应先统一这些条件,而不是只看首页的延迟数字。
结论先行:需要桌面与 Android 接近的操作体验,可先评估 FlClash;主要在桌面维护多份订阅与覆写,可先评估 Clash Verge Rev;Linux 服务器通常直接部署 mihomo。具体兼容性以所选发行版的安装包、内核版本和发布说明为准。
本文比较工作方式,不把某个界面版本号当成长期结论。安装前应分别记录“客户端版本”和“内核版本”;两者的编号体系不同,不能用客户端版本的大小判断协议支持程度。
平台覆盖与维护状态对比
| 候选项目 | 主要平台 | 适合的管理方式 | 选型时重点确认 |
|---|---|---|---|
| FlClash | Windows、macOS、Linux、Android | 通过接近的界面完成配置导入、策略选择与运行状态检查 | 目标架构安装包、移动端 VPN 权限、实际内核版本 |
| Clash Verge Rev | Windows、macOS、Linux | 桌面订阅管理、配置增强与服务模式 | 覆写作用范围、服务安装状态、系统代理与 TUN 配置 |
| Clash Nyanpasu | Windows、macOS、Linux | 桌面配置管理与内核相关设置 | 对应发行版的维护状态、内核选择与配置增强行为 |
| mihomo | Linux 等受支持系统与架构 | 配置文件、命令行和系统服务 | 服务权限、网络路由、控制接口与升级回退 |
| Clash for Windows | 历史桌面发行包 | 既有环境的迁移参照 | 已停止维护,不作为新部署的优先候选 |
平台名称相同,不代表安装条件相同
- Windows:区分 x64 与 ARM64。系统代理通常不要求管理员权限,但安装服务、创建 TUN 网卡或调整路由可能需要提权。
- macOS:区分 Apple Silicon 与 Intel。首次打开程序和启用网络相关组件是两个步骤,不应把系统权限提示一概视为安装失败。
- Linux 桌面:确认发行包格式与运行依赖。安装成功后,还要检查桌面环境是否读取系统代理,以及 TUN 所需权限是否具备。
- Android:FlClash 通过系统 VPN 接口接管流量,需要用户授权。常规情况下,同一用户空间只能维持一个活动 VPN,应检查其他 VPN、抓包或防火墙应用是否占用。
iOS 不应按桌面客户端名称直接套用安装方案。FlClash 与 Clash Verge Rev 的常见发行目标不包含 iOS;其他 iOS 代理应用是否兼容某种订阅格式,需要单独核对。支持导入部分节点,并不等于支持整份 mihomo 配置。
维度一:内核更新与协议兼容性
mihomo 延续了 Clash Meta 的技术路线。客户端集成 mihomo,并不意味着始终随附相同的内核构建。某个新协议字段、DNS 选项或规则行为是否可用,应查安装包实际运行的内核,而不是只凭软件名称判断。
安装后记录三项信息
- 在客户端的关于、版本信息或内核管理入口记录界面版本与内核版本。菜单名称会随发行版调整,不能假设所有客户端都有同一个操作路径。
- 导入配置后查看启动日志,确认没有不支持的代理类型、规则解析错误或监听失败。
- 检查新协议所需的完整参数。只把节点的
type改成另一个名称,不能完成协议转换。
FlClash 适合希望由客户端集中处理内核与界面协作的用户。Clash Verge Rev 则值得同时检查其内核更新入口和发行说明。若某个发行版允许切换内核,应先备份当前配置,再验证更新后的 DNS、UDP 和 TUN 行为。开发版内核适合验证特定修复,不宜只因编号更新就直接用于全部工作流。
在独立 mihomo 环境中,可先执行配置测试。以下文件名是本地配置示例,命令需要在已经安装 mihomo 的环境运行:
mihomo -v
mihomo -t -f ./config.yaml
-t 用于测试配置是否能被当前内核接受,不代表节点连通性、DNS 可用性或规则结果已经验证。图形客户端还可能在启动前生成配置,测试原始订阅文件不能替代检查最终运行配置。
维度二:界面与流量接管方式
FlClash 的一个实际优势是桌面与 Android 的操作概念接近:导入配置、启动连接、选择策略组、查看连接记录。Clash Verge Rev 的评估重点则更偏向桌面工作流,包括托盘操作、系统代理、服务模式与配置管理。选择时应按每天会执行的操作判断,而不是按截图中的设置项数量排序。
系统代理与 TUN 要分别验证
系统代理让遵循系统设置的应用连接本地代理监听端口;部分终端程序和游戏不会自动读取它。TUN 通过虚拟网卡接管符合路由条件的流量,但仍受权限、路由、DNS 和排除规则影响,不能理解为“开启后所有连接必然走代理”。最终出站仍由规则和策略组决定。
- 浏览器办公优先测试系统代理,确认正常访问与规则命中后,再决定是否需要 TUN。
- 命令行工具可以先显式指定代理,排除“应用没有读取系统代理”的干扰。
- 游戏、UDP 应用或不遵循代理设置的软件,再测试 TUN;同时确认节点和出站链路支持相关流量。
例如,只有当当前有效配置中的 mixed-port 确实为 7890 时,下面的命令才适用。这里的 7890 是示例端口,不是所有客户端的统一默认值:
curl --proxy http://127.0.0.1:7890 https://example.com/
如果显式指定代理可以连接,而直接访问失败,应先检查应用的代理设置与接管方式。若本地端口都无法连接,应先看内核是否启动、端口是否被占用,不必立即更换订阅。
维度三:订阅与覆写管理
订阅更新与本地自定义配置之间的边界,是长期使用中最容易被忽略的差异。直接修改订阅生成的文件,下次更新可能覆盖修改。更稳妥的结构是:远程订阅负责节点或基础配置,本地覆写负责规则补充、DNS、监听地址与个人偏好。
比较覆写能力时,检查四个问题
- 作用范围:修改只影响当前配置,还是影响全部配置?切换到另一份订阅后,DNS 设置是否仍然生效?
- 执行顺序:本地规则是插入到订阅规则之前,还是追加到最后?如果追加在
MATCH之后,通常无法获得预期命中机会。 - 合并方式:对象字段可能被合并,数组可能被替换或追加。具体以客户端的覆写机制为准,不能从 YAML 的表面结构推断。
- 可观察性:能否查看最终运行配置与规则命中记录?仅看到编辑器保存成功,不足以证明配置已被内核加载。
Clash Verge Rev 的配置增强工作流适合需要维护本地合并或脚本处理的桌面用户;实际可用入口与执行次序应以安装版本为准。FlClash 用户同样应确认当前版本的覆写入口及其范围,尤其不要假定桌面和 Android 的配置存储位置完全一致。
下面是规则顺序的说明片段,不是可直接导入的完整配置。它表示企业内网优先直连,剩余流量交给已有的 PROXY 策略组;实际使用前必须确认该组存在,并将示例域名替换为真实内网域名:
rules:
- DOMAIN-SUFFIX,office.example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,PROXY
不要把这段
rules不加判断地作为整表覆写。若客户端采用数组替换,原有规则可能全部被替换。先确认“前置规则”“追加规则”与“替换规则”的区别。
订阅链接常含访问凭据。迁移、提交问题或共享截图时,应遮盖完整链接、节点密码与控制接口密钥。不要把真实订阅提交给来源不明的在线转换页面。
维度四:相同条件下验证性能与稳定性
客户端界面不同,不足以推出网络速度的高低。内核、节点、路由、DNS 与测试目标相同时,图形界面的差异主要体现在交互、配置生成和资源占用。本文不提供缺少设备、版本与网络条件的速度排名。
一组可复现的对照流程
- 只运行一个客户端,保持另一客户端及其后台服务退出,避免混合端口冲突或 TUN 路由叠加。
- 固定同一个节点,关闭自动切换策略的干扰;统一
mode: rule、DNS 设置与测试目标。 - 先测系统代理,再单独测 TUN。每种条件连续测试 3 次,记录连接成功次数与耗时,不把单次波动当结论。
- 空闲运行 5 分钟后记录内存和 CPU;区分界面进程与内核进程,同时保持日志等级一致。
- 执行一次订阅更新、一次网络切换和一次休眠恢复,检查连接是否恢复、策略选择是否保留。
延迟测试也要统一 URL 与超时设置。不同客户端可能使用不同探测目标;一个显示 80 毫秒,另一个显示 150 毫秒,如果目标和方法不同,就不构成有效对比。这些数字只能作为读数示例,不是本文实测结果。
遇到断流时,优先记录时间点、目标域名、命中规则和出站名称。只描述“某客户端慢”,无法区分是 DNS 超时、节点不可达,还是规则把连接送到了错误出口。
按使用场景缩小候选范围
| 场景 | 优先评估 | 验收重点 |
|---|---|---|
| 桌面与 Android 交替使用 | FlClash | 两端订阅导入、策略选择、VPN 权限与后台保活 |
| 桌面办公,多份配置与本地规则 | Clash Verge Rev;也可对照 FlClash | 配置增强次序、托盘操作、休眠恢复与内网直连 |
| 希望比较其他桌面交互方案 | Clash Nyanpasu | 发行版维护情况、配置迁移与实际内核兼容性 |
| Linux 无图形服务器 | 独立 mihomo | 服务启动、监听范围、权限、日志轮转与回退 |
| 旧 Clash for Windows 环境迁移 | 维护中的桌面客户端 | 配置可解析、端口一致、策略组名称与规则顺序 |
服务器不必为了使用 Clash 安装桌面环境
在 Linux 服务器上,mihomo 可以由 systemd 等服务管理器启动。需要明确配置文件路径、运行用户、重启策略和日志保存方式。若仅供本机应用访问,代理端口优先绑定回环地址;只有明确需要为局域网提供代理时,再考虑 allow-lan、认证与防火墙规则。
external-controller 是控制接口,不是普通代理端口。若使用 127.0.0.1:9090,它仅供本机访问;远程管理可通过受控隧道完成。不要为方便连接就把控制接口直接暴露到公网,并应配置 secret。
旧客户端迁移按“配置”迁移,不按“目录”复制
先保存订阅来源、个人规则、DNS 设置和策略组选择,再在新客户端重新导入。不同项目的数据库、缓存与服务配置不通用,整目录复制容易带入旧路径或旧状态。首次启动新客户端时先关闭旧客户端的系统代理、TUN 和后台服务,确认退出后代理设置已恢复。
安装前后的选型验收清单
- 安装前:确认操作系统与 CPU 架构,查看发行说明,保存旧配置和当前可用的回退安装包。
- 首次启动:记录客户端与内核版本,导入一份配置,检查日志中是否存在解析失败和端口占用。
- 首次联网:检查规则模式、实际混合端口与当前策略组,先验证一个接管方式,再增加 TUN 等设置。
- 首次更新订阅:确认本地规则和 DNS 偏好仍然保留,检查最终运行配置,不只检查编辑页面。
- 连续使用:测试休眠恢复、Wi-Fi 与移动网络切换、公司内网访问,以及退出客户端后的网络恢复。
FlClash、Clash Verge Rev 与独立 mihomo 并非互相替代的同一种工具。前两者降低图形化配置与日常切换的成本,后者提供更直接的服务部署方式。选型的终点应是:配置可解释、日志可定位、升级可回退,并且符合实际平台与网络权限条件。需要核对配置字段时,可继续查阅配置字段参考;安装与首次连接步骤见入门指南。