Clash配置备份与迁移:换设备不丢设置
目录
花时间精心配置的Clash规则、DNS设置、策略分组,如果因为换电脑、重装系统或者客户端更新而丢失,那绝对是一场灾难。很多用户在遇到这种情况后不得不从头开始配置,费时费力。
这篇教程将系统讲解Clash配置的备份与迁移方法,让你在任何情况下都能快速恢复工作环境。
为什么需要备份Clash配置
Clash配置不仅仅是一个订阅链接。一个成熟的用户通常花了大量时间调整:
- 自定义规则(rules):哪些网站走代理、哪些直连,这些规则是根据你的实际需求逐步完善的
- DNS配置:防污染DNS、Fake-IP设置、域名解析策略,配置不当会导致各种问题
- 策略组(proxy-groups):针对不同场景设置的策略组结构
- 本地覆写(override/mixin):针对特定客户端的调整
- 外部配置引用(profile):引用的规则集、IP集等外部资源
- 客户端偏好设置:端口号、日志级别、TUN模式等
一旦丢失,即使你记得大致思路,重新配置也需要大量时间。更糟糕的是,如果忘记了某些细节配置,可能会导致一些微妙的网络问题难以排查。
配置文件的位置(各平台)
不同客户端的配置文件存放位置不同,备份前需要先找到它们:
Windows
- Clash for Windows:
C:\Users\你的用户名\.config\clash\ - Clash Verge Rev:
C:\Users\你的用户名\.local\share\io.github.clash-verge-rev.clash-verge-rev\ - Clash Verge(旧版):
C:\Users\你的用户名\.local\share\io.github.clash-verge-rev.clash-verge-rev\ - FlClash:
C:\Users\你的用户名\.config\flclash\
macOS
- ClashX / ClashX Pro:
~/.config/clash/ - Clash Verge Rev:
~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/ - FlClash:
~/.config/flclash/
Android
- Clash for Android:
/sdcard/Android/data/com.github.kr328.clash/files/或通过应用内导出 - Clash Meta for Android:
/sdcard/Android/data/com.github.metacubex.clash.meta/files/
Linux
- Clash(通用):
~/.config/clash/ - Clash Verge Rev:
~/.local/share/io.github.clash-verge-rev.clash-verge-rev/
如果你不确定配置目录在哪里,可以在客户端的设置页面中查找。大部分客户端都会在设置中显示当前配置目录的路径。Clash Verge Rev在"设置 → Clash内核 → 配置目录"中可以直接看到并打开。
哪些内容需要备份
完整的备份应该包含以下内容:
- config.yaml:主配置文件,包含所有规则、策略组、代理、DNS等核心配置。这是最重要的文件。
- 订阅配置文件(profiles):你导入的订阅配置,通常存储在
profiles/目录下。 - 规则文件(rules):如果使用了外部规则文件(如
.yaml或.mrs格式的规则集),需要一并备份。 - Country数据库:
Country.mmdb或GeoLite2-ASN.mmdb等地理IP数据库文件。 - 缓存文件(可选):
cache.db包含DNS缓存和Fake-IP映射。不备份不影响功能,但恢复后需要重新建立缓存。 - 客户端配置(可选):各客户端特有的设置文件,如Clash Verge Rev的
verge.yaml。
以下文件不需要备份,可以在新设备上重新生成或下载: - 日志文件(logs目录) - 临时文件 - 过期的缓存数据
手动备份方法
方法一:直接复制整个配置目录
- 关闭Clash客户端(确保完全退出,不是最小化)
- 打开文件资源管理器,导航到配置目录(如
C:\Users\你的用户名\.config\clash\) - 选中整个
clash文件夹 - 复制到你想要备份的位置(U盘、网盘、其他文件夹等)
- 建议重命名加上日期,如
clash-backup-20260726
- 关闭Clash客户端
- 打开终端
- 执行复制命令:
# 备份整个配置目录
cp -r ~/.config/clash/ ~/Desktop/clash-backup-20260726/
# 或者打包为压缩文件
tar -czf ~/Desktop/clash-backup-20260726.tar.gz ~/.config/clash/
方法二:使用客户端内置导出功能
部分客户端提供了配置导出功能:
- Clash Verge Rev:设置 → 备份与恢复 → 导出配置(会生成一个包含所有设置的备份文件)
- Clash for Android:设置 → 导出配置(生成可导入的配置文件)
- Clash Meta for Android:同上,在设置中找到导出选项
客户端内置导出功能会打包所有相关配置,比手动复制更不容易遗漏。建议优先使用内置导出功能。手动复制配置目录作为备选方案。
自动备份方案
方案一:定时任务 + 本地备份
使用系统定时任务定期将配置目录备份到指定位置:
Windows:使用任务计划程序
- 创建一个备份脚本
backup-clash.bat:
@echo off
set SOURCE=C:\Users\你的用户名\.config\clash
set BACKUP=D:\Backup\clash
set DATE=%date:~0,4%%date:~5,2%%date:~8,2%
xcopy /E /I /Y "%SOURCE%" "%BACKUP%\clash-backup-%DATE%"
echo Backup completed at %DATE% >> "%BACKUP%\backup-log.txt"
- 打开"任务计划程序"(搜索"task"即可找到)
- 创建基本任务 → 命名"Clash配置备份"
- 触发器:每天 → 设置时间(如凌晨2点)
- 操作:启动程序 → 选择你的备份脚本
- 完成创建
macOS/Linux:使用cron
# 编辑crontab
crontab -e
# 添加以下行(每天凌晨2点备份)
0 2 * * * cp -r ~/.config/clash/ ~/Backup/clash-backup-$(date +\%Y\%m\%d)/
# 或者使用更完善的rsync方案
0 2 * * * rsync -av --delete ~/.config/clash/ ~/Backup/clash-latest/
方案二:云同步(推荐)
使用云盘同步工具(如坚果云、OneDrive、Dropbox)同步配置目录:
- 安装并登录坚果云客户端
- 右键点击配置目录(如
~/.config/clash/) - 选择"坚果云 → 同步到坚果云"
- 配置文件将自动实时同步到云端
- 将配置目录移动到OneDrive同步目录内
- 或者使用OneDrive的"添加文件夹"功能将配置目录加入同步
- 配置文件将自动同步到OneDrive云端
如果你的配置文件中包含代理服务器的密码等敏感信息,建议使用加密云盘或对备份文件加密后再上传。另外,避免在多台设备上同时编辑同一个同步目录中的配置文件,可能产生冲突。
跨平台迁移:Windows到Mac
从Windows迁移到Mac是最常见的跨平台迁移场景。以下是详细步骤:
- 关闭Clash客户端
- 找到配置目录(如
C:\Users\你的用户名\.config\clash\) - 打包为zip文件:
clash-config-windows.zip - 通过U盘、网盘或网络传输到Mac
- 下载Mac版Clash客户端(推荐Clash Verge Rev或FlClash)
- 安装并首次运行(让它自动创建配置目录结构)
- 运行后立即关闭客户端
- 解压Windows的配置文件
- 将
config.yaml复制到Mac的配置目录~/.config/clash/ - 如果有外部规则文件,一并复制到对应位置
- 复制
Country.mmdb等数据库文件 - 重新启动Clash客户端
- 检查端口配置是否与Mac上其他应用冲突
- 如果需要TUN模式,在Mac上需要安装额外的驱动(通常客户端会提示)
- 调整系统代理设置(Mac的系统代理设置路径与Windows不同)
- 重新设置开机自启动
需要注意的平台差异
| 配置项 | Windows | macOS |
|---|---|---|
| 配置目录 | ~\.config\clash\ |
~/.config/clash/ |
| TUN模式 | 需要管理员权限 | 需要安装utun驱动 |
| 系统代理 | 通过注册表设置 | 通过网络设置设置 |
| 路径分隔符 | \(反斜杠) |
/(正斜杠) |
如果你的config.yaml中使用了绝对路径引用规则文件或其他资源,迁移后需要修改路径。建议始终使用相对路径或~(home目录)引用,这样跨平台迁移时无需修改。
跨平台迁移:手机到新手机
Android到Android
- 在旧手机上打开Clash客户端
- 进入设置 → 找到"导出配置"或"备份"选项
- 导出的文件保存到手机存储
- 将文件传输到新手机(通过蓝牙、文件传输、网盘等)
- 在新手机上安装相同客户端
- 进入设置 → 导入配置 → 选择传输过来的备份文件
- 在新手机上安装Clash客户端
- 直接粘贴你的订阅链接导入
- 如果之前的规则是在本地修改的,需要手动重新配置
- 如果你的自定义配置在云端(如通过URL引用的远程配置),则会自动获取
将自定义规则和配置放在远程服务器上(如GitHub Gist),然后在Clash中通过URL引用。这样换设备时只需要导入一个URL,所有配置自动获取,无需手动迁移。
从Clash for Windows迁移到Clash Verge Rev
由于Clash for Windows已经停止维护,越来越多的用户迁移到Clash Verge Rev。虽然两者都基于Clash内核,但配置格式有些差异。
- 关闭Clash for Windows
- 导航到
C:\Users\你的用户名\.config\clash\ - 复制整个
clash目录作为备份 - 记录
config.yaml中的关键自定义内容(规则、策略组、DNS等)
- 从GitHub下载并安装Clash Verge Rev
- 首次运行时,它会在自己的目录创建默认配置
- 导入你的订阅链接
- Clash Verge Rev使用"覆盖(Override)"机制来修改配置
- 在"订阅"页面点击你的订阅 → 编辑 → 使用"脚本编辑"或"覆写编辑"
- 将Clash for Windows中自定义的规则、DNS配置等迁移到覆盖配置中
配置迁移对照表
- System Proxy开关:CFW主界面 → Verge Rev主界面"系统代理"开关
- TUN Mode:CFW的
enable-tun: true→ Verge Rev的TUN模式开关 - Mixin配置:CFW的
mixin功能 → Verge Rev的"覆写(Override)"功能 - Profiles:CFW的配置文件管理 → Verge Rev的"订阅"页面
- Script:CFW的预处理脚本 → Verge Rev的"脚本"功能(支持JavaScript/Lua)
# Verge Rev覆写示例 (YAML格式)
# 用于在订阅配置基础上追加自定义内容
prepend-rules:
- "DOMAIN-SUFFIX,google.com,Proxy"
- "DOMAIN-SUFFIX,youtube.com,Proxy"
prepend-proxies:
- name: "自定义节点"
type: vmess
server: example.com
port: 443
uuid: your-uuid
alterId: 0
cipher: auto
mixin-config:
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- tls://8.8.8.8:853
多设备同步配置方案
方案一:远程配置 + 本地覆写
这是最推荐的多设备同步方案:
# 核心配置放在远程服务器(GitHub Gist / 自建服务器)
# 通过订阅链接引用
proxy-providers:
my-sub:
type: http
url: "https://your-server.com/config.yaml"
interval: 3600
path: ./proxy-providers/my-sub.yaml
# 本地覆写只保留设备特定的设置
# 如端口号、TUN模式开关等
工作原理:
- 核心规则、策略组、代理信息放在远程配置中,所有设备共享
- 每个设备的本地覆写只包含该设备特定的设置(如端口、TUN等)
- 更新远程配置后,所有设备自动获取最新配置
方案二:云盘同步
使用云盘同步配置目录,适合个人多设备使用:
# 目录结构示例
CloudDrive/
└── clash-config/
├── config.yaml # 主配置
├── rules/ # 规则文件
│ ├── proxy-rules.yaml
│ └── direct-rules.yaml
├── verge.yaml # Verge Rev设备设置(每台设备不同)
└── README.md # 说明文件
不同设备的客户端配置(如端口号、TUN模式开关)可能不同。如果直接同步整个配置目录,一台设备的设置变更会影响所有设备。建议将"共享配置"和"设备特定配置"分离。
方案三:Git管理(高级)
对于技术用户,使用Git管理配置是最强大的方案:
- 创建私有Git仓库(GitHub/GitLab私有仓库)
- 将Clash配置文件初始化到仓库中
- 每台设备clone仓库并创建符号链接到配置目录
- 修改配置后commit + push,其他设备pull获取更新
# 在Linux/Mac上创建符号链接
# 先备份原配置目录
mv ~/.config/clash ~/.config/clash.bak
# 创建符号链接指向Git仓库
ln -s ~/Projects/clash-config ~/.config/clash
# 同步更新
cd ~/Projects/clash-config && git pull
常见迁移问题与解决
问题1:迁移后节点全部超时
可能原因:
- 订阅链接需要重新导入(部分客户端的订阅绑定了设备标识)
- DNS配置不兼容新平台
- 防火墙规则不同导致端口被阻止
解决方案:手动更新订阅。检查DNS配置是否需要针对新平台调整。确认端口未被本地防火墙阻止。
问题2:规则不生效
可能原因:
- 外部规则文件路径不正确
- 规则集文件(.mrs/.yaml)没有一起迁移
- 内核版本不同导致某些规则语法不支持
解决方案:检查所有外部引用文件的路径是否正确。确保规则集文件已完整迁移。查看日志确认是否有规则解析错误。
问题3:TUN模式无法使用
可能原因:
- 新平台缺少必要的驱动或权限
- macOS需要额外安装utun驱动
- Linux需要设置capabilities
解决方案:按新平台的要求设置TUN模式所需的环境。详见本站的TUN模式配置指南。
问题4:部分应用不走代理
可能原因:
- 新平台的系统代理机制不同
- 某些应用不遵守系统代理设置
- TUN模式未开启
解决方案:开启TUN模式接管所有流量。或在新平台上配置分应用代理(Android支持)。
- 确认所有节点可正常连接
- 确认规则模式下国内网站直连、国外网站走代理
- 确认DNS解析正常(无泄漏)
- 确认需要的应用都走代理
- 确认TUN模式(如使用)正常工作
- 确认开机自启动已设置