Clash 配置文件完整解析

Clash 的所有行为都由一个 YAML 配置文件控制。理解配置文件的结构,你就能自定义代理规则、添加节点、配置分流策略。这篇文章从头到尾讲解配置文件的每个部分,配合完整示例,让你看懂并能自己修改配置。

配置文件在哪里

Windows - Clash for Windows:

C:\Users\你的用户名\.config\clash\config.yaml

macOS - ClashX:

~/.config/clash/config.yaml

Android - Clash Meta:

在应用内直接编辑,或导出到文件管理器。

快速打开:大部分 Clash 客户端提供"打开配置文件夹"或"编辑配置"的快捷入口,不用手动找路径。

配置文件结构

Clash 配置文件分为几个主要部分:

# 基础设置
port: 7890
socks-port: 7891
allow-lan: false
mode: rule

# DNS 配置
dns:
  enable: true
  nameserver:
    - 223.5.5.5

# 代理节点
proxies:
  - name: "节点1"
    type: ss
    server: xxx

# 代理组
proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - 节点1

# 规则
rules:
  - DOMAIN-SUFFIX,google.com,Proxy
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

各部分详解

1. 基础设置

port: 7890              # HTTP 代理端口
socks-port: 7891        # SOCKS5 代理端口
allow-lan: false        # 是否允许局域网连接
mode: rule              # 代理模式:rule, global, direct
log-level: info         # 日志级别
external-controller: 127.0.0.1:9090  # 外部控制接口

重点参数说明:

  • port - HTTP 代理端口,浏览器等应用通过这个端口连接
  • socks-port - SOCKS5 端口,某些应用需要 SOCKS5 代理
  • allow-lan - 设为 true 可以让局域网其他设备通过你的电脑代理
  • mode - 默认代理模式,通常用 rule(规则分流)

2. DNS 配置

dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1

DNS 模式:

  • fake-ip - 虚拟 IP 模式,速度快,推荐
  • redir-host - 真实 IP 模式,兼容性好

DNS 服务器:

  • nameserver - 国内 DNS,查询国内域名
  • fallback - 国外 DNS,查询国外域名

3. 代理节点 (proxies)

这部分列出所有可用的代理节点。通常由订阅自动生成,手动添加节点也在这里。

Shadowsocks 节点示例:

proxies:
  - name: "香港节点"
    type: ss
    server: hk.example.com
    port: 8388
    cipher: aes-256-gcm
    password: your-password
    udp: true

Trojan 节点示例:

  - name: "美国节点"
    type: trojan
    server: us.example.com
    port: 443
    password: your-password
    sni: us.example.com
    skip-cert-verify: false
    udp: true

VMess 节点示例:

  - name: "新加坡节点"
    type: vmess
    server: sg.example.com
    port: 443
    uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: /path

4. 代理组 (proxy-groups)

代理组把多个节点组织起来,实现自动选择、故障切换等功能。

手动选择组:

proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - 香港节点
      - 美国节点
      - 新加坡节点

自动测速组:

  - name: "Auto"
    type: url-test
    proxies:
      - 香港节点
      - 新加坡节点
    url: http://www.gstatic.com/generate_204
    interval: 300

故障转移组:

  - name: "Fallback"
    type: fallback
    proxies:
      - 香港节点
      - 美国节点
    url: http://www.gstatic.com/generate_204
    interval: 300

负载均衡组:

  - name: "LoadBalance"
    type: load-balance
    proxies:
      - 香港节点
      - 新加坡节点
    url: http://www.gstatic.com/generate_204
    interval: 300

类型说明:

  • select - 手动选择节点
  • url-test - 自动选择延迟最低的节点
  • fallback - 主节点挂了自动切换备用节点
  • load-balance - 多个节点负载均衡

5. 规则 (rules)

规则决定哪些流量走代理,哪些直连。规则从上到下匹配,匹配到第一条后就不再继续。

