Clash 是一个跨平台的开源网络代理工具,通过 yaml 规则文件对网络流量进行控制。了解 Clash yaml 规则,可以更好地配置和使用 Clash 以满足自己的网络需求。
什么是 Yaml
Yaml 是一种人类可读的数据序列化格式,它将信息以一种类似于 json 的形式表达出来,但其结构更加简洁明了,易于阅读和编辑。Yaml 在 Clash 中的应用是用来编写配置文件的。
Clash Yaml 规则的基本结构
Clash 的 Yaml 规则文件主要包含以下部分:
port: 端口配置socks-port: Socks 代理端口redir-port: Redir 代理端口allow-lan: 是否允许局域网连接mode: 运行模式,可选值有Global、Rule、Directlog-level: 日志级别,可选值有info、warning、error、debugexternal-controller: 外部控制器接口secret: 外部控制器密码Proxy: 代理配置Proxy Group: 代理组配置Rule: 规则配置
每一部分都有其特定的规则和配置方法。
Clash Yaml 规则的详细解读
以下是一些详细的规则解读:
-
port与socks-port:这两个字段用于设置 HTTP 代理和 SOCKS 代理的端口号。例如,如果你设置port: 7890和socks-port: 7891,那么你的 HTTP 代理端口就是 7890,SOCKS 代理端口就是 7891。 -
mode: 这个字段用于设置 Clash 的运行模式。如果设置为Global,则所有流量都会通过代理;如果设置为Rule,则会根据Rule字段的规则进行代理;如果设置为Direct,则所有流量都不会走代理。 -
Proxy:这个字段用于设置代理服务器的信息。每一个代理服务器都需要提供name、type、server、port、uuid等信息。 -
Proxy Group: 这个字段用于创建代理组,每个代理组都包含一组代理服务器和一个策略。策略的选择可以是url-test、fallback、select、load-balance等。 -
Rule: 这个字段用于设置代理规则,每个代理规则都由三部分组成:规则类型、规则内容、代理组。
Clash Yaml 规则的编写
在编写 Clash 的 yaml 规则文件时,首先需要对上述各项参数进行合理设置。例如,代理端口、运行模式、代理服务器信息等。接着,在 Proxy 和 Proxy Group 部分填写具体的代理服务器和代理组信息。最后,在 Rule 部分编写具体的代理规则。
-
问:我应该如何修改 Clash 的 yaml 规则? 答:你可以直接使用文本编辑器打开 Clash 的 yaml 文件,按照上述的参数说明和规则进行修改。
-
问:如何测试 Clash 的 yaml 规则是否生效? 答:你可以通过修改某个规则,然后观察网络行为是否符合预期来进行测试。例如,你可以设置某个特定网站通过代理访问,然后尝试访问该网站看是否走代理。
-
问:如果我在 yaml 文件中设置了多个代理,Clash 会如何选择? 答:Clash 会根据
Proxy Group的策略进行选择。例如,如果策略是url-test,那么 Clash 会测试所有代理的速度,选择速度最快的代理使用。 -
问:如何处理 yaml 规则文件中的冲突规则? 答:Clash 的规则是从上到下匹配的,如果存在冲突的规则,那么 Clash 会优先应用先出现的规则。

