先分清版本与配置边界
本文按 2026 年 10 月 4 日可查的稳定版 ClashFX 1.1.11 编写;对照版本为标准 ClashX 1.140.0,以及历史 ClashX Pro 内部版本 1.118.0.1(归档镜像 tag 为 1.118.0)。版本号用于辨认客户端,不代表配置完全兼容。ClashFX 使用 mihomo 核心,旧配置里的规则语法、代理类型和运行行为可能需要调整。
名称容易混淆:ClashX-Pro/ClashX 仓库对应标准 ClashX,并非历史 ClashX Pro。旧 ClashX Pro 已停止更新;ClashFX Pro 页面介绍的是另一项尚在开发的产品,原生 SwiftUI 面板、实时流量图表等目前标为“即将推出”。1.1.11 源码树中虽有 AppKit 配置编辑器实现,但这不等同于上述 Pro 面板已经发布,也不能据此推断未来 Pro 功能都会免费。
首次启动前,分别备份新旧目录
标准 ClashX 的默认配置目录是 ~/.config/clash;ClashFX 使用 ~/.config/clashfx。ClashFX 1.1.11 在启动时会检查旧目录:只有新目录尚不存在、旧目录存在时,才把旧目录整体复制过去。新目录只要已经存在(包括之前创建的目录),自动迁移就会跳过。代码位置见 Paths.swift 与 启动流程。
先退出旧客户端,再在终端执行以下备份。它为两边各留一份带时间戳的副本;如命令报错,先处理错误并确认副本完整,再打开 ClashFX。不要删除原目录,也不要把包含订阅凭据的配置文件上传或公开分享。
(
set -e
task_stamp="$(date +%Y%m%d-%H%M%S)"
task_backup_dir="$HOME/.config/clash-migration-backup-$task_stamp"
mkdir -p "$HOME/.config"
mkdir "$task_backup_dir"
if [ -d "$HOME/.config/clash" ]; then
cp -a "$HOME/.config/clash" "$task_backup_dir/"
fi
if [ -d "$HOME/.config/clashfx" ]; then
cp -a "$HOME/.config/clashfx" "$task_backup_dir/"
fi
printf 'Backup: %s\n' "$task_backup_dir"
)mkdir 会在备份目录名已存在时停止,避免把新备份混进旧副本。保留终端显示的目录名,稍后回退时用得上。
若旧客户端使用自定义配置目录,先从其配置菜单打开实际目录,另行备份;上述命令只处理这两个默认路径。代码在子 shell 中执行,错误停止不会修改当前终端的 shell 选项。
启动后检查自动迁移;跳过时手动导入
备份完成后,安装并首次打开 ClashFX。自动迁移是文件夹复制:本地 YAML 配置、同目录规则文件、provider 数据及其他随文件保存的资源会一起复制,旧 ~/.config/clash 保持原样。打开 ClashFX 后,在“配置”菜单确认当前选择的配置;默认选择名未必是你之前正在使用的自定义配置。
如果 ~/.config/clashfx 早已存在,先确认其中内容已备份,再把旧目录里需要的 YAML 和依赖文件复制到 ClashFX 目录。保留原有子目录结构,让相对路径仍能找到文件;遇到同名文件时先停止并比对,改用新文件名或手工合并,不要直接覆盖。然后从“配置”菜单选择导入的 YAML。也可从服务商复制订阅 URL,在远程配置入口重新添加。
如果 YAML 已导入但策略列表缺项,检查文件中的 proxies、proxy-providers、proxy-groups 与 provider 定义;只拿到订阅 URL 时,应重新下载配置。服务商生成的新配置也可能与旧版内容不同,迁移前后的节点名、策略组和规则结果要分别确认。
目录复制不等于应用内订阅登记也被迁移。远程配置清单保存在应用偏好中,且两个项目使用不同的应用标识;复制文件夹不会搬运这份清单。因此即使订阅下载出的 YAML 已复制,ClashFX 的订阅列表和自动更新登记仍需重新建立。若列表为空,从服务商账户复制当前有效的订阅 URL 重新添加,并确认手动更新能成功;URL 可能含账户凭据,不要发给他人。有关存储方式可查看 RemoteConfigManager.swift。
日常使用前逐项核对规则与网络设置
整目录复制有助于保留依赖文件,但并不保证每条旧规则都能由新核心按原意运行。先在不开增强模式时启动配置、选择一个节点,查看应用日志中有无解析错误,再用常用网站和应用做小范围验证。重点核对:
| 项目 | 检查内容 |
|---|---|
| 配置与策略组 | 选对 YAML;确认 proxy-groups 引用的节点、组名都存在,手动选择节点后能连通。 |
| 规则与 provider | 检查 rules 的目标组名称;核对 rule-providers 的下载地址、文件路径和更新方式,确认本地引用的文件随迁移带齐。 |
| 相对路径 | 逐项检查配置、证书、规则集及自定义资源中的 path。若路径指向原配置目录以外的位置,复制文件夹不会自动改写它;保持相同目录结构或按当前路径修正。 |
| 端口与 DNS | 核对 HTTP、SOCKS、mixed、redir 等监听端口没有被其他程序占用,并检查 DNS 上游、Fake-IP 与绕过规则符合原有预期。 |
| 增强模式 / TUN | 先确认普通代理和规则运行正常,再按需启用 TUN;检查系统授权、路由和 DNS 结果。用不到时保持关闭,不要把“已能启动”当作全流量已验证。 |
ClashFX 与旧客户端使用的核心不同;出现未知字段、策略组成员缺失或 provider 加载错误时,先对照原文件和 ClashFX 日志逐项修正。不要仅凭配置编辑器能打开文件,就认定代理规则已正确生效。
回退时停掉一端,保留两套原始配置
若迁移后出现断网或行为异常,先在 ClashFX 关闭增强模式 / TUN,再关闭系统代理并完全退出应用;确认 ClashFX 已退出后再启动旧 ClashX 或历史 ClashX Pro。避免两端同时接管系统代理、TUN 或相同监听端口。自动迁移是复制,通常可直接由旧客户端继续读取原来的 ~/.config/clash。
切回旧客户端后,确认菜单栏系统代理状态与预期一致,并用常用应用验证一次连接。若旧客户端读不到配置,先检查配置菜单选择项及文件路径;再从备份中取回需要的副本,而不是清空或重建原目录。
不要通过删除目录来回退。若你在迁移后改过原配置,用备份副本恢复前先将当前目录另存一份,并比较文件;需要恢复的文件可从时间戳备份复制回去,遇到同名先留副本再手工选择。确认旧客户端可用后,再决定是否继续排查 ClashFX。历史 ClashX Pro 版本信息可见 归档的 1.118.0 发布页;这条旧产品线与未来的 ClashFX Pro 无关。
常见问题
原来的订阅和配置会自动出现吗?
若首次启动时 ClashFX 的配置目录不存在,旧目录中的 YAML 和随目录保存的文件会整体复制;应用内订阅清单可能不会出现,需要重新添加订阅 URL。启动后在“配置”菜单检查并选择正确的 YAML。
ClashFX 已经启动过,怎么迁移?
先备份 ClashFX 现有目录,再将需要的 YAML 与其 provider、规则集等依赖文件复制进去,保留相对目录结构并避开同名覆盖。随后从配置菜单选择文件,并重新添加未显示的远程订阅。
能同时开着 ClashX 和 ClashFX 吗?
迁移和回退期间不要让两者同时接管系统代理或 TUN,也不要让它们争用相同监听端口。切换前先关闭当前客户端并确认退出。
ClashFX Pro 是旧版 ClashX Pro 的新版吗?
不是。旧 ClashX Pro 是已停止更新的历史客户端;ClashFX Pro 页面列出的原生 SwiftUI 面板等功能仍标为即将推出。按当前 ClashFX 稳定版实际提供的功能操作,不要假设两者配置、功能或收费方式相同。
资料来源与适用范围
资料核对日期:2026-10-04。版本功能以文中标注的稳定版或官方资料为准;网络排查需在自己的配置与环境中验证。