rules:
  # 广告拦截
  - DOMAIN-SUFFIX,googlesyndication.com,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # 国外网站走代理
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-SUFFIX,youtube.com,Proxy
  - DOMAIN-SUFFIX,github.com,Proxy

  # 国内网站直连
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT

  # 局域网直连
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT

  # 中国 IP 直连
  - GEOIP,CN,DIRECT

  # 其他流量走代理
  - MATCH,Proxy

规则类型:

  • DOMAIN - 完整匹配域名
  • DOMAIN-SUFFIX - 匹配域名后缀
  • DOMAIN-KEYWORD - 匹配域名关键词
  • IP-CIDR - 匹配 IP 段
  • GEOIP - 匹配地理位置
  • MATCH - 兜底规则,匹配所有

动作:

  • Proxy - 走代理(代理组名)
  • DIRECT - 直连
  • REJECT - 拒绝

完整配置示例

这是一个实际可用的完整配置文件:

# 基础设置
port: 7890
socks-port: 7891
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

# DNS 配置
dns:
  enable: true
  ipv6: false
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1

# 代理节点
proxies:
  - name: "HK-01"
    type: ss
    server: hk1.example.com
    port: 8388
    cipher: aes-256-gcm
    password: password123
    udp: true

  - name: "US-01"
    type: trojan
    server: us1.example.com
    port: 443
    password: password456
    sni: us1.example.com
    udp: true

# 代理组
proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - Auto
      - HK-01
      - US-01
      - DIRECT

  - name: "Auto"
    type: url-test
    proxies:
      - HK-01
      - US-01
    url: http://www.gstatic.com/generate_204
    interval: 300

# 规则
rules:
  # 广告拦截
  - DOMAIN-SUFFIX,googlesyndication.com,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # Google 服务
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-SUFFIX,youtube.com,Proxy
  - DOMAIN-SUFFIX,googleapis.com,Proxy

  # GitHub
  - DOMAIN-SUFFIX,github.com,Proxy
  - DOMAIN-SUFFIX,githubusercontent.com,Proxy

  # 国内常用网站直连
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT
  - DOMAIN-SUFFIX,taobao.com,DIRECT

  # 局域网直连
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT

  # 中国 IP 直连
  - GEOIP,CN,DIRECT

  # 其他走代理
  - MATCH,Proxy

如何编辑配置文件

重要:编辑配置文件前一定要备份!改错了可能导致 Clash 无法启动。

步骤:

  1. 关闭 Clash(避免配置被覆盖)
  2. 找到配置文件 config.yaml
  3. 用文本编辑器打开(推荐 VS Code、Notepad++)
  4. 修改需要改的部分
  5. 保存文件
  6. 重启 Clash,检查是否正常启动
YAML 格式注意事项:
  • 缩进使用空格,不要用 Tab
  • 每级缩进通常是 2 个空格
  • 冒号后面要加空格
  • 字符串如果包含特殊字符,要用引号

常见问题

Q: 配置文件改错了怎么办?

如果 Clash 启动失败,说明配置文件有语法错误。检查错误信息,或者恢复备份。常见错误:缩进不对、少了空格、引号没配对。

Q: 可以合并多个订阅吗?

可以。把多个订阅的节点都复制到 proxies 部分,然后在代理组中引用它们。但手动合并比较麻烦,建议用订阅转换工具。

Q: 修改配置后需要重启 Clash 吗?

是的。大部分配置修改需要重启 Clash 才能生效。有些客户端支持"重载配置",不用完全退出。

总结

理解配置文件是进阶使用 Clash 的关键。大部分时候用订阅提供的默认配置就够了,但当你想自定义规则、添加特定网站的分流、或者优化 DNS 配置时,就需要直接编辑配置文件。

从简单的修改开始,比如加几条规则、改个端口,熟悉了再做复杂的定制。记得改之前备份,改完后测试能不能正常启动。