顶层字段
一个配置文件大致长这样(省略了具体内容):
port: 7890
socks-port: 7891
mixed-port: 7892
allow-lan: false
mode: rule
log-level: info
dns:
enable: true
nameserver:
- 223.5.5.5
proxies:
- name: "香港 01"
type: vless
server: example.com
port: 443
proxy-groups:
- name: "节点选择"
type: select
proxies:
- "香港 01"
rules:
- DOMAIN-SUFFIX,google.com,节点选择
- GEOIP,CN,DIRECT
- MATCH,节点选择
各字段负责什么:
port/socks-port/mixed-port—— 本地监听端口。mixed-port同时支持 HTTP 和 SOCKS,比较常用。客户端界面里改的就是这几个值。allow-lan—— 是否允许局域网内其他设备连这个代理。想让手机走电脑的代理时设成true。mode——rule(按规则分流)、global(全走代理)、direct(全直连)。对应界面上那三个模式。log-level—— 日志详细程度。排查问题时可以调成debug。dns—— DNS 解析配置。这块比较复杂,新手不建议乱改。proxies—— 节点列表。每个节点的服务器地址、端口、协议、密钥都在这里。proxy-groups—— 节点分组。界面上看到的「节点选择」「自动选择」这些组就是这里定义的。rules—— 分流规则。决定每个请求走哪个组。
规则行怎么读
每条规则是三段,用逗号分隔:类型,匹配内容,目标。
DOMAIN-SUFFIX,google.com,节点选择
意思是:域名后缀是 google.com 的请求,交给「节点选择」这个组处理。
常见的规则类型:
DOMAIN—— 完全匹配域名。DOMAIN,www.google.com,节点选择DOMAIN-SUFFIX—— 匹配后缀,会连子域名一起匹配。最常用。DOMAIN-KEYWORD—— 域名里包含某个关键词就匹配。范围较宽,容易误伤。IP-CIDR—— 按 IP 段匹配。IP-CIDR,192.168.0.0/16,DIRECTGEOIP—— 按 IP 归属地匹配。GEOIP,CN,DIRECT就是国内 IP 直连。RULE-SET—— 引用一整个规则集文件,订阅里常见。MATCH—— 兜底,前面都没匹配上的都走这里。必须放在最后一行。
目标除了组名,还有两个特殊值:DIRECT(直连)和 REJECT(拒绝,用来屏蔽广告域名)。
规则是从上往下匹配的,第一条命中就停。所以顺序很重要 —— 把 MATCH 放在中间会导致后面的规则全部失效。
用配置文件排查问题
几个能直接看出问题的地方:
节点列表是空的
打开配置文件看 proxies 下面有没有内容。空的或者字段缺失,说明订阅本身返回的就是空配置,问题在服务商那边或者链接失效了,跟客户端无关。
某个网站总是走错线路
在 rules 里搜这个域名。可能被某条 DOMAIN-KEYWORD 提前匹配走了,或者被 GEOIP,CN,DIRECT 判成了国内 IP。
改完配置不生效
YAML 对缩进很敏感,必须用空格,不能用 Tab。缩进错了配置加载会失败,客户端日志里会有 YAML 解析错误。改之前先备份一份。
局域网设备连不上
检查 allow-lan 是不是 false。要让手机走电脑的代理,这里得是 true。
常见问题
MATCH 是干什么的?
兜底规则,前面所有规则都没匹配上的流量走它。必须放在 rules 的最后一行,放中间会让后面的规则全部失效。
改配置文件后没生效?
多半是 YAML 缩进错了。YAML 只能用空格缩进不能用 Tab,格式错误会导致加载失败。看客户端日志里有没有解析报错。
mixed-port 和 port 有什么区别?
port 只接受 HTTP 代理,socks-port 只接受 SOCKS,mixed-port 两种都接受。现在一般都用 mixed-port。
怎么让手机走电脑的代理?
把 allow-lan 设成 true,然后在手机的 Wi-Fi 设置里手动填电脑的局域网 IP 和端口。注意这会让同网络下的设备都能用你的代理。
相关页面
本站整理开源项目的下载与使用说明,与 Clash、Mihomo、Clash Verge Rev、FlClash 等项目没有隶属关系,也不转存任何安装包。 版本号、文件名、体积与系统要求以各项目官方发布页为准;本页数据的人工核对日期为 2026-09-01。