Clash 配置文件(YAML)结构详解
机场订阅下载下来其实就是一个 .yaml 文本文件。第一次打开会被几百行内容劝退,但它的骨架很简单:开头一堆全局开关,中间是节点和策略组,末尾是分流规则。把这三大块的关系理顺,你再看任何配置都不慌。
先懂一点 YAML 语法
YAML 靠缩进表达层级,规矩就两条,记住能省一半的报错:
- 只能用空格缩进,不能用 Tab。这是新手最常踩的雷,一个 Tab 就能让整份配置加载失败。
- 冒号后面要有空格:
port: 7890对,port:7890错。
key: value 是键值对;以 - 开头的是列表项;缩进相同的属于同一层。就这么点东西。
配置文件的整体骨架
结构示意图顶部全局开关、中部节点与分组、底部分流规则。
顶层常用字段
| 字段 | 作用 |
|---|---|
port / socks-port / mixed-port | 本地监听端口,见 端口说明 |
mode | 运行模式:rule / global / direct,见 模式区别 |
log-level | 日志详细程度:info / warning / debug |
allow-lan | 是否允许局域网设备连,见 局域网共享 |
dns | DNS 解析策略,见 DNS 配置 |
tun | TUN 虚拟网卡相关,见 TUN 模式 |
三块核心:节点 · 策略组 · 规则
看这段带注释的最小骨架,三块怎么串起来一目了然:
proxies: # ① 有哪些节点
- { name: "香港01", type: ss, server: x.x.x.x, port: 443, ... }
proxy-groups: # ② 节点怎么分组
- name: "节点选择"
type: select
proxies: ["香港01", DIRECT]
rules: # ③ 什么流量走哪个组
- DOMAIN-SUFFIX,google.com,节点选择
- GEOIP,CN,DIRECT
- MATCH,节点选择 # 兜底:其余都走"节点选择"
关键就一句话:规则里写的目标,必须是策略组的名字或 DIRECT/REJECT。规则把流量"投递"给某个策略组,策略组再决定用哪个具体节点。策略组类型见 策略组详解,规则语法见 自定义规则。
改配置时的注意事项
YAML 报错九成是缩进或 Tab。用支持 YAML 的编辑器(带语法高亮和缩进提示),能在保存前就发现问题,比对着客户端的报错猜要快得多。
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。