OpenClash 配置文件常用语法:全面解析与配置指南
本文最后更新于 2026-02-02,文章内容可能已经过时。
OpenClash 配置文件常用语法说明
OpenClash 的配置文件(通常为 config.yaml 或 clash.yaml)是其核心所在,它决定了代理规则、节点选择、流量管理等行为。以下是配置文件中常用的一些关键语法和模块说明:
1. Port 和 Socks-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-host或fake-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-test和fallback类型) 用于测试的 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!🦊
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 柯舟听风
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果