Clash 配置文件是什么:Profile 基础概念与多配置切换管理
Profile 是 Clash 的核心载体,决定节点、规则与策略组。本文说明配置文件的结构与来源,并给出多订阅并存时的命名、更新与切换方法,避免互相覆盖。
NT-05.1Profile 是什么
Clash 客户端启动后,界面上看到的节点列表、策略组、分流规则,全部来自同一份文件——习惯上称为 Profile,即配置文件。它本质是一份 YAML 文本,描述了「有哪些代理节点」「节点如何分组」「什么流量走什么策略组」这三件事。客户端本身只是一个执行器,不存储任何节点信息,所有行为都由当前加载的 Profile 决定。这也是为什么同一个客户端,换一份配置文件后,界面上的节点、分组、规则会完全变成另一套内容。
理解 Profile 的意义在于:遇到「节点不见了」「规则不对」「分组名字变了」这类问题时,第一反应不是怀疑客户端故障,而是先确认当前加载的是哪一份配置文件、这份文件最近有没有更新过。多数使用中的困惑,根源都在配置文件层面,而不是客户端程序本身。
NT-05.2配置文件的结构组成
一份标准的 Clash / mihomo 配置文件由若干顶层字段构成,常见字段及作用如下表。字段名区分大小写,书写时需与规范完全一致。
| 字段 | 作用 |
|---|---|
| proxies | 节点列表,逐条声明协议类型、地址、端口与鉴权参数 |
| proxy-groups | 策略组,把若干节点归为一组,并指定选择方式(手动/自动测速/负载均衡) |
| rules | 分流规则,按域名、IP、进程等条件把流量指向某个策略组 |
| rule-providers | 外部规则集引用,规则数量较大时避免写死在 rules 里 |
| dns | DNS 解析行为,包括 nameserver、enhanced-mode、fake-ip 范围等 |
| tun | 虚拟网卡相关开关,用于接管系统代理管不到的流量 |
一份最简结构大致如下,实际配置字段会更多,但骨架不变:
proxies:
- name: "示例节点"
type: vmess
server: example.example
port: 443
uuid: 00000000-0000-0000-0000-000000000000
proxy-groups:
- name: "自动选择"
type: url-test
proxies: ["示例节点"]
url: "http://www.gstatic.com/generate_204"
interval: 300
rules:
- DOMAIN-SUFFIX,example.com,自动选择
- MATCH,DIRECT
三段结构存在明确的依赖顺序:proxy-groups 引用 proxies 中声明的节点名称,rules 又引用 proxy-groups 中的策略组名称。任何一段的名称改动,如果没有同步改另外两段,就会出现「策略组找不到节点」或「规则指向一个不存在的分组」的报错,这是配置文件最常见的手写错误来源。
NT-05.3配置文件的来源:本地文件与订阅链接
配置文件通常有两种获取方式,决定了后续维护成本完全不同。
- 本地文件:手写或从他处下载的 YAML 文件,导入客户端后不会自动变化,节点失效需要手动替换整个文件。
- 订阅链接:一个 HTTP/HTTPS 地址,客户端定期请求该地址获取最新内容并覆盖本地缓存。节点池更新、到期提醒、流量信息通常都通过这个链接的响应头携带。
大多数客户端支持为订阅设置自动更新间隔,常见做法是设为每日一次或数小时一次。间隔过短会给订阅源服务器造成压力,部分服务商会对请求频率过高的客户端做限流甚至封锁,更新间隔没有必要设置得比服务商建议的更短。
NT-05.4多配置并存:命名、更新与切换
同时使用多个订阅是常见场景,比如一个日常使用、一个备用、一个专供某类应用测试。多份配置并存时,最容易出现的问题是互相覆盖:两份订阅在客户端里显示同样的默认名称,更新时选错对象,或者切换后忘记确认当前生效的是哪一份。以下几点可以降低出错概率。
- 导入订阅时立即重命名,加入用途与来源标记,例如区分「日常」与「备用」,不要保留客户端自动生成的默认名称。
- 更新前先确认当前选中的配置对象,再执行更新操作,避免在切换到另一份配置后误触了原来那份的更新按钮。
- 为不同用途的配置设置不同的自动更新间隔,长期不用的备用订阅可以关闭自动更新,减少后台请求。
- 切换配置后重新检查策略组选择状态,不同订阅的分组结构、命名可能不一致,切换后原本手动选定的节点未必还存在。
- 规则较多、自定义程度高的配置,建议保留一份本地备份,防止订阅源变更导致自定义规则被整体覆盖。
订阅更新是整份文件覆盖,而不是增量合并。如果在客户端界面里手动调整过节点分组或追加了自定义规则,下一次订阅更新会把这些手动改动一并抹掉,除非客户端本身支持独立的「用户规则」叠加机制。
NT-05.5常见排查思路
当界面出现「节点数量对不上」「规则不生效」「策略组消失」等现象,可以按以下顺序确认,大多数情况都能在配置文件层面找到原因,而不需要重装客户端。
- 确认当前生效的是哪一份配置文件,是否刚发生过自动更新。
- 打开配置文件原始内容,核对 proxy-groups 引用的节点名称是否都在 proxies 中存在。
- 核对 rules 中引用的策略组名称是否与 proxy-groups 中的名称完全一致,包括大小写与全半角符号。
- 如果使用了 rule-providers,确认外部规则集地址是否可访问、格式是否符合客户端要求。
- 排除配置文件本身问题后,再考虑节点服务端或本机网络环境的因素。
把配置文件当作可读、可核对的文本对待,而不是一个只能整体替换的黑箱,是长期稳定使用 Clash 系客户端的基础习惯。多份配置并存时,清晰的命名与更新纪律,比任何客户端功能开关都更能减少出错概率。