目录
什么是 YAML 文件
YAML(YAML Ain’t Markup Language)是一种简洁易读的数据序列化格式,广泛应用于配置文件、数据交换等场景。在 Clash 中,YAML 文件用于定义代理服务器、代理组、路由规则等配置信息。
YAML 文件在 Clash 中的作用
Clash 是一款功能强大的代理客户端软件,它支持多种代理协议,并提供了丰富的配置选项。YAML 文件是 Clash 的主要配置文件,用于定义以下内容:
- 代理服务器信息,包括服务器地址、端口、协议类型等
- 代理组的配置,如负载均衡、故障转移等
- 流量路由规则,用于决定流量走哪个代理组
通过编辑 YAML 文件,用户可以轻松地管理和自定义 Clash 的行为,满足不同场景下的需求。
Clash YAML 文件的基本结构
Clash YAML 文件主要由以下三个部分组成:
Proxy
Proxy
部分定义了代理服务器的信息,包括服务器地址、端口、协议类型、认证信息等。每个代理服务器对应一个独立的配置项,以名称作为唯一标识。
yaml proxies:
- name: 服务器 1 type: vmess server: example.com port: 443 uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx alterId: 64 cipher: auto tls: true skip-cert-verify: true
Proxy Group
Proxy Group
部分定义了代理组的配置,包括负载均衡策略、故障转移策略等。代理组可以包含多个代理服务器,Clash 会根据设定的策略选择合适的代理服务器进行流量转发。
yaml proxy-groups:
- name: 负载均衡组 type: load-balance proxies:
- 服务器 1
- 服务器 2
- 服务器 3 url: http://www.gstatic.com/generate_204 interval: 300
Rule
Rule
部分定义了流量路由规则,用于决定流量应该走哪个代理组。规则可以基于域名、IP 地址、关键词等进行匹配。
yaml rules:
- DOMAIN-SUFFIX,google.com,负载均衡组
- DOMAIN-KEYWORD,youtube,负载均衡组
- IP-CIDR,192.168.1.0/24,DIRECT
- GEOIP,CN,DIRECT
- MATCH,负载均衡组
YAML 文件的常见配置项
代理服务器配置
name
: 代理服务器的名称type
: 代理协议类型,如vmess
、trojan
、shadowsocks
等server
: 服务器地址port
: 服务器端口username
: 认证用户名password
: 认证密码tls
: 是否启用 TLS 加密skip-cert-verify
: 是否跳过证书验证
代理组配置
name
: 代理组的名称type
: 代理组类型,如select
、load-balance
、fallback
等proxies
: 代理组包含的代理服务器列表url
: 用于测试代理可用性的 URLinterval
: 代理可用性测试的间隔时间(秒)
路由规则配置
DOMAIN-SUFFIX
: 匹配域名后缀DOMAIN-KEYWORD
: 匹配域名关键词IP-CIDR
: 匹配 IP 地址段GEOIP
: 匹配地理位置MATCH
: 默认规则,匹配剩余流量
YAML 文件的高级配置技巧
负载均衡和故障转移
通过 proxy-groups
中的 type
字段,可以设置代理组的负载均衡策略和故障转移策略。
load-balance
: 将流量均匀分配到组内所有代理服务器fallback
: 当首选代理不可用时,自动切换到备用代理
URL 重写和流量分流
通过 rewrite-rule
和 rule
字段,可以实现 URL 重写和流量分流功能。
rewrite-rule
: 对 HTTP/HTTPS 请求的 URL 进行重写rule
: 根据不同规则将流量导向不同的代理组
自定义 DNS 服务器
在 dns
字段中,可以配置自定义的 DNS 服务器,以提高网络访问速度和安全性。
yaml dns: enable: true nameserver: – 8.8.8.8 – 1.1.1.1 fallback: – 114.114.114.114 – 223.5.5.5
YAML 文件常见问题解答
Q1: Clash 无法启动,提示 YAML 文件格式错误怎么办?
A1: 检查 YAML 文件的格式是否正确,缩进、大小写、引号等细节需要注意。可以使用在线 YAML 校验工具进行检查。
Q2: 如何添加新的代理服务器?
A2: 在 proxies
部分添加新的配置项,包括服务器地址、端口、协议类型等信息。然后在 proxy-groups
部分引用该代理服务器。
Q3: 如何设置负载均衡和故障转移?
A3: 在 proxy-groups
部分,将 type
设置为 load-balance
或 fallback
。并在 proxies
字段中添加需要负载均衡或故障转移的代理服务器。
Q4: 如何实现 URL 重写和流量分流?
A4: 在 rewrite-rule
字段中定义 URL 重写规则,在 rule
字段中定义流量分流规则。规则的语法可参考 Clash 的文档说明。
更多常见问题及解答,请参考 Clash 的官方文档和社区资源。