Clash 怎么设置规则?Clash自定义分流规则编写详细教程

Clash 怎么设置规则?Clash自定义分流规则编写详细教程
clash规则配置文件

Clash规则配置文件config.yaml在哪里?

以ClashForWindows为例,clash配置文件包含2种。一种是基础配置文件config.yaml,另一种是订阅及分流规则的配置文件yaml。

基础配置文件

我们首先打开ClashForWindows的主界面,找到Home Directory,然后点”Open Folder”,进入配置文件夹。

Clash 怎么设置规则?Clash自定义分流规则编写详细教程

Clash 怎么设置规则?Clash自定义分流规则编写详细教程
规则配置文件目录

在配置文件目录找到config.yaml文件,以下是示例代码:

mixed-port: 7890
allow-lan: true
external-controller: 127.0.0.1:53365
secret: 29c0c9ba-1740-42c0-bb8c-dd316c5d1e4a
ipv6: false
log-level: info

该部分定义了Clash的一些基本设置,例如代理端口号、日志级别、API等信息。

  • port 和 socks-port 是本地http和socks代理端口
  • allow-lan 允许局域网连接
  • mode 定义了代理模式,这里是Rule,即按规则分流,可选Global、Rule
  • log-level 日志级别
  • external-controller 控制器地址,用于控制Clash的运行,实际是定义clash http API的访问地址

Clash http API可参见本站教程:Clash HTTP API接口详解及自动换IP办法

订阅及分流规则的配置文件yml

文件配置在配置文件夹下的”profiles”目录中,一般有几个机场订阅,就会有多少个yml文件。

该类型文件规则配置主要包含通用设置、主机设置、DNS设置、代理设置、代理组设置、分流规则等信息。其中通用设置与基础配置一致,配置冲突时,以基础配置文件config.yaml文件为准。

Clash 怎么设置规则?Clash自定义分流规则编写详细教程
机场规则配置文件

以下是简化后的示例配置代码:

port: 7890
socks-port: 7891
allow-lan: false
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090
hosts:
  time.facebook.com: 17.253.84.125
  time.android.com: 17.253.84.125
dns:
  enable: true
  use-hosts: true
  nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - 223.6.6.6
    - tcp://223.5.5.5
    - tls://dns.google:853
    - tls://8.8.8.8:853
    - https://dns.google/dns-query
    - https://8.8.8.8/dns-query
    - https://8.8.4.4/dns-query
  default-nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - tcp://119.29.29.29
    - tcp://223.5.5.5
