先确认停更的是客户端,不是配置格式
原版 Clash 内核与 Clash for Windows 已经停止维护。Clash for Windows 常见的最后版本是 v0.20.39,旧安装包仍可能启动,但继续使用会遇到三个实际问题:新系统兼容问题不会再修复,新版规则能力无法加入,订阅服务逐步转向 mihomo 后可能出现字段不识别。迁移的重点不是寻找一个界面完全相同的复刻,而是把订阅、覆写规则、代理模式和系统接管方式平稳转移到仍在维护的客户端。
目前常用替代方案主要采用 mihomo 内核。mihomo 延续 Clash 配置体系,并加入规则集、进程匹配、TUN、流量嗅探和更完整的 DNS 配置。大部分标准 YAML 配置可以继续使用,但客户端自己的界面设置不能直接互通。例如 Clash for Windows 的窗口状态、启动项和 Mixin 脚本,不会随着订阅地址自动迁移。
迁移前要分清四类数据
- 订阅地址:服务端提供的 URL,通常可在旧客户端的 Profiles 或配置页面找到。
- 配置文件:包含
proxies、proxy-groups、rules、dns等字段的 YAML 文件。 - 客户端设置:开机启动、系统代理、TUN、局域网访问和主题等本机选项。
- 覆写内容:旧版 Mixin、Parsers、脚本或手动追加的规则,需要单独重建。
如果平时只粘贴订阅链接并选择节点,迁移通常只需十分钟左右。如果改过 DNS、规则顺序或端口,则应先导出当前生效配置,再逐项还原。订阅服务每次更新都可能覆盖本地文件,因此自定义内容更适合放进新客户端提供的覆写功能,而不是直接修改订阅生成的 YAML。
FlClash 与 Clash Verge Rev 怎么选
两者都能运行 mihomo 配置,但产品侧重点不同。FlClash 覆盖 Windows、macOS、Linux 与 Android,界面和操作路径在桌面端、移动端之间较统一。Clash Verge Rev 主要面向 Windows、macOS 与 Linux 桌面环境,配置管理、托盘操作、系统服务和桌面 TUN 工作流更集中。
| 比较项 | FlClash | Clash Verge Rev |
|---|---|---|
| 主要平台 | Windows、macOS、Linux、Android | Windows、macOS、Linux |
| 适合场景 | 桌面与安卓希望使用相近操作逻辑 | 以电脑为主,重视托盘与桌面系统集成 |
| 订阅迁移 | 可重新添加 URL 或导入本地配置 | 可重新添加 URL,并用覆写扩展配置 |
| TUN 使用 | 支持,首次开启需完成系统授权 | 支持,桌面端通常配合服务模式使用 |
| 规则操作 | 适合查看匹配结果与切换策略组 | 适合管理多个配置、全局覆写和规则集 |
| 移动端 | 提供 Android 方案 | 不作为 Android 客户端使用 |
优先选择 FlClash 的情况
- 电脑和 Android 手机都要使用 Clash 配置,希望菜单结构接近。
- 主要操作是添加订阅、切换节点、查看连接和启停系统代理。
- 需要在触屏设备上管理策略组,不想维护两套完全不同的操作习惯。
- 使用本地 YAML 文件,希望直接导入后观察错误提示和规则匹配结果。
优先选择 Clash Verge Rev 的情况
- 主要设备是 Windows、macOS 或 Linux 桌面电脑。
- 需要频繁切换多个订阅,并统一添加 DNS、规则或代理组覆写。
- 希望通过托盘快速切换系统代理、TUN 模式和代理模式。
- 需要让不读取系统代理的软件走 TUN,并希望使用系统服务降低权限操作次数。
选择时不必只看界面截图。更可靠的判断标准是设备平台、是否依赖 TUN、是否维护自定义规则,以及订阅数量。单台 Windows 电脑配一个订阅,两者都能完成任务;涉及 Android 时优先看 FlClash;涉及多份桌面配置和复杂覆写时,Clash Verge Rev 的管理路径通常更直接。
从 Clash for Windows 迁移订阅与配置
第一步:保存订阅地址和本地 YAML
打开 Clash for Windows,进入 Profiles 页面。对仍在使用的订阅记录名称、更新时间和 URL。如果界面没有直接显示完整地址,可检查配置文件来源,或登录订阅服务的管理页面重新复制。随后打开配置所在目录,把正在使用的 YAML 文件复制到独立文件夹。
只保存 config.yaml 还不够。Clash for Windows 可能把订阅文件放在 profiles 目录,并通过索引记录当前选择。如果有 Mixin 或 Parser,还要把相关文本单独复制成普通文本文件。迁移时应读懂这些内容后重建,不建议把整个旧数据目录覆盖到新客户端目录。
- 退出自动更新配置,避免备份过程中订阅文件被刷新。
- 复制订阅 URL,并给每条地址标注用途,例如“日常”“测试”“备用”。
- 导出或复制当前生效 YAML。
- 抄下 General 页面中的端口与开关状态。
- 保存自定义 Mixin、Parser 和手写规则。
第二步:在新客户端添加订阅
安装新客户端后,先只添加一条主要订阅。FlClash 中进入「配置」→「添加」,选择 URL 类型,粘贴订阅地址并执行更新。Clash Verge Rev 中进入「订阅」→「新建」,填写名称与订阅 URL,保存后点击更新。不同版本的菜单名称可能略有调整,但都应选择远程订阅,而不是把 URL 当作本地 YAML 内容粘贴。
更新成功后,先检查策略组是否完整,再选择一个节点做延迟测试。延迟结果只能说明探测目标的响应时间,不能单独证明所有网站可访问。建议分别打开一个直连站点和一个需要代理的目标,再查看「连接」页面中的规则、策略组和实际出站节点。
第三步:核对端口,避免重复监听
旧 Clash 配置经常使用 HTTP 端口 7890、SOCKS5 端口 7891 和外部控制端口 9090。mihomo 配置也常使用 mixed-port: 7890,让 HTTP 与 SOCKS 共用一个入口。两套客户端同时运行时,如果都监听 7890,会出现“address already in use”“端口被占用”或系统代理开启后无法连接。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
迁移测试期间应彻底退出旧客户端,确认系统托盘中不再运行,再启动新客户端。若必须并行比较,可临时把其中一套改为 7892,但系统代理只能指向当前要测试的端口。测试结束后恢复统一端口,避免浏览器、终端和开发工具各自留下不同代理地址。
自定义规则、代理组和 DNS 怎么搬
规则迁移的关键是保持顺序。Clash 与 mihomo 都按规则从上到下匹配,命中后停止继续查找。把一条特定域名规则放到宽泛的 GEOIP 或 MATCH 后面,即使语法正确也不会生效。迁移时先搬精确规则,再搬规则集引用,最后核对兜底规则。
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN,api.example.net,Proxy
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- GEOIP,CN,DIRECT
- MATCH,Proxy
代理组名称必须对应
规则最后一项引用的是策略名。上例中的 Proxy 必须存在于 proxy-groups。如果订阅实际使用“节点选择”或“代理”,直接复制规则会报告找不到策略组,或在加载阶段失败。中文组名、英文组名和大小写都要完全一致。
订阅更新后节点名称可能改变,因此自建代理组优先引用其他稳定策略组,或使用客户端支持的覆写机制。不要把几十个节点名称手工写进长期规则文件,否则服务端改名后就要逐条维护。
旧 Mixin 不应整段照搬
Clash for Windows 的 Mixin 可以通过 JavaScript 修改配置,Parser 也可能在订阅进入内核前做转换。新客户端未必支持相同脚本接口。迁移时先判断旧逻辑究竟做了什么:添加规则、修改 DNS、改变端口,还是插入代理组。能用标准 YAML 表达的内容,应改写为客户端的全局扩展、合并覆写或脚本覆写。
例如原 Mixin 只把日志级别改成 info 并开启局域网访问,就没有继续保留脚本的必要。直接在新客户端「设置」→「参数设置」中调整对应选项更清楚。若要开放局域网,还应限制监听地址并检查系统防火墙,避免把控制端口暴露到不受信任的网络。
DNS 先用订阅默认值
DNS 是迁移中最容易出现“节点可用但网页打不开”的部分。旧配置可能使用 fake-ip,新客户端也可能默认启用流量嗅探。两者与系统安全软件、局域网域名、虚拟机网络之间可能产生差异。首次运行时先使用订阅提供的 DNS 段,确认代理工作正常后,再恢复自定义 nameserver、fallback 或 fake-ip-filter。
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5
- 1.1.1.1
198.18.0.0/15 属于基准测试用途地址范围,常被 Fake-IP 模式用于本地映射。看到连接记录指向这段地址不等于远端网站真实使用该 IP。出现局域网设备、打印机或特定应用解析异常时,应先检查域名是否需要加入 Fake-IP 排除列表,而不是立即关闭整套 DNS 模块。
系统代理与 TUN 的迁移顺序
系统代理适合浏览器、聊天工具和明确读取操作系统代理设置的软件。TUN 模式在网络层接管更多流量,适合游戏启动器、命令行程序、部分商店应用和不读取系统代理的软件。两者并不是速度档位,也不是必须同时开启的两个开关。
先用系统代理完成基础验证
- 退出旧 Clash 客户端,关闭残留的系统代理。
- 启动新客户端并选择有效节点。
- 把代理模式设为「规则」。
- 开启「系统代理」,保持 TUN 关闭。
- 访问直连与代理目标,并在连接列表中检查命中规则。
这一步成功后,说明订阅、端口和基本规则正常。如果一开始就开启 TUN,故障范围会同时包含虚拟网卡、路由、DNS 和权限,不利于定位。Windows 上还要检查「设置」→「网络和 Internet」→「代理」,确认手动代理地址指向 127.0.0.1 和当前监听端口。
需要全局接管时再开启 TUN
Clash Verge Rev 桌面端通常会要求安装或启用服务组件,FlClash 首次开启 TUN 也会触发系统授权。Windows 应允许网络组件完成安装;macOS 需要在「系统设置」→「网络」或隐私与安全相关提示中批准;Linux 则可能需要配置权限与路由能力。完成授权后重新启动客户端,再开启 TUN。
实际观察可用连接建立时间,而不是只盯着延迟数字。以同一网络、同一节点为例,系统代理下网页首个连接约 180 毫秒,TUN 下约 190 至 230 毫秒都属于常见波动;如果开启 TUN 后持续超过 2 秒,或 DNS 查询反复超时,就应检查 DNS 劫持、IPv6、MTU 和其他虚拟网卡,而不是直接更换全部规则。
迁移失败时按现象排查
订阅更新失败或返回空配置
- 在订阅服务后台重新复制 URL,避免地址末尾混入空格。
- 确认订阅没有过期,并检查服务端是否限制更新时间或请求频率。
- 旧客户端能更新、新客户端不能更新时,比较 User-Agent 要求与网络路径。
- 先关闭覆写;原始订阅能加载后,再逐项恢复附加配置。
配置提示 YAML 解析错误
YAML 使用空格表示层级,Tab、全角冒号和错误缩进都会造成解析失败。报错若指向第 48 行,问题也可能来自第 47 行未闭合的引号。把自定义内容缩减到最小段落,再逐块加入,比反复点击更新更有效。节点名称包含冒号、井号或特殊符号时,应使用引号包裹。
系统代理已开,但浏览器仍直连
- 检查浏览器是否安装了独立代理扩展,扩展可能覆盖系统设置。
- 确认监听地址是
127.0.0.1,端口与系统代理一致。 - 查看连接列表;没有新连接通常表示流量没有进入客户端。
- 命中
DIRECT则检查规则顺序,命中代理但失败则检查节点。
开启 TUN 后无法解析域名
先关闭 TUN,确认系统代理模式恢复正常。然后检查 DNS 是否启用、nameserver 是否可达、Fake-IP 排除项是否覆盖局域网域名。Windows 可在终端执行 ipconfig /flushdns 清理系统缓存;macOS 可先切换一次网络连接,再重新测试。不要在同一次排查中同时更改 DNS、MTU、IPv6 和规则,否则无法判断哪项调整有效。
迁移完成后的验收清单
完成迁移不等于看到节点显示绿色。应从配置更新、规则命中、系统接管和重启恢复四个方面验收。以下项目全部通过后,再卸载旧客户端并删除不再使用的配置副本。
- 订阅可以手动更新,更新后代理组与节点正常出现。
- 规则模式下,直连目标命中
DIRECT,代理目标命中预期策略组。 - 系统代理关闭后流量恢复直连,开启后进入新客户端。
- 需要 TUN 的应用能够建立连接,局域网和打印设备仍可访问。
- 重启系统后,开机启动与自动连接行为符合预期。
- 订阅更新不会覆盖本地覆写,手写规则仍保持正确顺序。
- 旧客户端不再驻留托盘,也没有继续监听 7890 或 9090 端口。
对多数用户而言,最稳妥的路径是:备份旧资料,安装一个仍维护的 mihomo 客户端,只导入主要订阅,用系统代理验证,再恢复规则与 DNS,最后按需要开启 TUN。FlClash 更适合同时覆盖桌面与 Android 的使用方式;Clash Verge Rev 更适合以桌面配置管理和系统集成为主的环境。选定一套后保持配置来源清楚,比长期并行运行多个客户端更容易维护。