本文最后更新于 2026-02-02,文章内容可能已经过时。

OpenClash 配置文件常用语法说明

OpenClash 的配置文件(通常为 config.yamlclash.yaml)是其核心所在,它决定了代理规则、节点选择、流量管理等行为。以下是配置文件中常用的一些关键语法和模块说明:

1. PortSocks-Port

定义 Clash 监听的端口。

  • Port: HTTP 代理端口
  • Socks-Port: SOCKS5 代理端口

示例:

Port: 7890
Socks-Port: 7891

2. Allow-Lan

是否允许局域网内的其他设备连接此 Clash 实例。

  • true: 允许
  • false: 不允许 (仅本机可连接)

示例:

Allow-Lan: true

3. Mode

Clash 的运行模式。

  • rule: 规则模式 (根据规则分流)
  • global: 全局模式 (所有流量都走代理)
  • direct: 直连模式 (所有流量都不走代理)
  • script: 脚本模式 (高级用法,通过 JavaScript 脚本控制行为)

示例:

Mode: rule

4. Log-Level

日志输出级别,用于调试和查看运行状态。

  • silent: 不记录日志
  • info: 记录一般信息
  • warning: 记录警告信息
  • error: 记录错误信息
  • debug: 记录所有详细信息 (最详细)

示例:

Log-Level: info

5. External-Controller

外部控制器地址,用于 Dashboard 等管理工具连接。

  • 格式: IP:Port
  • 0.0.0.0:9090 表示允许从任何 IP 地址访问 9090 端口

示例:

External-Controller: 0.0.0.0:9090

6. Secret

外部控制器连接的密码,增强安全性。

示例:

Secret: "your-secret-password"

7. DNS (DNS 配置)

配置 DNS 服务,支持规则分流 DNS 请求,防止 DNS 污染。

常用字段:

  • enable: 是否启用 Clash 的 DNS 模块。
  • listen: DNS 监听地址。
  • enhanced-mode: 增强模式,通常为 redir-hostfake-ip
    • redir-host: 通过重定向 DNS 请求到代理服务器解析,同时缓存解析结果。
    • fake-ip: 为代理流量的域名分配一个假的 IP 地址,Clash 接管所有流量解析。
  • nameserver: 直连的 DNS 服务器列表 (用于没有匹配代理规则的域名)。
  • fallback: 当 nameserver 中的 DNS 服务器查询失败或返回被污染的结果时,使用的备用 DNS 服务器列表 (通常走代理)。
  • fallback-filter: 过滤 fallback 中 DNS 服务器返回的无效结果。
    • geoip: 根据 IP 的地理位置过滤。
    • ipcidr: 根据 IP 段过滤。
    • domain: 根据域名过滤。

示例:

DNS:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: redir-host # 或 fake-ip
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
  fallback:
    - 8.8.8.8
    - 1.1.1.1
    - tls://dns.google/dns-query
  fallback-filter:
    geoip: true
    ipcidr:
      - 240.0.0.0/4
    domain:
      - "+.google.com" # 强制使用 fallback 解析的域名

8. Proxies (代理节点配置)

定义所有可用的代理服务器节点。每个节点通常包含以下信息:

  • name: 节点名称 (字符串)
  • type: 节点类型 (如 ss, ssr, vmess, trojan, http, snell, hysteria, tuic 等)
  • server: 服务器地址 (IP 或域名)
  • port: 服务器端口
  • 其他参数根据 type 不同而变化 (如 password, cipher, uuid, alterId, network 等)

示例:

Proxies:
  - {name: "🚀 节点A", type: vmess, server: example.com, port: 443, uuid: your-uuid, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, network: ws, ws-path: /path, ws-headers: {Host: example.com}}
  - {name: "🛫 节点B", type: trojan, server: another.com, port: 443, password: your-password, tls: true, skip-cert-verify: true}
  - {name: "🌟 节点C", type: ss, server: yet.com, port: 8443, password: 'password', cipher: aes-256-gcm}