proxies:
  - {name: 🇭🇰 香港Z01, server: 000aa.art, port: 19274, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
  - {name: 🇯🇵 日本Z01 | x0.8, server: 000aa.art, port: 475, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
proxy-groups:
  - name: 🔰 选择节点
    type: select
    proxies:
      - 🇭🇰 香港Z01
      - 🇯🇵 日本Z01 | x0.8
      - DIRECT
  - name: 🌏 爱奇艺&哔哩哔哩
    type: select
    proxies:
      - DIRECT
      - 🇭🇰 香港Z01
      - 🇭🇰 香港Z02 | IEPL
  - name: 📺 动画疯
    type: select
    proxies:
      - 🔰 选择节点
      - 🇯🇵 日本Z01 | x0.8
      - DIRECT
  - name: 🇨🇳 国内网站
    type: select
    proxies:
      - DIRECT
      - 🔰 选择节点
  - name: 🛑 拦截广告
    type: select
    proxies:
      - REJECT
      - DIRECT
      - 🔰 选择节点
  - name: 🐟 漏网之鱼
    type: select
    proxies:
      - 🔰 选择节点
      - DIRECT
rules:
 - DOMAIN,app.biliapi.net,🌏 爱奇艺&哔哩哔哩
 - DOMAIN-SUFFIX,iq.com,🌏 爱奇艺&哔哩哔哩
 - DOMAIN-SUFFIX,gamer.com.tw,📺 动画疯
 - DOMAIN-SUFFIX,exhentai.org,🔰 选择节点
 - DOMAIN-SUFFIX,teraboxcdn.com,🔰 选择节点
 - IP-CIDR,69.171.235.0/16,🔰 选择节点,no-resolve
 - DOMAIN-SUFFIX,mediawiki.org,🔰 选择节点
 - DOMAIN,app.adjust.com,🇨🇳 国内网站
 - DOMAIN-SUFFIX,googletraveladservices.com,🇨🇳 国内网站
 - DOMAIN,dl.google.com,🇨🇳 国内网站
 - DOMAIN,mtalk.google.com,🇨🇳 国内网站
 - DOMAIN,livew.l.qq.com,🇨🇳 国内网站
 - DOMAIN,vd.l.qq.com,🇨🇳 国内网站
 - DOMAIN-SUFFIX,mzstatic.com,🇨🇳 国内网站
 - IP-CIDR,17.0.0.0/8,🇨🇳 国内网站,no-resolve
 - IP-CIDR,205.180.175.0/24,🇨🇳 国内网站,no-resolve
 - DOMAIN-KEYWORD,zhenbuka,🇨🇳 国内网站
 - DOMAIN-SUFFIX,sda1.dev,🇨🇳 国内网站
 - DOMAIN-KEYWORD,ikandy,🇨🇳 国内网站
 - DOMAIN-SUFFIX,cn-north-4.myhuaweicloud.com,🇨🇳 国内网站
 - DOMAIN-KEYWORD,admarvel,🛑 拦截广告
 - DOMAIN-SUFFIX,local,DIRECT
 - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
 - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
 - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
 - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
 - IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
 - GEOIP,CN,🇨🇳 国内网站
 - DOMAIN-KEYWORD,.,🐟 漏网之鱼
 -DOMAIN-KEYWORD,q,🐟 漏网之鱼
 - DOMAIN-KEYWORD,m,🐟 漏网之鱼
 - MATCH,🐟 漏网之鱼

主机设置和DNS设置

hosts:
  time.facebook.com: 17.253.84.125
  time.android.com: 17.253.84.125
dns:
  enable: true
  use-hosts: true
  nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - 223.6.6.6
    - tcp://223.5.5.5
    - tls://dns.google:853
    - tls://8.8.8.8:853
    - https://dns.google/dns-query
    - https://8.8.8.8/dns-query
    - https://8.8.4.4/dns-query
  default-nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - tcp://119.29.29.29
    - tcp://223.5.5.5
  1. 主机设置:在hosts下,定义了一些域名到IP的映射。
  2. DNS设置:在dns下,定义了DNS解析的相关设置,包括启用DNS,使用hosts文件,DNS服务器的选择等。

代理设置

proxies:
  - {name: 🇭🇰 香港Z01, server: 000aa.art, port: 19274, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}
  - {name: 🇯🇵 日本Z01 | x0.8, server: 000aa.art, port: 475, type: ss, cipher: aes-256-gcm, password: 33645ec1-7cb9-359a-99a8-b7cef8de4af6, udp: true}

proxies下,定义了一组代理服务器的相关信息,包括名称,服务器地址,端口,类型,密码等。这部分是机场提供的主要代理服务器信息。

代理组设置

proxy-groups:
  - name: 🔰 选择节点
    type: select
    proxies:
      - 🇭🇰 香港Z01
      - 🇯🇵 日本Z01 | x0.8
      - DIRECT
  - name: 🌏 爱奇艺&哔哩哔哩
    type: select
    proxies:
      - DIRECT
      - 🇭🇰 香港Z01
      - 🇭🇰 香港Z02 | IEPL
  - name: 📺 动画疯
    type: select
    proxies:
      - 🔰 选择节点
      - 🇯🇵 日本Z01 | x0.8
      - DIRECT
  - name: 🇨🇳 国内网站
    type: select
    proxies:
      - DIRECT
      - 🔰 选择节点
  - name: 🛑 拦截广告
    type: select
    proxies:
      - REJECT
      - DIRECT
      - 🔰 选择节点
  - name: 🐟 漏网之鱼
    type: select
    proxies:
      - 🔰 选择节点
      - DIRECT

proxy-groups下,定义了一组代理组,每个代理组都有一个名称,一个类型,和一组代理服务器。当请求匹配到某个代理组的规则时,会根据代理组的类型选择一个代理服务器进行访问。

规则设置

rules:
 - DOMAIN,app.biliapi.net,🌏 爱奇艺&哔哩哔哩
 - DOMAIN-SUFFIX,iq.com,🌏 爱奇艺&哔哩哔哩
 - DOMAIN-SUFFIX,gamer.com.tw,📺 动画疯
 - DOMAIN-SUFFIX,exhentai.org,🔰 选择节点
 - DOMAIN-SUFFIX,teraboxcdn.com,🔰 选择节点
 - IP-CIDR,69.171.235.0/16,🔰 选择节点,no-resolve
 - DOMAIN-SUFFIX,mediawiki.org,🔰 选择节点
 - DOMAIN,app.adjust.com,🇨🇳 国内网站
 - DOMAIN-SUFFIX,googletraveladservices.com,🇨🇳 国内网站
 - DOMAIN,dl.google.com,🇨🇳 国内网站
 - DOMAIN,mtalk.google.com,🇨🇳 国内网站
 - DOMAIN,livew.l.qq.com,🇨🇳 国内网站
 - DOMAIN,vd.l.qq.com,🇨🇳 国内网站
 - DOMAIN-SUFFIX,mzstatic.com,🇨🇳 国内网站
 - IP-CIDR,17.0.0.0/8,🇨🇳 国内网站,no-resolve
 - IP-CIDR,205.180.175.0/24,🇨🇳 国内网站,no-resolve
 - DOMAIN-KEYWORD,zhenbuka,🇨🇳 国内网站
 - DOMAIN-SUFFIX,sda1.dev,🇨🇳 国内网站
 - DOMAIN-KEYWORD,ikandy,🇨🇳 国内网站
 - DOMAIN-SUFFIX,cn-north-4.myhuaweicloud.com,🇨🇳 国内网站
 - DOMAIN-KEYWORD,admarvel,🛑 拦截广告
 - DOMAIN-SUFFIX,local,DIRECT
 - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
 - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
 - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
 - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
 - IP-CIDR,100.64.0.0/10,DIRECT,no-resolve
 - GEOIP,CN,🇨🇳 国内网站
 - DOMAIN-KEYWORD,.,🐟 漏网之鱼
 -DOMAIN-KEYWORD,q,🐟 漏网之鱼
 - DOMAIN-KEYWORD,m,🐟 漏网之鱼
 - MATCH,🐟 漏网之鱼

rules下,定义了一组规则,每个规则都有一个类型,一个值,和一个代理组。当请求匹配到某个规则时,会使用规则指定的代理组进行访问。

1.DOMAIN匹配,表示请求的域名规则匹配,下方代码表示如果请求域名是app.biliapi.net,则从“爱奇艺&哔哩哔哩”代理组选择代理服务器

DOMAIN,app.biliapi.net,🌏 爱奇艺&哔哩哔哩

2.DOMAIN-SUFFIX匹配,表示请求的域名后缀规则匹配,下方代码表示如果请求域名后缀是iq.com,则从“爱奇艺&哔哩哔哩”代理组选择代理服务器

DOMAIN-SUFFIX,iq.com,🌏 爱奇艺&哔哩哔哩

3.DOMAIN-KEYWORD匹配,表示请求的域名关键字规则匹配,下方代码表示如果请求域名关键字包含q,则从“漏网之鱼”代理组选择代理服务器。一般是放在整个rules规则最下方。

DOMAIN-KEYWORD,q,🐟 漏网之鱼

4.IP-CIDR匹配,表示通过请求IP地址范围规则匹配,下方代码表示:对于 IP 地址在 172.16.0.0 到 172.31.255.255 范围内的请求,Clash 将直接连接,不会通过任何代理服务器,并且在处理这些请求时,不会进行 DNS 解析。这通常用于处理本地或内网的请求。

IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

5.GEOIP匹配,表示通过IP地区归属规则匹配,下方代码表示:对于所有识别为来自中国的 IP 地址的请求,Clash 将通过 “🇨🇳 国内网站” 代理组进行处理。这可以用来实现对国内和国外网站的不同处理,例如,访问国内网站时直接连接,访问国外网站时通过代理服务器。

GEOIP,CN,🇨🇳 国内网站

常用问题

1.怎么设置某个域名不走代理节点,直连到服务器?

可结合DOMAIN-SUFFIX域名后缀规则和DIRECT规则使用。

以下是一段代码示例:

DOMAIN-SUFFIX,office.com,DIRECT

请将代码放置到rules靠前的位置。

2.Clash yml配置文件中no-resolve作用是什么?

在Clash配置文件中,”no-resolve” 是一个选项,当它被设置为true时,Clash将不会对域名进行解析,而是直接将域名发送到代理服务器,由代理服务器进行DNS解析。

这可以一定程度上保护你的隐私,因为你的本地ISP无法看到你的DNS请求。另一方面,如果代理服务器的DNS解析速度比本地的DNS解析速度快,那么使用”no-resolve”也可能会提高你的网络速度。

3.Clash多个机场yml文件怎么配置通用分流规则?

可使用Clash Mixin功能,参见本站关于Mixin的详细教程:Clash Mixin自定义规则配置完整详细教程

正文完
 3