Clash 配置文件完整解析
Clash 的所有行为都由一个 YAML 配置文件控制。理解配置文件的结构,你就能自定义代理规则、添加节点、配置分流策略。这篇文章从头到尾讲解配置文件的每个部分,配合完整示例,让你看懂并能自己修改配置。
配置文件在哪里
Windows - Clash for Windows:
C:\Users\你的用户名\.config\clash\config.yaml
macOS - ClashX:
~/.config/clash/config.yaml
Android - Clash Meta:
在应用内直接编辑,或导出到文件管理器。
配置文件结构
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(避免配置被覆盖)
- 找到配置文件 config.yaml
- 用文本编辑器打开(推荐 VS Code、Notepad++)
- 修改需要改的部分
- 保存文件
- 重启 Clash,检查是否正常启动
- 缩进使用空格,不要用 Tab
- 每级缩进通常是 2 个空格
- 冒号后面要加空格
- 字符串如果包含特殊字符,要用引号
常见问题
Q: 配置文件改错了怎么办?
如果 Clash 启动失败,说明配置文件有语法错误。检查错误信息,或者恢复备份。常见错误:缩进不对、少了空格、引号没配对。
Q: 可以合并多个订阅吗?
可以。把多个订阅的节点都复制到 proxies 部分,然后在代理组中引用它们。但手动合并比较麻烦,建议用订阅转换工具。
Q: 修改配置后需要重启 Clash 吗?
是的。大部分配置修改需要重启 Clash 才能生效。有些客户端支持"重载配置",不用完全退出。
总结
理解配置文件是进阶使用 Clash 的关键。大部分时候用订阅提供的默认配置就够了,但当你想自定义规则、添加特定网站的分流、或者优化 DNS 配置时,就需要直接编辑配置文件。
从简单的修改开始,比如加几条规则、改个端口,熟悉了再做复杂的定制。记得改之前备份,改完后测试能不能正常启动。