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: ""
字段说明
portHTTP 代理端口,浏览器/系统代理常用
socks-portSOCKS5 代理端口
modeRule 按规则分流;Global 全局代理;Direct 全局直连
external-controllerREST 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-gcmaes-256-gcmchacha20-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,手动选择

常用规则类型

类型示例说明
DOMAINDOMAIN,google.com,PROXY精确匹配域名
DOMAIN-SUFFIXDOMAIN-SUFFIX,google.com,PROXY后缀匹配
DOMAIN-KEYWORDDOMAIN-KEYWORD,google,PROXY关键词匹配
IP-CIDRIP-CIDR,1.1.1.1/32,DIRECTIP 段匹配
GEOIPGEOIP,CN,DIRECT按 GeoIP 国家分流
MATCHMATCH,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-groupsrules,通过 proxy-providers 合并。

小结

掌握 Clash 配置的核心是四件事:节点格式正确、策略组命名清晰、规则顺序合理、DNS 防污染开启。建议从最小示例跑通后,再逐步引入完整规则库与多节点策略。