建议您在继续阅读本节之前,先阅读介绍。在您对 Clash 的工作原理有了简单的了解后,您可以开始编写您自己的配置。
配置文件
主配置文件名为 config.yaml。默认情况下,Clash 会在 $HOME/.config/clash 目录读取配置文件。如果该目录不存在,Clash 会在该位置生成一个最小的配置文件。
如果您想将配置文件放在其他地方(例如 /etc/clash),您可以使用命令行选项 -d 来指定配置目录:
shell
clash -d . # current directory
clash -d /etc/clash或者,您可以使用选项 -f 来指定配置文件:
shell
clash -f ./config.yaml
clash -f /etc/clash/config.yaml特殊语法
Clash 配置文件中有一些特殊的语法,您可能需要了解:
IPv6 地址
您应该使用方括号([])来包裹 IPv6 地址,例如:
txt
[aaaa::a8aa:ff:fe09:57d8]DNS 通配符域名匹配
在某些情况下,您需要匹配通配符域名。例如,当您设置 Clash DNS 时,您可能想要匹配 localdomain 的所有子域名。
Clash 在 DNS 配置中提供了匹配不同级别通配符域名的支持,其语法如下:
TIP
任何包含这些字符的域名都应该用单引号(')包裹。例如,'*.google.com'。静态域名的优先级高于通配符域名(foo.example.com > *.example.com > .example.com)。
使用星号(*)来匹配单级通配符子域名。
| 表达式 | 匹配 | 不匹配 |
|---|---|---|
*.google.com | www.google.com | google.com |
*.bar.google.com | foo.bar.google.com | bar.google.com |
*.*.google.com | thoughtful.sandbox.google.com | one.two.three.google.com |
使用点号(.)来匹配多级通配符子域名。
| 表达式 | 匹配 | 不匹配 |
|---|---|---|
.google.com | www.google.com | google.com |
.google.com | thoughtful.sandbox.google.com | google.com |
.google.com | one.two.three.google.com | google.com |
使用加号(+)来匹配多级通配符子域名。
+ 通配符的工作方式类似于 DOMAIN-SUFFIX,您可以一次进行多级的快速匹配。
| 表达式 | 匹配 |
|---|---|
+.google.com | google.com |
+.google.com | www.google.com |
+.google.com | thoughtful.sandbox.google.com |
+.google.com | one.two.three.google.com |