9. Proxy Group (代理组配置)

定义代理组,用于实现负载均衡、故障转移或手动选择节点。

  • name: 组名
  • type: 组类型
    • select: 手动选择 (Dashboard 中手动切换节点)
    • url-test: URL 测试 (自动选择延迟最低的节点)
    • fallback: 故障转移 (按顺序尝试,选择第一个可用的节点)
    • load-balance: 负载均衡 (循环使用组内节点)
  • proxies: 组内包含的代理节点或子代理组的名称列表。
  • url / interval: (仅 url-testfallback 类型) 用于测试的 URL 和测试间隔。

示例:

Proxy-Groups:
  - name: "🚀 选择代理"
    type: select
    proxies:
      - "🚀 节点A"
      - "🛫 节点B"
      - "🌟 节点C"
      - "♻️ 自动选择" # 可以嵌套子代理组
      - "DIRECT" # 直连
  - name: "♻️ 自动选择"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300 # 300秒检测一次
    proxies:
      - "🚀 节点A"
      - "🛫 节点B"
      - "🌟 节点C"
  - name: "🌍 国际媒体"
    type: select
    proxies:
      - "🚀 选择代理"
      - "DIRECT"

10. Rule (规则配置)

定义流量分流规则,Clash 会按照从上到下的顺序匹配规则。

  • 匹配到第一条规则即停止。
  • DOMAIN-SUFFIX: 域名后缀匹配。
  • DOMAIN-KEYWORD: 域名关键词匹配。
  • DOMAIN: 完整域名匹配。
  • IP-CIDR: IP 地址段匹配。
  • GEOIP: 根据 IP 的地理位置匹配 (需要 GeoIP 数据库)。
  • PROCESS-NAME: 进程名匹配 (仅在某些模式下支持)。
  • MATCH: 兜底规则,所有未匹配的流量都走此规则。

常用规则类型:

Rules:
  # 广告屏蔽
  - DOMAIN-SUFFIX,ad.com,REJECT
  - DOMAIN-KEYWORD,adblock,REJECT

  # 国内直连
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT
  - GEOIP,CN,DIRECT,no-resolve # GEOIP规则,no-resolve表示不解析域名
  - DOMAIN-SUFFIX,cn,DIRECT

  # 国际媒体走代理
  - DOMAIN-SUFFIX,netflix.com,🌍 国际媒体
  - DOMAIN-SUFFIX,youtube.com,🌍 国际媒体
  - DOMAIN-SUFFIX,twitter.com,🌍 国际媒体
  - DOMAIN-SUFFIX,google.com,🌍 国际媒体

  # 默认规则 (务必放在最后)
  - MATCH,🚀 选择代理 # 所有未匹配的流量都走 "🚀 选择代理" 组

11. Rule-Providers (规则提供者)

引入外部规则文件,方便管理和更新。

示例:

Rule-Providers:
  AdBlock:
    type: http
    behavior: classical
    url: "https://your-adblock-rules.com/ad.txt"
    interval: 86400 # 每天更新一次
  
  CN_IP:
    type: http
    behavior: ipcidr
    url: "https://your-cn-ip-list.com/cn_ip.txt"
    interval: 86400

12. Proxy-Providers (代理提供者)

引入外部代理节点文件,方便更新节点。

示例:

Proxy-Providers:
  MyProxies:
    type: http # 或 file
    url: "https://your-proxy-list.com/nodes.yaml"
    interval: 3600 # 每小时更新一次
    path: ./proxies.yaml # 如果是 file 类型,指定本地路径
    health-check: # 健康检查配置
      enable: true
      interval: 600
      url: http://www.gstatic.com/generate_204

重要提示:

  • YAML 文件对缩进非常敏感,请确保使用正确的空格缩进。
  • 在修改配置文件后,需要重启 OpenClash 服务或在 Dashboard 中重新加载配置才能生效。
  • 建议使用在线 YAML 校验工具检查配置文件的语法。

希望这份说明能帮助您更好地理解和配置 OpenClash!🦊