各平台通用规则:$HOME/.config/clash是标准路径
Clash核心规定的默认配置目录
Clash及其核心分支在设计和代码层面约定的默认配置目录为$HOME/.config/clash。其中$HOME代表当前用户的主目录,在Windows上为C:\Users\用户名,在macOS和Linux上为/Users/用户名或/home/用户名。该目录下存放的核心文件是config.yaml,也就是Clash的主配置文件。如果首次运行Clash时没有通过-d参数指定其他目录,核心会自动在该路径创建配置目录并生成默认配置模板。
通过命令行参数自定义配置目录
Clash核心提供了-d参数用于手动指定配置目录,在需要多实例运行或不想使用默认路径的场景中非常实用。例如执行clash -d /etc/clash可以让Clash从/etc/clash目录读取配置文件,这在Linux服务器部署中尤其常见。如果使用systemd服务管理Clash,可以在服务文件的ExecStart中添加-d参数指定自定义路径,实现配置文件的集中管理。如果习惯将配置文件放在当前工作目录,也可以执行clash -d .让Clash在当前目录下寻找config.yaml。
配置目录的自动创建机制
首次运行Clash核心时,如果$HOME/.config/clash目录不存在,Clash会自动创建该目录,并在其中生成一个包含默认配置的config.yaml文件。同时核心还会尝试从网络下载GeoIP数据库文件(Country.mmdb),用于基于地理位置的分流规则匹配。如果网络环境无法下载该数据库,Clash虽能启动但基于GEOIP的规则可能无法正常工作,需要手动将数据库文件放入配置目录中。自动生成的配置模板包含了port、socks-port、allow-lan、mode和rules等关键字段的注释示例。
Windows平台:Clash for Windows的配置目录位置
默认存放路径与快速访问方式
原版Clash for Windows的配置文件默认存储在用户目录下的.config\clash文件夹中,完整路径为C:\Users\用户名\.config\clash。该目录下除了config.yaml主配置文件外,还包含Country.mmdb(GeoIP数据库文件)。在Clash for Windows主界面的General(常规)页面中,点击”Home Directory”下方的路径文字可以直接打开该文件夹,这是最快捷的访问方式,无需手动在文件管理器中逐层导航。
安装版与便携版的路径差异
通过Setup安装程序安装的Clash for Windows,其配置目录依然位于C:\Users\用户名\.config\clash,与便携版(绿色版)的配置位置一致。但安装版还会在程序安装目录(如C:\Program Files\Clash for Windows)中存放程序文件,而配置文件统一放在用户目录下。便携版如果通过7z压缩包解压使用,配置文件同样在C:\Users\用户名\.config\clash,不受程序所在位置的影响。部分第三方打包版本可能将配置存储在C:\Program Files (x86)\clash\Data路径下,但这种情况较为少见。
Clash Verge Rev等新客户端的配置位置
Clash Verge Rev作为原Clash Verge的社区延续分支,其配置文件存储位置与原版有所不同。该客户端采用Tauri框架开发,配置和数据文件通常存放在%USERPROFILE%\.config\clash-verge目录中。如果使用便携版(绿色免安装版本),配置文件会保存在程序所在目录中。在Clash Verge Rev的设置页面中,通常提供”打开数据目录”或”打开配置文件夹”的按钮,点击即可直达配置目录。
macOS平台:ClashX与Clash Verge Rev的配置位置
ClashX的默认配置目录
在macOS系统上,ClashX的配置文件默认存放在用户主目录下的隐藏文件夹中,完整路径为/Users/用户名/.config/clash/config.yaml。由于.config文件夹默认是隐藏的,在访达中需要按下Cmd+Shift+.快捷键显示隐藏文件后才能看到。点击菜单栏的ClashX图标,选择”配置”子菜单中的”打开配置文件夹”即可直达配置目录,这是最便捷的访问方式。如果通过终端操作,可以使用open ~/.config/clash/命令快速打开该目录。
Clash Verge Rev在macOS上的配置路径
Clash Verge Rev在macOS系统上的配置目录遵循类似的规则,通常位于~/.config/clash-verge。该客户端与ClashX使用不同的配置目录,两者可以在同一台Mac上并存而互不干扰。在Clash Verge Rev的设置页面中可以找到”打开数据目录”或”打开配置文件夹”的按钮,点击后访达会自动跳转到对应的配置目录。如果从原版Clash Verge迁移到Rev分支,旧配置文件不会自动同步,需要手动复制或重新导入订阅。
macOS应用包结构与配置文件分离
macOS上的Clash客户端(ClashX、Clash Verge Rev等)本质上是.app格式的应用包,应用本身(可执行文件和界面资源)存放在/Applications目录中,而配置文件(用户数据)则独立存放在~/.config/下。这种”应用与数据分离”的设计符合macOS的沙盒规范,删除应用时配置文件不会自动清除,卸载后需要手动清理配置目录。了解这一分离机制有助于在重装或迁移时保留已有的配置数据。
Linux平台:服务器部署与桌面环境的配置目录
标准配置路径与手动指定方式
在Linux系统上,Clash的默认配置目录为$HOME/.config/clash,配置文件为config.yaml。首次运行Clash核心时,程序会自动在~/.config/clash/目录下生成配置模板文件和GeoIP数据库文件。如果使用root用户运行,配置目录则为/root/.config/clash。在服务器部署场景中,通常通过-d参数将配置目录指定为/etc/clash或/etc/mihomo,例如/usr/local/bin/mihomo -d /etc/mihomo,便于使用systemd服务统一管理。
通过包管理器安装的配置位置
如果通过系统包管理器(如apt install clash)安装Clash,配置目录可能与手动安装有所不同。部分发行版将配置文件放在/etc/clash/clash.yaml路径下,而非用户主目录中。这种系统级配置目录适合多用户共用同一份配置的场景。安装完成后可以通过sudo service clash start启动服务,配置文件位于/etc/clash/clash.yaml。由于不同发行版和版本的包维护策略存在差异,建议在安装后查看包文档或使用find /etc -name "*clash*"命令确认具体路径。
配置目录中文件的权限要求
在Linux环境下,Clash进程需要读取配置目录中的config.yaml文件,如果配置文件权限设置不当,Clash可能因”permission denied”错误而无法启动。通常建议将配置文件的属主设置为运行Clash的用户,权限设置为644(用户可读写,组和其他用户只读)。如果使用systemd服务以非root用户身份运行Clash,需要确保该用户对配置目录有读取权限。GeoIP数据库文件(Country.mmdb)的权限要求与配置文件相同,缺少读取权限会导致基于地理位置的分流规则失效。
不同客户端的配置目录对比与特殊说明
原版Clash核心与各GUI客户端的目录差异
原版Clash核心的配置文件默认存放在$HOME/.config/clash/config.yaml,这是所有Clash衍生版本的基础约定。Clash for Windows(原版)沿用了这一标准,配置目录同样为C:\Users\用户名\.config\clash。ClashX在macOS上同样遵循~/.config/clash的规则。而Clash Verge Rev等新版本客户端为了不与旧版本冲突,将配置目录改为~/.config/clash-verge,实现了新旧客户端的配置隔离。Clash Meta(mihomo)核心的默认配置目录为~/.config/mihomo,与原版Clash有所区分。
配置目录中的核心文件说明
无论使用哪个客户端,配置目录中最重要的文件都是config.yaml——这是Clash的核心配置文件,包含了代理节点(proxies)、策略组(proxy-groups)和路由规则(rules)等全部配置信息。此外Country.mmdb或geoip.dat是用于GEOIP规则匹配的IP地理位置数据库文件,缺少该文件会导致基于国家地区的分流规则失效。部分客户端还会在配置目录中创建profiles子目录,用于存放通过订阅链接导入的多个配置文件,方便在多个配置间切换。
配置目录找不到时的排查方法
如果按照默认路径查找配置目录时发现不存在,可能是因为Clash尚未运行过——首次运行后Clash才会自动创建配置目录和默认配置文件。也可能是因为客户端使用了非标准的自定义路径,可以检查客户端的启动参数或设置页面中是否指定了其他配置目录。在Clash for Windows的General页面中点击”Home Directory”路径可以直达实际使用的配置目录。如果通过订阅链接导入配置,客户端可能已将配置保存在子目录中,而非直接修改根目录下的config.yaml,可以在Profiles列表中查看已导入的配置条目来定位具体文件位置。
常见问题 FAQ
Clash Verge Rev的配置目录和原版Clash一样吗?
不一样。原版Clash(含Clash for Windows、ClashX)的配置目录为~/.config/clash,而Clash Verge Rev使用~/.config/clash-verge作为独立的配置存储位置,两者互不干扰,可以在同一台设备上共存。
Linux服务器上通过apt安装的Clash,配置文件在哪里?
通过apt install clash安装的Clash,配置文件通常位于/etc/clash/clash.yaml,与手动安装版本的~/.config/clash/config.yaml位置不同。这是由于包管理器的默认配置策略将配置文件放在系统目录而非用户目录中,便于多用户共用。
配置目录下的Country.mmdb文件是干什么用的?
Country.mmdb是MaxMind的IP地理位置数据库,Clash利用它来执行GEOIP规则匹配,实现"根据目标IP所属国家分流"的功能。如果缺少该文件,配置文件中所有基于GEOIP的规则都不会生效。首次运行Clash时会自动尝试下载该文件,网络不通时需要手动放入配置目录。
重装系统前如何备份Clash配置?
只需要备份配置目录(~/.config/clash或~/.config/clash-verge)下的所有文件,包括config.yaml、Country.mmdb以及profiles子目录中的订阅缓存文件。重装系统后,将备份的整个目录复制到新系统的相同路径下,重新安装Clash客户端即可恢复所有配置。
