DOCS · 配置与规则参考

config.yaml
读明白

面向已经会用客户端的进阶用户:这里整理 Clash / Mihomo 的配置结构、代理协议、策略组、规则语法、DNS 与 TUN 说明,方便查阅与定制。

01 · OVERVIEW

文档能帮你做什么

教程页负责「怎么装、怎么连」;文档页负责「配置项是什么意思、怎么改」。两者配合使用效率最高。

适合谁看

已经导入过订阅、想自己改规则、调 DNS、开 TUN,或排查策略不生效的用户。

配置文件在哪

图形客户端通常在「配置 / Profiles」里编辑;命令行内核默认读取工作目录下的 config.yaml

内核说明

本站文档以 mihomo(Clash Meta) 语法为主,兼容常见 Clash 配置写法。

改配置前先备份

手动修改 YAML 后请检查缩进与冒号空格;语法错误会导致内核无法启动。

还不熟悉导入订阅?请先阅读 使用教程,再回来查阅本页字段说明。
02 · CONFIG

配置结构一览

一份完整的配置通常由「基础端口 → 代理列表 → 策略组 → 规则 → DNS」几大块组成。下面是最小可读骨架:

# config.yaml — minimal skeleton port: 7890 socks-port: 7891 allow-lan: false mode: rule log-level: info external-controller: 127.0.0.1:9090 proxies: - name: "示例节点" type: ss server: example.com port: 8388 cipher: aes-128-gcm password: "password" proxy-groups: - name: "PROXY" type: select proxies: - "示例节点" - DIRECT rules: - DOMAIN-SUFFIX,cn,DIRECT - MATCH,PROXY

常用基础字段

字段类型说明
portnumberHTTP 代理端口,浏览器 / 系统代理常用
socks-portnumberSOCKS5 端口
mixed-portnumberHTTP 与 SOCKS 混合端口(二选一即可)
allow-lanbool是否允许局域网设备接入本机代理
modestringrule / global / direct
log-levelstringsilent / error / warning / info / debug
ipv6bool是否启用 IPv6
开启 allow-lan: true 时,请同时设置 secret 保护外部控制接口,避免局域网他人随意改配置。
03 · PROXIES

代理节点(proxies)

每个节点是一个出站通道。订阅导入后通常会自动生成这一段;手动添加时需保证 name 在配置内唯一。

ss ssr vmess vless trojan hysteria2 tuic wireguard http socks5

通用字段

字段类型说明
namestring显示名称,策略组与规则会引用它
typestring协议类型,如 ssvmess
serverstring服务器域名或 IP
portnumber服务器端口
udpbool是否允许 UDP 转发(默认视协议而定)

Shadowsocks 示例

- name: "HK-SS" type: ss server: hk.example.com port: 8388 cipher: aes-128-gcm password: "your-password" udp: true
不同协议还有各自的专有字段(如 VMess 的 uuidalterId,Trojan 的 passwordsni)。以服务商提供的配置为准,勿随意删改。
04 · PROXY-GROUPS

策略组(proxy-groups)

策略组把多个节点归为一类,并决定「怎么选」。规则里通常引用策略组名,而不是直接写某个节点。

select

手动选择。适合「香港 / 日本 / 美国」这类地区分组。

url-test

按延迟自动选最快节点,可设 intervaltolerance

fallback

按列表顺序尝试,当前节点失败则切换到下一个。

load-balance

在可用节点间负载均衡,适合多线路分流。

url-test 示例

- name: "自动选择" type: url-test proxies: - "HK-01" - "JP-01" - "US-01" url: http://www.gstatic.com/generate_204 interval: 300 tolerance: 50
05 · RULES

规则语法(rules)

规则自上而下匹配,命中第一条即停止。最后通常以 MATCH 兜底,避免漏网流量。

常用匹配类型

类型示例说明
DOMAINDOMAIN,api.example.com,PROXY精确域名
DOMAIN-SUFFIXDOMAIN-SUFFIX,google.com,PROXY后缀匹配
DOMAIN-KEYWORDDOMAIN-KEYWORD,ads,REJECT关键字匹配
IP-CIDRIP-CIDR,192.168.0.0/16,DIRECTIPv4 段
GEOIPGEOIP,CN,DIRECT按国家/地区
MATCHMATCH,PROXY最终兜底规则

书写示例

rules: - DOMAIN-SUFFIX,local,DIRECT - IP-CIDR,127.0.0.0/8,DIRECT - DOMAIN-KEYWORD,ad,REJECT - GEOIP,CN,DIRECT - MATCH,PROXY
自定义规则请放在较靠前的位置;若放在 GEOIP,CN 或宽泛规则之后,可能永远匹配不到。
06 · DNS

DNS 配置

DNS 决定域名如何解析。合理配置可以减少污染、配合分流规则更准确,也是排查「能连节点但打不开站」的关键一步。

dns: enable: true listen: 0.0.0.0:53 enhanced-mode: fake-ip nameserver: - https://dns.alidns.com/dns-query - https://doh.pub/dns-query fallback: - tls://1.1.1.1 - tls://8.8.8.8 fallback-filter: geoip: true geoip-code: CN

模式说明

  • redir-host:真实 IP 解析,兼容性好,适合部分需要真实地址的应用。
  • fake-ip:返回虚拟 IP,解析更快,配合规则分流更常见;个别游戏 / 内网应用可能需加入 fake-ip-filter
07 · TUN

TUN 模式

系统代理只能覆盖「遵守系统代理设置」的应用;TUN 通过虚拟网卡接管流量,让更多应用(含不支持代理的)也能走规则。

tun: enable: true stack: system # system / gvisor / mixed dns-hijack: - any:53 auto-route: true auto-detect-interface: true
  • Windows:通常需要管理员权限启动客户端。
  • macOS:首次开启会请求安装网络扩展,需在系统设置中允许。
  • 与系统代理:日常二选一即可;同时开启可能造成重复代理或异常。
服务器 / 无图形环境优先用命令行内核 + 环境变量代理;桌面端需要「全局接管」时再开 TUN。
08 · API

外部控制 API

通过 external-controller 暴露 REST 接口后,面板与脚本可以切换节点、查看连接、热重载配置。

字段类型说明
external-controllerstring监听地址,如 127.0.0.1:9090
secretstring访问口令,请求头 Authorization: Bearer <secret>
external-uistring可选,外置面板静态资源目录

常用接口(示意)

# 查看当前配置版本 / 状态 GET http://127.0.0.1:9090/version # 切换策略组选中节点 PUT http://127.0.0.1:9090/proxies/{group} Body { "name": "HK-01" } # 重新加载配置 PUT http://127.0.0.1:9090/configs?force=true
生产或公网环境务必设置 secret,且尽量只监听 127.0.0.1,不要把控制端口暴露到公网。

装好了,再把配置调顺

下载客户端、跟着教程连上网络后,回来用这篇文档定制规则与 DNS,会顺手很多。