跳转到内容
shoes

配置模型

参考页面中的字段示意片段会使用 string 和 ... 等占位符,不是完整的可运行配置。请从完整示例复制文件并按需修改。

配置文件是由一个或多个配置项组成的 YAML 数组。配置项可以是:

  • 服务端:代理监听器及其协议栈。
  • TUN:用于透明代理的 IP 数据包设备。
  • 客户端组:可重用的上游配置。
  • 规则组:可重用的路由规则。
  • 规则源组:可重用的无操作匹配表达式和本地或远程源。
  • DNS 组:供多个配置项引用的命名 DNS 配置。
  • 命名 PEM:可复用的证书或密钥数据。
  • 证书来源:文件支持或托管证书。
  • 全局设置:进程范围准入、远程规则缓存和 QUIC 缓冲区设置。
  • Clash 控制器:控制器监听器设置。
  • 缓存文件:持久控制器状态。

配置项由各自的顶级配置键识别,而不是使用统一的顶级 type。protocol 内的 type 用来选择协议。多个配置文件会一起加载,因此命名组可以跨文件引用。

# Server configs have 'address' or 'path', except proxied WireGuard servers
- address: "0.0.0.0:8080"
protocol: ...
# TUN configs have 'device_name' or 'device_fd'
- device_name: "tun0"
address: "10.0.0.1"
...
# Client config groups have 'client_group'
- client_group: my-upstream
client_proxy: ...
# Rule config groups have 'rule_group'
- rule_group: my-rules
rules: ...
# Action-free source groups have 'rule_source_group'
- rule_source_group: my-sources
rules: ...
# Named PEMs have 'pem'
- pem: my-cert
path: /path/to/cert.pem