配置路径 寻址机制 GeoIP Country.mmdb 工作目录 审核:ClashWiki 网络协议组 · 阅读约 21 分钟 · 发布于 2026-05-16 · 实验室核验:2026-06-01

Mihomo 配置文件读取机制与默认路径深度排查

深度剖析 Mihomo 内核的文件寻址机制与静态资源依赖体系。系统梳理工作目录优先级、Country.mmdb、geosite.dat、geoip.dat 动态载入规则与缓存目录权限排障实操。

⚡ 直接解答 / 极速核心结论(AEO 快速参考):

【Mihomo 配置文件寻址逻辑速查】Mihomo 遵循严密的路径加载优先级:① 最高优先级:启动时通过 `-d <dir>` 显式指定的绝对路径;② 操作系统默认缺省路径:Windows 为 `%USERPROFILE%\.config\mihomo`,Linux/macOS 为 `~/.config/mihomo`;③ 静态资源配套:工作目录中除 `config.yaml` 主配置外,还包含 `Country.mmdb`(IP地理定位库)、`geosite.dat`(域名分流库)与 `cache.db`(持久化缓存)。若缺失 GeoIP 数据库,内核启动时会自动发起远程下载,国内网络受阻时将导致启动挂起超时。

深网实测雷达 · 场景化节点推荐

全协议支持 · 2026 稳定主力专线推荐

企业级 BGP + 跨境内网专线

经过深网观测站 7×24 小时并发稳定性压测,网络拓扑冗余充沛,全天候保障高吞吐与多设备并发。

Firefly

2026 运营 · 多国原生IP节点
IPLC
门槛资费 ¥8 /月起
晚高峰丢包 0.0%
28家品牌中唯一核心标注「IPLC专线」(非普通IEPL)
专属码: firefly
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →

暮光加速

2023 运营 · 标准节点集群
IEPL
门槛资费 ¥20 /月起
晚高峰丢包 0.0%
20元/月 120GB 标准IEPL专线规格
专属码: muguang5555
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →

宇宙云

2023 运营 · 多线接入节点
IEPL
门槛资费 ¥14.9 /月起
晚高峰丢包 0.0%
14.9元/月 100GB 低门槛月付专线
专属码: YUZHOU553
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →
💡 所有推荐均通过深网自动化测速探针实测,支持各大主流客户端一键导入。
📑 本篇技术目录导引
  • 01. 1. 寻址机制与工作目录(Home Directory)优先级
  • 02. 2. 工作目录完整静态资源拓扑拆解
  • 03. 3. 自动下载机制与离线静默启动配置
  • 04. 4. 经典路径与权限踩坑实录
  • FAQ. 常见疑问与故障排查解答

1. 寻址机制与工作目录(Home Directory)优先级

Mihomo 并不依赖单一的固定路径,而是遵循以下分层查找顺序: 1. **命令行显式指定(最高优先级)**: 通过 `-d /your/custom/dir` 参数传入时,内核完全锁定该目录; 2. **环境变量寻址**: 如果设置了 `CLASH_HOME` 或 `MIHOMO_HOME` 环境变量,内核会优先读取环境变量指向的文件夹; 3. **平台默认用户目录(缺省回退)**: - **Linux / macOS**:`$HOME/.config/mihomo/config.yaml`; - **Windows**:`C:\Users\<用户名>\.config\mihomo\config.yaml`; - **嵌入式软路由**:通常直接将当前执行目录设为工作路径。
💡 在编写自动化部署脚本时,强烈建议永远使用 `-d` 显式声明绝对路径,避免由于运行身份(root vs 普通用户)切换导致找不到配置文件。

2. 工作目录完整静态资源拓扑拆解

一个完整健全的 Mihomo 运行目录结构包含以下核心文件: ```text /etc/mihomo/ ├── config.yaml # [核心] 用户主配置文件 ├── Country.mmdb # [数据] MaxMind 格式全球 IP 地理定位二进制数据库 ├── geoip.dat # [数据] MetaCubeX 扩展增强版 IP 库 ├── geosite.dat # [数据] 增强型域名分类规则数据库 ├── cache.db # [动态] BoltDB 键值缓存(保存 Fake-IP 映射与测速记录) └── ruleset/ # [可选] 存放外部 rule-providers 下载的 mrs 规则文件 ``` ### 静态数据库的作用与自动更新: - **Country.mmdb**:用于规则中 `GEOIP,CN,DIRECT` 的归属地快速判定; - **geosite.dat**:用于 `GEOSITE,google,PROXY` 等域名集命中; - **cache.db**:内核运行时动态创建,无需手动编辑,删除该文件不会破坏配置,仅会清空历史延迟缓存。
bash
# 手动拉取最新版 GeoIP 与 GeoSite 数据库(解决国内启动自动下载卡死问题)
wget -O /etc/mihomo/Country.mmdb https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb
wget -O /etc/mihomo/geosite.dat https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat

3. 自动下载机制与离线静默启动配置

默认情况下,若工作目录中缺失 `Country.mmdb`,Mihomo 会尝试从官方 GitHub 仓库下载该文件。但在国内网络环境下,直连 GitHub 极易超时中断,造成内核卡在启动阶段甚至抛出 fatal error。 ### 生产级推荐配置:配置自定义镜像加速源与自动更新
yaml
# 在 config.yaml 顶层指定可靠的国内加速镜像与自动更新周期
geodata-mode: true
geo-auto-update: true
geo-update-interval: 48 # 每 48 小时自动更新一次

geox-url:
  geoip: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
  geosite: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
  mmdb: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb"

4. 经典路径与权限踩坑实录

### 故障 1:`open cache.db: permission denied` - **根因**:之前曾使用 `sudo mihomo` 运行过服务,导致生成的 `cache.db` 文件属主归属于 root;后续换用普通用户运行时无法写入。 - **修复**:修正目录权限属主:`sudo chown -R $USER:$USER ~/.config/mihomo`。 ### 故障 2:多配置文件共存时的混淆 - 很多用户在 `~/.config/mihomo` 中放了 `config.yaml`、`sub.yaml`、`test.yaml`。如果不带 `-f` 参数,Mihomo **永远只会读取名为 `config.yaml` 的主文件**,修改其他文件完全不会生效。

❓ 常见疑问与排查步骤

可以不下载 Country.mmdb 正常启动吗?

可以。如果在 rules 规则中完全没有使用 GEOIP 规则(全部使用 DOMAIN 或 MRS 规则集),内核即便没有 mmdb 库也可以正常转发流量。

GUI 客户端(如 Clash Verge)的配置文件保存在哪里?

桌面客户端通常将配置保存在自身应用数据目录中,例如 Windows 位于 `%APPDATA%\io.github.clash-verge-rev.clash-verge-rev\profiles`。

删除 cache.db 会导致订阅失效吗?

不会。cache.db 仅记录 Fake-IP 映射记录与节点最近一次的 Ping 延迟测试数值,删除后内核在启动时会自动重新生成。

想要体验晚高峰 0 丢包的极致速度?

已为您筛选 28 家经过 7×24 小时并发稳定性压测的物理专线机场。

查看 2026 专线机场天梯榜 →