先按使用需求选,再核对内核版本

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 版本,旧内核不一定能解析新配置。

  1. 打开客户端的关于信息、内核信息或启动日志,记录完整版本字符串;不要只记“最新版”。
  2. 确认订阅返回的是 Clash/mihomo 可用的 YAML,而不是网页、登录提示或其他客户端的专用格式。
  3. 检查错误发生在配置解析阶段,还是节点建立连接阶段。前者优先查字段和类型,后者再查线路、认证与协议参数。
  4. 查看最终运行配置,确认订阅中的节点、策略组、rule-providers 与 rules 没有被客户端覆写意外替换。

例如,mixed-port 是 HTTP 与 SOCKS 共用的监听端口;external-controller 是内核控制接口,不是浏览器代理端口。把浏览器指向控制接口端口,即使客户端显示已运行,也不会得到正常的代理服务。字段说明可对照规则语法手册,DNS 问题则另查DNS 配置说明。

系统代理与 TUN:分两轮验收

系统代理供遵循 Windows 代理设置的应用使用。TUN 通过虚拟网卡与路由处理流量,覆盖范围通常更广,但不等于所有流量必然进入代理节点。最终去向仍取决于路由、排除项、规则以及 DNS 处理方式。游戏、公司 VPN、局域网设备访问,更适合放进实际测试,而不是只看开关是否存在。

第一轮:只验证系统代理

  1. 关闭旧客户端的系统代理和 TUN,再彻底退出旧客户端。一次只运行一个候选客户端。
  2. 导入订阅,选择一个节点,使用规则模式。先保持 TUN 关闭,再开启系统代理。
  3. 在 Windows 11 打开「设置」→「网络和 Internet」→「代理」,检查手动代理地址与端口是否对应当前客户端。
  4. 访问测试网站,同时查看客户端连接记录,确认请求命中了预期策略,而不是仅凭页面能打开判断。
  5. 退出客户端,再检查 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 子进程的统计口径不同,规则集规模、连接数量和日志等级也会改变结果。可靠的方法是固定测试条件,再分别记录。

建议使用的本机对照流程

  1. 三个候选使用同一份订阅、同一个节点、同一种代理模式;关闭自动节点测速,避免额外探测干扰。
  2. 启动后静置 5 分钟,记录任务管理器中的客户端、内核及相关进程内存,不只抄界面进程的数字。
  3. 使用相同的浏览器页面和文件传输任务运行 10 分钟,记录 CPU、峰值内存、断连次数与错误日志。
  4. 分别测试退出、重新启动与睡眠唤醒,记录代理和网络是否恢复。测试时间是建议条件,不是性能成绩。

若怀疑端口冲突,可在 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、退出客户端和重新开机后,网络行为符合预期。
  • 完成连接验证后,再关闭旧客户端自启动;不要过早删除可回退的配置。

最终选择应能回答三个具体问题:实际运行的是哪个内核版本,配置更新后哪些修改会保留,退出后系统代理与路由如何恢复。把这三项确认清楚,比只按界面截图或软件名称做判断更可靠。