本文详细介绍YAML语法核心规则,包括键值对、数组、锚点等基础语法,并结合Clash代理配置实例演示代理组类型选择与分流规则写法,帮助快速掌握配置文件编写技能。
什么是YAML语法
YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,在Clash代理配置中用于定义代理节点、代理组和分流规则,相较于JSON,YAML语法更简洁,缩进层级清晰,非常适合配置文件编写。
基础语法规则
YAML使用缩进表示层级关系,冒号后需加空格:
# 键值对
proxy-providers:
myprovider:
type: http
url: "https://example.com/sub"
interval: 86400
# 数组(列表)
proxies:
- name: "节点1"
type: ss
server: 192.168.1.1
port: 8388
- name: "节点2"
type: vmess
server: 10.0.0.2
port: 10086
Clash代理组配置详解
代理组是Clash的核心功能,决定流量如何分配到不同节点。
三种代理组类型对比
| 类型 | 名称 | 适用场景 |
|---|---|---|
| select | 手动选择 | 需要手动切换节点 |
| url-test | 自动测速 | 根据延迟自动选择最优节点 |
| fallback | 故障转移 | 主节点不可用时自动切换备用节点 |
代理组配置示例
proxy-groups:
# 手动选择组
- name: "手动节点"
type: select
proxies:
- 节点A
- 节点B
- DIRECT
# 自动测速组
- name: "自动选择"
type: url-test
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
proxies:
- 节点A
- 节点B
# 故障转移组
- name: "备用线路"
type: fallback
url: "http://www.gstatic.com/generate_204"
interval: 300
proxies:
- 主线路
- 备用线路
分流规则写法
规则决定哪些流量走代理、哪些直连,匹配顺序从上到下。
常见规则类型
rules: # 域名匹配 - DOMAIN,www.google.com,自动选择 - DOMAIN-SUFFIX,facebook.com,手动节点 - DOMAIN-KEYWORD,youtube,自动选择 # IP CIDR匹配 - IP-CIDR,172.16.0.0/12,DIRECT - IP-CIDR,192.168.0.0/16,DIRECT # 地理位置匹配 - GEOIP,CN,DIRECT - GEOIP,US,自动选择 # 其他规则 - PROCESS-NAME,WeChat,DIRECT - RULE-SET,ads-block,REJECT
规则优先级说明
- DOMAIN(精确域名)优先级最高
- DOMAIN-SUFFIX(域名后缀)次之
- DOMAIN-KEYWORD(关键词)再次
- IP-CIDR(IP段)用于内网和CDN
- GEOIP(地区)作为兜底
完整配置示例
port: 7890
socks-port: 7891
allow-lan: true
mode: rule
external-controller: 127.0.0.1:9090
proxies:
- name: "日本节点"
type: ss
server: jp.example.com
port: 8388
cipher: aes-256-gcm
password: your-password
proxy-groups:
- name: "国际网络"
type: url-test
url: "http://www.gstatic.com/generate_204"
interval: 300
proxies:
- 日本节点
- 美国节点
rules:
- DOMAIN-SUFFIX,google.com,国际网络
- DOMAIN-SUFFIX,github.com,国际网络
- GEOIP,CN,DIRECT
- MATCH,国际网络
常见问题FAQ
现象:配置文件解析报错"invalid yaml"
原因:缩进不一致(必须用空格不能用Tab)、冒号后缺少空格、引号未成对出现
解决方法:使用VS Code安装YAML插件检查语法,确保缩进统一为2或4个空格
掌握YAML语法是配置Clash代理的基础,理解代理组类型(select/url-test/fallback)的适用场景,合理编写分流规则,能够显著提升跨境办公和学术资源访问的体验,建议从简单配置开始,逐步添加代理组和规则,根据实际使用场景调整测速间隔和故障转移策略。