Clash 是常用的规则代理客户端,通过一份 YAML 配置文件即可管理节点、策略组与分流规则。本文介绍如何手动编写支持 Shadowsocks、VMess、Trojan 的完整配置。
配置文件整体结构
一份典型的 Clash 配置包含以下模块:
| 模块 | 作用 |
|---|---|
| 基础设置 | 端口、运行模式、日志级别 |
| DNS | 防污染、国内外分流解析 |
proxies | 代理节点列表 |
proxy-groups | 策略组(手动选择、自动测速等) |
rules | 域名/IP 分流规则 |
基础设置
port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: false
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090
secret: ""
| 字段 | 说明 |
|---|---|
port | HTTP 代理端口,浏览器/系统代理常用 |
socks-port | SOCKS5 代理端口 |
mode | Rule 按规则分流;Global 全局代理;Direct 全局直连 |
external-controller | REST API 地址,Clash Dashboard 通过此接口控制 |
DNS 配置
开启 DNS 可避免解析污染,并为规则分流提供域名信息:
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip
nameserver:
- 223.5.5.5
- 119.29.29.29
fallback:
- tls://1.1.1.1:853
- tls://8.8.8.8:853
fallback-filter:
geoip: true
geoip-code: CN
国内域名走 nameserver,海外域名走 fallback,是常见防污染方案。
代理节点 proxies
Shadowsocks (type: ss)
- name: "SS-香港"
type: ss
server: 1.2.3.4
port: 8388
cipher: chacha20-ietf-poly1305
password: "your-password"
udp: true
常用加密方式:aes-128-gcm、aes-256-gcm、chacha20-ietf-poly1305。
带混淆插件的 SS:
- name: "SS-Obfs"
type: ss
server: 1.2.3.4
port: 443
cipher: chacha20-ietf-poly1305
password: "your-password"
plugin: obfs
plugin-opts:
mode: tls
host: www.bing.com
VMess (type: vmess)
- name: "VMess-WS"
type: vmess
server: example.com
port: 443
uuid: 5b8098e0-c95d-4c74-b5d5-4a330969c8cb
alterId: 0
cipher: auto
tls: true
network: ws
ws-opts:
path: /v2ray
headers:
Host: example.com
Clash Meta / Mihomo 已广泛支持 VLESS、Reality 等新协议,字段与 VMess 类似,按客户端文档填写即可。
Trojan (type: trojan)
- name: "Trojan-节点"
type: trojan
server: example.com
port: 443
password: your-password
sni: example.com
udp: true
skip-cert-verify: false
策略组 proxy-groups
proxy-groups:
- name: "手动选择"
type: select
proxies:
- "自动选择"
- "SS-香港"
- "VMess-WS"
- "Trojan-节点"
- DIRECT
- name: "自动选择"
type: url-test
proxies:
- "SS-香港"
- "VMess-WS"
- "Trojan-节点"
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
- name: "国外媒体"
type: select
proxies:
- "手动选择"
- "自动选择"
- DIRECT
| 类型 | 说明 |
|---|---|
select | 手动切换节点 |
url-test | 定时测速,自动选延迟最低的节点 |
fallback | 按顺序尝试,节点不可用时切换下一个 |
load-balance | 负载均衡 |
分流规则 rules
规则从上到下匹配,先匹配先生效:
rules:
# 局域网直连
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# 国内常用服务直连
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,qq.com,DIRECT
- DOMAIN-SUFFIX,bilibili.com,DIRECT
# 国外媒体走代理
- DOMAIN-SUFFIX,youtube.com,国外媒体
- DOMAIN-SUFFIX,netflix.com,国外媒体
- DOMAIN-SUFFIX,spotify.com,国外媒体
# 被墙服务
- DOMAIN-SUFFIX,google.com,手动选择
- DOMAIN-SUFFIX,github.com,手动选择
- DOMAIN-SUFFIX,twitter.com,手动选择
- DOMAIN-KEYWORD,google,手动选择
# 中国 IP 直连
- GEOIP,CN,DIRECT
# 兜底
- MATCH,手动选择
常用规则类型
| 类型 | 示例 | 说明 |
|---|---|---|
DOMAIN | DOMAIN,google.com,PROXY | 精确匹配域名 |
DOMAIN-SUFFIX | DOMAIN-SUFFIX,google.com,PROXY | 后缀匹配 |
DOMAIN-KEYWORD | DOMAIN-KEYWORD,google,PROXY | 关键词匹配 |
IP-CIDR | IP-CIDR,1.1.1.1/32,DIRECT | IP 段匹配 |
GEOIP | GEOIP,CN,DIRECT | 按 GeoIP 国家分流 |
MATCH | MATCH,PROXY | 兜底规则,必须放在最后 |
完整规则库可参考 Loyalsoldier/clash-rules 等开源项目,按需裁剪,不必整份粘贴数千条规则。
最小可用完整示例
port: 7890
socks-port: 7891
allow-lan: false
mode: Rule
log-level: info
dns:
enable: true
nameserver: [223.5.5.5, 119.29.29.29]
fallback: [tls://1.1.1.1:853]
proxies:
- name: "Trojan-示例"
type: trojan
server: your-server.com
port: 443
password: your-password
sni: your-server.com
proxy-groups:
- name: PROXY
type: select
proxies: [Trojan-示例, DIRECT]
rules:
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
常见问题
配置不生效? 检查 YAML 缩进(必须用空格,不能用 Tab),proxies 中节点名与 proxy-groups 引用是否一致。
规则太多难维护? 使用 rule-providers 引用远程规则集,本地只保留个性化规则。
订阅与手写如何结合? 订阅提供 proxies,本地 YAML 只写 proxy-groups 和 rules,通过 proxy-providers 合并。
小结
掌握 Clash 配置的核心是四件事:节点格式正确、策略组命名清晰、规则顺序合理、DNS 防污染开启。建议从最小示例跑通后,再逐步引入完整规则库与多节点策略。
评论