Clash YAML 文件使用全攻略:从入门到进阶

目录

  1. 什么是 YAML 文件
  2. YAML 文件在 Clash 中的作用
  3. Clash YAML 文件的基本结构
  4. YAML 文件的常见配置项
  5. YAML 文件的高级配置技巧
  6. YAML 文件常见问题解答

什么是 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: 代理协议类型,如 vmesstrojanshadowsocks
  • server: 服务器地址
  • port: 服务器端口
  • username: 认证用户名
  • password: 认证密码
  • tls: 是否启用 TLS 加密
  • skip-cert-verify: 是否跳过证书验证

代理组配置

  • name: 代理组的名称
  • type: 代理组类型,如 selectload-balancefallback
  • proxies: 代理组包含的代理服务器列表
  • url: 用于测试代理可用性的 URL
  • interval: 代理可用性测试的间隔时间(秒)

路由规则配置

  • DOMAIN-SUFFIX: 匹配域名后缀
  • DOMAIN-KEYWORD: 匹配域名关键词
  • IP-CIDR: 匹配 IP 地址段
  • GEOIP: 匹配地理位置
  • MATCH: 默认规则,匹配剩余流量

YAML 文件的高级配置技巧

负载均衡和故障转移

通过 proxy-groups 中的 type 字段,可以设置代理组的负载均衡策略和故障转移策略。

  • load-balance: 将流量均匀分配到组内所有代理服务器
  • fallback: 当首选代理不可用时,自动切换到备用代理

URL 重写和流量分流

通过 rewrite-rulerule 字段,可以实现 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-balancefallback。并在 proxies 字段中添加需要负载均衡或故障转移的代理服务器。

Q4: 如何实现 URL 重写和流量分流?

A4: 在 rewrite-rule 字段中定义 URL 重写规则,在 rule 字段中定义流量分流规则。规则的语法可参考 Clash 的文档说明。

更多常见问题及解答,请参考 Clash 的官方文档和社区资源。

正文完