先按使用需求选,再核对内核版本
Windows 上选择 Clash 客户端,首先要分清两层:客户端负责界面、订阅管理、系统代理和后台服务;mihomo 内核负责连接协议、规则匹配、DNS 与 TUN 流量处理。界面版本更新,不代表内核一定同步更新;两个客户端都使用 mihomo,也不代表生成的运行配置完全一致。
本文比较 Clash Plus、Clash Verge Rev 与 FlClash。Clash Verge Rev 采用 Tauri 技术栈,FlClash 采用 Flutter 技术栈,两者都围绕 mihomo 提供图形化管理。Clash Plus 的具体内核、服务实现及覆写能力,应以下载页对应发行包的说明和实际运行信息为准,不能仅凭名称推断。本文不把未核实的功能写成已支持,也不提供跨版本固定有效的性能排名。
- 只需要浏览器代理:先看订阅导入、策略组切换、系统代理开关和退出后的恢复行为。
- 需要接管更多应用:重点检查 TUN 权限、DNS、路由及与公司 VPN 的共存情况。
- 经常修改规则:优先检查持久覆写、配置预览和错误定位,避免订阅更新覆盖本地修改。
- 准备从旧客户端迁移:先验证同一份订阅,再逐项迁移规则,不要直接复制整个配置目录。
三款客户端的差异与核对重点
先用下表缩小候选范围。表中的“核对”是安装前后需要完成的检查,不等于该功能缺失。客户端的菜单名称会随版本调整,涉及具体入口时,应以当前界面与对应版本文档为准。
| 比较维度 | Clash Plus | Clash Verge Rev | FlClash |
|---|---|---|---|
| 内核核对 | 从发行说明和启动日志确认内核名称、版本 | 使用 mihomo,仍需记录当前包实际内核版本 | 使用 mihomo,仍需记录当前包实际内核版本 |
| 界面与运行环境 | 检查当前发行包的系统要求与安装形式 | Tauri 桌面界面,Windows 环境需关注 WebView2 | Flutter 界面,不采用同一套 WebView2 界面依赖 |
| 订阅管理 | 验证导入、更新与本地规则保留方式 | 可管理订阅配置,并使用合并、脚本等配置处理能力 | 可管理配置订阅,覆写范围与操作方式按版本核对 |
| TUN 使用 | 先确认发行包是否提供 TUN 入口及权限方案 | 提供 TUN 与服务模式相关管理,需验证服务状态 | 提供 TUN 入口,需验证当前版本的提权与后台运行行为 |
| 优先考察场景 | 把下载页推荐项作为候选,完成基础验收后再决定 | 重视 Windows 配置管理、合并与脚本处理的用户 | 已有 Flutter 客户端使用习惯,希望沿用相近操作方式的用户 |
Clash Plus:用实际发行包完成确认
选择 Clash Plus 时,先在客户端下载页核对平台与发行信息,再记录安装后的版本。至少完成“订阅导入成功、规则模式可用、系统代理可恢复”三项测试。如果需求包括 TUN、规则集或脚本覆写,还要单独验证对应能力。不能把其他 Clash 客户端的说明直接套到这个名称上。
Clash Verge Rev:关注配置处理与 Windows 服务
Clash Verge Rev 适合作为需要细调配置时的候选。比较时要看订阅原文经过合并、脚本和界面设置后,最终交给内核的配置是什么。TUN 出现权限问题时,则要区分“界面能打开”和“后台服务已安装并运行”。白屏或无法显示界面属于另一条排查线,应检查 WebView2 等运行环境,而不是先改 DNS。
FlClash:关注操作路径与配置可迁移性
FlClash 的 Flutter 界面与 Clash Verge Rev 的桌面实现不同。已有其他平台使用习惯的用户,可以先测试配置选择、节点切换和日志查看是否顺手。但相近界面不代表配置目录、平台权限与本地覆写可以直接互拷。Windows 上仍要独立验证 TUN、开机启动以及退出后的系统代理状态。
内核与协议:用运行信息判断兼容性
遇到“同一订阅在一个客户端正常,在另一个客户端报错”,先记录两个客户端的版本、实际内核版本和报错行。不要只比较安装包发布日期。新协议参数、规则行为和 DNS 字段可能依赖具体 mihomo 版本,旧内核不一定能解析新配置。
- 打开客户端的关于信息、内核信息或启动日志,记录完整版本字符串;不要只记“最新版”。
- 确认订阅返回的是 Clash/mihomo 可用的 YAML,而不是网页、登录提示或其他客户端的专用格式。
- 检查错误发生在配置解析阶段,还是节点建立连接阶段。前者优先查字段和类型,后者再查线路、认证与协议参数。
- 查看最终运行配置,确认订阅中的节点、策略组、
rule-providers与rules没有被客户端覆写意外替换。
例如,mixed-port 是 HTTP 与 SOCKS 共用的监听端口;external-controller 是内核控制接口,不是浏览器代理端口。把浏览器指向控制接口端口,即使客户端显示已运行,也不会得到正常的代理服务。字段说明可对照规则语法手册,DNS 问题则另查DNS 配置说明。
系统代理与 TUN:分两轮验收
系统代理供遵循 Windows 代理设置的应用使用。TUN 通过虚拟网卡与路由处理流量,覆盖范围通常更广,但不等于所有流量必然进入代理节点。最终去向仍取决于路由、排除项、规则以及 DNS 处理方式。游戏、公司 VPN、局域网设备访问,更适合放进实际测试,而不是只看开关是否存在。
第一轮:只验证系统代理
- 关闭旧客户端的系统代理和 TUN,再彻底退出旧客户端。一次只运行一个候选客户端。
- 导入订阅,选择一个节点,使用规则模式。先保持 TUN 关闭,再开启系统代理。
- 在 Windows 11 打开「设置」→「网络和 Internet」→「代理」,检查手动代理地址与端口是否对应当前客户端。
- 访问测试网站,同时查看客户端连接记录,确认请求命中了预期策略,而不是仅凭页面能打开判断。
- 退出客户端,再检查 Windows 代理设置是否恢复,确认正常访问没有被残留代理阻断。
第二轮:验证 TUN 与网络恢复
基础代理通过后,再按客户端提示安装服务或授予所需权限,启用 TUN。记录虚拟网卡、默认路由变化与日志中的 DNS 错误。依次测试浏览器、一个不跟随系统代理的应用、局域网地址以及睡眠唤醒后的连接。公司设备应先遵循管理员策略,不要用反复提权或关闭安全软件的方式绕过限制。
遇到域名打不开而 IP 可以连接时,先检查 DNS 链路;遇到所有连接都失败时,再检查服务、路由和端口。启用 fake-ip 也不是完整的 DNS 防泄漏保证,还需要核对应用自带的加密 DNS、浏览器设置及实际网络出口。
订阅与覆写:重点测试更新之后
导入一次成功,只能证明当前内容可以使用。长期管理更重要的是:订阅更新后,本地规则是否保留,策略组选择是否符合预期,覆写失败时能否定位。Clash Verge Rev 的合并与脚本处理、FlClash 当前版本的覆写入口,以及 Clash Plus 对应发行包的配置处理方式,应分别按各自文档配置。
- 远程订阅:保留来源链接与更新周期,查看更新时间和错误信息;订阅地址含凭据,不要贴到公开截图或在线转换页面。
- 本地规则:优先放进客户端支持的持久覆写入口,不要直接修改下次更新就会替换的订阅缓存。
- 规则顺序:需要优先匹配的规则应出现在兜底规则之前;检查最终配置,不要仅凭编辑框位置判断。
- 脚本迁移:旧客户端 Parsers 与新客户端脚本接口可能不同,函数入口、传入对象和执行阶段都要核对。
以下 YAML 只演示规则顺序,不是可以替换完整订阅的配置。局域网域名和私有地址先直连,最后才交给名为“代理选择”的策略组;该组必须已经存在。合并工具如何插入数组,由客户端实现决定,尤其要防止原有 MATCH 提前结束匹配。
rules:
- DOMAIN-SUFFIX,lan,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,代理选择
配置完成后,手动更新订阅一次,再查看最终规则、策略组与日志。若规则消失,应修正持久化方式,而不是把“每次更新后重新粘贴”当成正常工作流。初次导入步骤可参考订阅配置教程。
资源占用与更新活跃度:按同一条件比较
不能因为 Tauri 或 Flutter 的名称,就断言某款客户端一定更省内存。图形界面、内核、后台服务与 WebView2 子进程的统计口径不同,规则集规模、连接数量和日志等级也会改变结果。可靠的方法是固定测试条件,再分别记录。
建议使用的本机对照流程
- 三个候选使用同一份订阅、同一个节点、同一种代理模式;关闭自动节点测速,避免额外探测干扰。
- 启动后静置 5 分钟,记录任务管理器中的客户端、内核及相关进程内存,不只抄界面进程的数字。
- 使用相同的浏览器页面和文件传输任务运行 10 分钟,记录 CPU、峰值内存、断连次数与错误日志。
- 分别测试退出、重新启动与睡眠唤醒,记录代理和网络是否恢复。测试时间是建议条件,不是性能成绩。
若怀疑端口冲突,可在 PowerShell 查询。这里的 7890 只是示例,应替换为客户端实际监听端口;查询没有输出通常表示没有匹配的 TCP 监听项,不代表 UDP 或其他端口也没有占用。
Get-NetTCPConnection -State Listen -LocalPort 7890 -ErrorAction SilentlyContinue |
Select-Object LocalAddress, LocalPort, OwningProcess
更新活跃度也不要只看发布次数。建议检查最近 90 天的正式发行记录、内核升级说明、已知问题与回退方法。把“客户端版本”和“内核版本”分开记载,并关注自己的实际问题是否有修复说明。本文不固定列出一个很快过期的“当前最新版”;下载前应查看当时的发行记录。
按需求落地:保留一个主用客户端
如果只需要网页与常见桌面应用代理,三款候选都应先完成订阅、规则模式和系统代理恢复测试。优先留下步骤清楚、日志容易查、更新后配置能保留的那一个。Clash Plus 可以从对应发行包开始评估,但涉及 TUN 或高级覆写时,需要补齐实际功能验证。
如果长期维护自定义规则和配置脚本,可优先试用 Clash Verge Rev,并确认当前版本的合并顺序与服务模式。如果已经熟悉 FlClash 的操作方式,可以优先试用它的 Windows 版,再检查平台权限与覆写差异。更多维度可对照客户端对比页,不必为了界面差异同时保留多个自启动实例。
迁移完成前的五项检查
- 保留旧配置备份,但不要让两个客户端同时抢占监听端口或修改系统代理。
- 确认订阅能更新、本地覆写不丢失,日志中没有持续的解析或下载错误。
- 验证直连站点、代理站点与局域网设备,查看实际命中规则。
- 确认关闭 TUN、退出客户端和重新开机后,网络行为符合预期。
- 完成连接验证后,再关闭旧客户端自启动;不要过早删除可回退的配置。
最终选择应能回答三个具体问题:实际运行的是哪个内核版本,配置更新后哪些修改会保留,退出后系统代理与路由如何恢复。把这三项确认清楚,比只按界面截图或软件名称做判断更可靠。