Clash 配置文件(YAML)结构详解

机场订阅下载下来其实就是一个 .yaml 文本文件。第一次打开会被几百行内容劝退,但它的骨架很简单:开头一堆全局开关,中间是节点和策略组,末尾是分流规则。把这三大块的关系理顺,你再看任何配置都不慌。

先懂一点 YAML 语法

YAML 靠缩进表达层级,规矩就两条,记住能省一半的报错:

  • 只能用空格缩进,不能用 Tab。这是新手最常踩的雷,一个 Tab 就能让整份配置加载失败。
  • 冒号后面要有空格port: 7890 对,port:7890 错。

key: value 是键值对;以 - 开头的是列表项;缩进相同的属于同一层。就这么点东西。

配置文件的整体骨架

① 全局设置 port / mode / log-level / dns … 控制整体行为的开关 ② proxies + proxy-groups 有哪些节点、节点怎么分组(手动/自动测速/故障转移) ③ rules 什么流量走哪个策略组:从上往下匹配,命中即停 数据流向:规则决定 → 交给策略组 → 策略组挑节点 → 节点出网

结构示意图顶部全局开关、中部节点与分组、底部分流规则。

顶层常用字段

字段作用
port / socks-port / mixed-port本地监听端口,见 端口说明
mode运行模式:rule / global / direct,见 模式区别
log-level日志详细程度:info / warning / debug
allow-lan是否允许局域网设备连,见 局域网共享
dnsDNS 解析策略,见 DNS 配置
tunTUN 虚拟网卡相关,见 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 的编辑器(带语法高亮和缩进提示),能在保存前就发现问题,比对着客户端的报错猜要快得多。

先装个客户端边看边改

到下载中心装好客户端,配合本文骨架打开自己的订阅文件对照着读。

前往 Clash 下载中心
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。