• 前言
  • 什么是 rule provider、proxy provider?
  • 为什么用 Rule provider、Proxy provider ?
  • Proxy & Rule Provider 配置文件

基础版(建议新手使用): 点击跳转(备用)

  • 进阶版(白名单): 点击跳转(备用)
  • 进阶版配置文件(白名单模式+YouTube+Netflix 分流规则):点击跳转(备用)

常见问题

前言

clash 客户端的终极懒人用法: proxy provider和 rule provider,实现“自动”更新节点配置、分流规则,省心、省力、解放双手!

  • 点击观看:视频教程


什么是 Rule provider 、Proxy provider?

它们是“适用于 Clash Premium 内核 ”一项功能。

  • 通过在配置文件中加 “proxy-providers“和”rule-providers” 字段,让“Proxy Groups ”策略组,像单个代理一样被分流规则引用,实现精细化的网络流量管理。
  • 分流规则,也可以从引用外部源加载规则, 从而使配置更加简洁。

目前,支持 Clash Premium 内核的 Clash 客户端,如 openclash,clash for windwos,Stash 等等

Rule Provider

“Rule provider”:“规则集提供者”,俗称规则集;

通过它,下载(加载)不同类型的在线规则集到本地,规则集包含域名、IP 地址等;

  • 比如,下载到本地的“reject”规则集文件,包含超过 13万+ 域名
  • 而我门只需在配件文件中,写入如下 “ rule-providers”字段,就能将它下载并保存到本地
# clash-rules项目提供的规则集
rule-providers:
  reject:    # 在线规则集名称
    type: http # 在线规则集
    behavior: domain # 规则集类型
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"#下载链接
    path: ./ruleset/reject.yaml # reject 文件路径
    interval: 86400 # reject文件自动更新间隔为 86400秒

Proxy Provider

“Proxy Providers”(代理集提供者):与 “Rule Providers ”功能类似,俗称代理集。

通过它,当Clash启动时,从指定的URL或文件位置读取节点(服务器列表),最后,通过“PROXY 策略组”引用单个或者多个clash链接或者本地配置文件中的“节点”。

在配置文件中,加入“proxy-providers”字段 (远程订阅地址+本地订阅文件)

proxy-providers:
  foo:    # 代理集名称
    type: http  # 代理集类型
    path: ./profiles/proxies/foo.yaml # 代理集文件所在位置
    url: https://example-url # 代理集链接(clash订阅链接)
    interval: 3600  #自动更新间隔为 3600秒
    health-check:   #检查代理集可用性
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300
  bar:
    type: file # 代理集类型为本地文件
    path: ./profiles/proxies/bar.yaml # 本地代理集所在位置
    health-check: #检查代理集可用性
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300

# 当「Proxy Mode」使用 "PROXY" 时,
它会使用 "foo" 和 "bar" 两个代理集中的节点,并且如果这些代理都不可用,则使用 "DIRECT" 直连代理
proxy-groups:  
  - name: PROXY
    type: select
    url: http://www.gstatic.com/generate_204
    interval: 3600
    use:       # 引用名字为 “foo”和“bar”的代理集
      - foo
      - bar
    proxies:   # 当节点不可用时,使用 DIRECT
      - DIRECT

HTTP类型

  • foo 代理集的名称
  • type 为该代理集的类型,简单地说,http 为 clash 订阅链接 ; file 为 本地配置文件
  • path 则是代理集所在的文件路径,“foo” 为保存在本地文件的名字
  • 如果 type 为 http, url 则需要填写 clash 订阅链接、设置自动更新的间隔;
  • health-check 对代理集所包含的节点,设置自动延迟测试、测试间隔以及目标网站
  • Tip: 可以通过 filter 去筛选出链接中包含“某一个关键词”的所有节点,比如, 我需要 Blinkload 机场的香港节点, 这里输入 “Hong Kong”, 就能实现。多个关键词用英文输入法下 ”|“连接

File 类型

  • 名称为” bar” 的代理集,类型为 file, 即本地配置文件
  • 需要注意的是,需要引用本地配置文件时,文件存放的位置、文件名,一定和“Path”这里保持一致。
  • 本地配置文件在哪里呢?点击”General“回到 CFW 主页,再点“Open Folder”跳转到配置文件所在目录—-“Profiles”。这个时候,你可以主动把 path 的参数都改为与本地配置文件实际的位置和名字一致;或者新建一个Proxies 文件夹,再把配置文件拖动这里并重命名为“ bar”,和默认的 path 设置全部保持一致。

” proxy-groups “ ,可以由一个或者多个策略组组成,不同的策略组可以引用不同代理集

  • name 为策略组的名称,因为PROXY 为默认的策略组,切记,不要去修改这个名称!!不要去修改、不要去修改!!
  • type 策略组的类型,建议使用 url-test,这样子,策略组就会自动选用延迟最低的节点 ,规避掉不能正常使用的节点。
  • url 是节点延迟测试的目标网站,建议保持默认
  • interval 为自动执行“节点延迟测试”的间隔
  • use 为引用 proxy-provider 的指令,填写对应的代理集名称就可以了,这里的“ foo”、“bar”,就是引用 foo,bar 代理集所包含的节点
  • proxies 这里,你可以在这个策略组中的引用单个节点配置;如果使用 openclash 的小伙伴,切记,一定不能删除这里的“DIRECT”,否则,有可能 openclash 就无法正常下载订阅链接中的配置文件,导致无法使用!

此时的 PROXY 策略组,就包含了“ foo和 bar ”代理集中的所有节点,策略组类型为 url-test;当规则使用这个策略组时,就会自动选用延迟最低的节点。

 

为什么用 Rule provider、Proxy provider?

答案是,真正地实现精细化的网络流量管理!!! 也让,“Proxy Groups ”策略组,像单个代理一样被分流规则引用,更好地“服务”于分流规则,告别臃肿的配置文件。

举个例子,分流规则“ RULE-SET,telegramcidr,PROXY ”,意思就是当访问目标是 telegramcidr 中的IP地址时
就通过 PROXY 策略组中的节点去访问。无需为一个IP地址段增加一条telegram分流规则。
  • “RULE-SET”是引用“规则集”的功能
  • “telegramcidr” 为规则集的名称;“telegramcidr”规则集文件中,包含telegram多个IP地址段
  • “PROXY” 为代理策略组名称

  • proxy-providers:提供节点,非常适合多机场用户,可以整合不同机场的节点到一起
  • rule-providers:提供规则集,引用不同的在线规则集,以 url 链接形式提供,包含常见的域名和IP 地址列表,由项目大佬们实时维护的
  • proxy-groups:以“策略组”为单位,对 proxy-providers 提供的节点或者手动添加的节点进行分组管理
  • rules:引用规则集、策略组,以访问目标是否在规则集中为条件,设定本地网络或者节点对其进行访问

Rule Providers 应用

如下 Clash-rules 项目提供的规则中, “Rule Providers ”功能,将大量的规则集合从外部加载;

而不是直接写在主配置文件中,使得配置文件更加简洁易读!

以 “reject” 规则集为例

–“reject” 为规则集的名称
–它的类型是 http
–规则集类型是 domian 域名
–url 链接是规则集的在线地址,我们可以打开它,它包含很多域名
–path 指定了从URL链接下载后的规则集文件的储存路径、文件名称
–interval 设置自动下载规则集的间隔,86400 秒,即每隔10天会自动下载 URL 包含的规则集文件到本地

# clash-rules项目提供的规则集
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400
  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400
  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400
  google:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
    path: ./ruleset/google.yaml
    interval: 86400
  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400
  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400
  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400
  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400
  greatfire:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
    path: ./ruleset/greatfire.yaml
    interval: 86400
  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400
  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400
  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400
  lancidr:
     type: http
     behavior: ipcidr
     url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
     path: ./ruleset/lancidr.yaml
     interval: 86400

分流规则 Rules–白名单模式

个人推荐,此配置方式,没有命中规则的网络流量,统统使用代理;适用于服务器线路网络质量稳定、快速,不缺服务器流量的用户

  • 在以下配置中,除了 DIRECT 和 REJECT 是默认存在于 Clash 中的 policy(路由策略/流量处理策略),其余均为自定义 policy,对应配置文件中 proxies 或 proxy-groups 中的 name。如你直接使用下面的 rules 规则,则需要在 proxies 或 proxy-groups 中手动配置一个 name 为 PROXY 的 policy。
  • 如你希望 Apple、iCloud 和 Google 列表中的域名使用代理,则把 policy 由 DIRECT 改为 PROXY,以此类推,举一反三。
  • 如你不希望进行 DNS 解析,可在 GEOIP 规则的最后加上 ,no-resolve,如 GEOIP,CN,DIRECT,no-resolve。
# “白名单模式”常见模板
rules:
  - RULE-SET,applications,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,lancidr,DIRECT
  - RULE-SET,cncidr,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

分流规则 Rules–黑名单模式

黑名单模式只有命中规则的网络流量,才使用代理,适用于服务器线路网络质量不稳定或不够快,或服务器流量紧缺的用户。通常也是软路由用户、家庭网关用户的常用模式。

  • 以下配置中,除了 DIRECT 和 REJECT 是默认存在于 Clash 中的 policy(路由策略/流量处理策略),其余均为自定义 policy,对应配置文件中 proxies 或 proxy-groups 中的 name。如你直接使用下面的 rules 规则,则需要在 proxies 或 proxy-groups 中手动配置一个 name 为 PROXY 的 policy。
# “黑名单模式”常见模板
rules:
  - RULE-SET,applications,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,tld-not-cn,PROXY
  - RULE-SET,gfw,PROXY
  - RULE-SET,greatfire,PROXY
  - RULE-SET,telegramcidr,PROXY
  - MATCH,DIRECT

Proxy & Rule Provider 配置文件

基础版(建议新手使用): 点击跳转(备用)

mixed-port: 7890
#---------------------------------------------------#
allow-lan: false
mode: Rule
log-level: silent
external-controller: 127.0.0.1:60000

# 节点配置文件统一存放在 ./profiles/proxies/ 目录中

proxy-providers:
# 从链接导入的配置文件(支持多个Clash 订阅链接)
 foo:
   type: http
   path: ./profiles/proxies/foo.yaml
   url: https://example-url (clash 订阅链接)
   interval: 3600 
   health-check:
     enable: true
     url: http://www.gstatic.com/generate_204
     interval: 300

proxy-groups:
- name: PROXY
  type: url-test
  url: http://www.gstatic.com/generate_204
  interval: 3600
  use: # 引入proxy-provider 使用 use 关键字
   - foo

# clash-rules项目提供的规则集
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400
  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400
  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400
  google:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
    path: ./ruleset/google.yaml
    interval: 86400
  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400
  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400
  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400
  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400
  greatfire:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
    path: ./ruleset/greatfire.yaml
    interval: 86400
  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400
  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400
  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400
  lancidr:
     type: http
     behavior: ipcidr
     url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
     path: ./ruleset/lancidr.yaml
     interval: 86400

分流规则

rules:
  - PROCESS-NAME,xray,DIRECT
  - PROCESS-NAME,v2ray,DIRECT
  - PROCESS-NAME,naive,DIRECT
  - PROCESS-NAME,trojan,DIRECT
  - PROCESS-NAME,trojan-go,DIRECT
  - PROCESS-NAME,ss-local,DIRECT
  - PROCESS-NAME,privoxy,DIRECT
  - PROCESS-NAME,leaf,DIRECT
  - PROCESS-NAME,v2ray.exe,DIRECT
  - PROCESS-NAME,xray.exe,DIRECT
  - PROCESS-NAME,naive.exe,DIRECT
  - PROCESS-NAME,trojan.exe,DIRECT
  - PROCESS-NAME,trojan-go.exe,DIRECT
  - PROCESS-NAME,ss-local.exe,DIRECT
  - PROCESS-NAME,privoxy.exe,DIRECT
  - PROCESS-NAME,leaf.exe,DIRECT
  - PROCESS-NAME,Surge,DIRECT
  - PROCESS-NAME,Surge 2,DIRECT
  - PROCESS-NAME,Surge 3,DIRECT
  - PROCESS-NAME,Surge 4,DIRECT
  - PROCESS-NAME,Surge%202,DIRECT
  - PROCESS-NAME,Surge%203,DIRECT
  - PROCESS-NAME,Surge%204,DIRECT
  - PROCESS-NAME,Thunder,DIRECT
  - PROCESS-NAME,DownloadService,DIRECT
  - PROCESS-NAME,qBittorrent,DIRECT
  - PROCESS-NAME,Transmission,DIRECT
  - PROCESS-NAME,fdm,DIRECT
  - PROCESS-NAME,aria2c,DIRECT
  - PROCESS-NAME,Folx,DIRECT
  - PROCESS-NAME,NetTransport,DIRECT
  - PROCESS-NAME,uTorrent,DIRECT
  - PROCESS-NAME,WebTorrent,DIRECT
  - PROCESS-NAME,aria2c.exe,DIRECT
  - PROCESS-NAME,BitComet.exe,DIRECT
  - PROCESS-NAME,fdm.exe,DIRECT
  - PROCESS-NAME,NetTransport.exe,DIRECT
  - PROCESS-NAME,qbittorrent.exe,DIRECT
  - PROCESS-NAME,Thunder.exe,DIRECT
  - PROCESS-NAME,ThunderVIP.exe,DIRECT
  - PROCESS-NAME,transmission-daemon.exe,DIRECT
  - PROCESS-NAME,transmission-qt.exe,DIRECT
  - PROCESS-NAME,uTorrent.exe,DIRECT
  - PROCESS-NAME,WebTorrent.exe,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

进阶版(白名单): 点击跳转(备用)

mixed-port: 7890
#---------------------------------------------------#
allow-lan: false
mode: Rule
log-level: silent
external-controller: 127.0.0.1:60000

# 节点配置文件统一存放在 ./profiles/proxies/ 目录中

proxy-providers:
# 从链接导入的配置文件(支持多个Clash 订阅链接)
 foo:
   type: http
   path: ./profiles/proxies/foo.yaml
   url: https://example-url (clash 订阅链接)
   interval: 3600 
   filter: 'Hong Kong' # 删选出含有该关键词的节点
   health-check:
     enable: true
     url: http://www.gstatic.com/generate_204
     interval: 300

 # 从本地导入的 clash 配置文件
 bar:
   type: file
   path: ./profiles/proxies/bar.yaml
   health-check:
     enable: true
     url: http://www.gstatic.com/generate_204
     interval: 600

proxy-groups:
- name: PROXY
  type: url-test
  url: http://www.gstatic.com/generate_204
  interval: 3600
  use: # 引入proxy-provider 使用 use 关键字
   - foo
   - bar
  proxies:
   - DIRECT

# clash-rules项目提供的规则集
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400
  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400
  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400
  google:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
    path: ./ruleset/google.yaml
    interval: 86400
  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400
  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400
  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400
  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400
  greatfire:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
    path: ./ruleset/greatfire.yaml
    interval: 86400
  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400
  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400
  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400
  lancidr:
     type: http
     behavior: ipcidr
     url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
     path: ./ruleset/lancidr.yaml
     interval: 86400

分流规则

rules:
  - PROCESS-NAME,xray,DIRECT
  - PROCESS-NAME,v2ray,DIRECT
  - PROCESS-NAME,naive,DIRECT
  - PROCESS-NAME,trojan,DIRECT
  - PROCESS-NAME,trojan-go,DIRECT
  - PROCESS-NAME,ss-local,DIRECT
  - PROCESS-NAME,privoxy,DIRECT
  - PROCESS-NAME,leaf,DIRECT
  - PROCESS-NAME,v2ray.exe,DIRECT
  - PROCESS-NAME,xray.exe,DIRECT
  - PROCESS-NAME,naive.exe,DIRECT
  - PROCESS-NAME,trojan.exe,DIRECT
  - PROCESS-NAME,trojan-go.exe,DIRECT
  - PROCESS-NAME,ss-local.exe,DIRECT
  - PROCESS-NAME,privoxy.exe,DIRECT
  - PROCESS-NAME,leaf.exe,DIRECT
  - PROCESS-NAME,Surge,DIRECT
  - PROCESS-NAME,Surge 2,DIRECT
  - PROCESS-NAME,Surge 3,DIRECT
  - PROCESS-NAME,Surge 4,DIRECT
  - PROCESS-NAME,Surge%202,DIRECT
  - PROCESS-NAME,Surge%203,DIRECT
  - PROCESS-NAME,Surge%204,DIRECT
  - PROCESS-NAME,Thunder,DIRECT
  - PROCESS-NAME,DownloadService,DIRECT
  - PROCESS-NAME,qBittorrent,DIRECT
  - PROCESS-NAME,Transmission,DIRECT
  - PROCESS-NAME,fdm,DIRECT
  - PROCESS-NAME,aria2c,DIRECT
  - PROCESS-NAME,Folx,DIRECT
  - PROCESS-NAME,NetTransport,DIRECT
  - PROCESS-NAME,uTorrent,DIRECT
  - PROCESS-NAME,WebTorrent,DIRECT
  - PROCESS-NAME,aria2c.exe,DIRECT
  - PROCESS-NAME,BitComet.exe,DIRECT
  - PROCESS-NAME,fdm.exe,DIRECT
  - PROCESS-NAME,NetTransport.exe,DIRECT
  - PROCESS-NAME,qbittorrent.exe,DIRECT
  - PROCESS-NAME,Thunder.exe,DIRECT
  - PROCESS-NAME,ThunderVIP.exe,DIRECT
  - PROCESS-NAME,transmission-daemon.exe,DIRECT
  - PROCESS-NAME,transmission-qt.exe,DIRECT
  - PROCESS-NAME,uTorrent.exe,DIRECT
  - PROCESS-NAME,WebTorrent.exe,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

进阶版配置文件(白名单模式+YouTube+Netflix 分流规则):点击跳转(备用)

mixed-port: 7890
allow-lan: false
mode: Rule
log-level: silent
external-controller: 127.0.0.1:60000
proxy-providers:
  BL:
    type: http
    path: ./profiles/proxies/BL.yaml
    url: "https://"
    interval: 3600
    filter: 'Hong Kong'
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300
  KY:
    type: http
    path: ./profiles/proxies/KY.yaml
    url: "https://"
    interval: 3600
    filter: 'IEPL-香港'
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300
  BLSG:
    type: http
    path: ./profiles/proxies/BLSG.yaml
    url: "https://"
    interval: 3600
    filter: 'Singapore'
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300
proxy-groups:
  - name: PROXY
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    use:
      - BL
      - KY
    proxies:
      - DIRECT
  - name: Netflix
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    use:
      - BLSG
  - name: Youtube
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    use:
      - KY
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400
  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400
  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400
  google:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
    path: ./ruleset/google.yaml
    interval: 86400
  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400
  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400
  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400
  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400
  greatfire:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
    path: ./ruleset/greatfire.yaml
    interval: 86400
  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400
  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400
  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400
  lancidr:
     type: http
     behavior: ipcidr
     url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
     path: ./ruleset/lancidr.yaml
     interval: 86400

分流规则

rules:
  - DOMAIN-KEYWORD,youtube,Youtube
  - DOMAIN,youtubei.googleapis.com,Youtube
  - DOMAIN,yt3.ggpht.com,Youtube
  - DOMAIN-SUFFIX,googlevideo.com,Youtube
  - DOMAIN-SUFFIX,gvt2.com,Youtube
  - DOMAIN-SUFFIX,withyoutube.com,Youtube
  - DOMAIN-SUFFIX,youtu.be,Youtube
  - DOMAIN-SUFFIX,youtube-nocookie.com,Youtube
  - DOMAIN-SUFFIX,youtube.com,Youtube
  - DOMAIN-SUFFIX,youtubeeducation.com,Youtube
  - DOMAIN-SUFFIX,youtubegaming.com,Youtube
  - DOMAIN-SUFFIX,youtubekids.com,Youtube
  - DOMAIN-SUFFIX,yt.be,Youtube
  - DOMAIN-SUFFIX,ytimg.com,Youtube
  - DOMAIN-KEYWORD,netflixdnstest,Netflix
  - DOMAIN,netflix.com.edgesuite.net,Netflix
  - DOMAIN-SUFFIX,fast.com,Netflix
  - DOMAIN-SUFFIX,netflix.com,Netflix
  - DOMAIN-SUFFIX,netflix.net,Netflix
  - DOMAIN-SUFFIX,netflixdnstest0.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest1.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest2.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest3.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest4.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest5.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest6.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest7.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest8.com,Netflix
  - DOMAIN-SUFFIX,netflixdnstest9.com,Netflix
  - DOMAIN-SUFFIX,nflxext.com,Netflix
  - DOMAIN-SUFFIX,nflximg.com,Netflix
  - DOMAIN-SUFFIX,nflximg.net,Netflix
  - DOMAIN-SUFFIX,nflxso.net,Netflix
  - DOMAIN-SUFFIX,nflxvideo.net,Netflix
  - IP-CIDR,8.41.4.0/24,Netflix,no-resolve
  - IP-CIDR,23.246.0.0/18,Netflix,no-resolve
  - IP-CIDR,37.77.184.0/21,Netflix,no-resolve
  - IP-CIDR,38.72.126.0/24,Netflix,no-resolve
  - IP-CIDR,45.57.0.0/17,Netflix,no-resolve
  - IP-CIDR,64.120.128.0/17,Netflix,no-resolve
  - IP-CIDR,66.197.128.0/17,Netflix,no-resolve
  - IP-CIDR,69.53.224.0/19,Netflix,no-resolve
  - IP-CIDR,103.87.204.0/22,Netflix,no-resolve
  - IP-CIDR,108.175.32.0/20,Netflix,no-resolve
  - IP-CIDR,185.2.220.0/22,Netflix,no-resolve
  - IP-CIDR,185.9.188.0/22,Netflix,no-resolve
  - IP-CIDR,192.173.64.0/18,Netflix,no-resolve
  - IP-CIDR,198.38.96.0/19,Netflix,no-resolve
  - IP-CIDR,198.45.48.0/20,Netflix,no-resolve
  - IP-CIDR,207.45.72.0/22,Netflix,no-resolve
  - IP-CIDR,208.75.76.0/22,Netflix,no-resolve
  - PROCESS-NAME,v2ray,DIRECT
  - PROCESS-NAME,xray,DIRECT
  - PROCESS-NAME,naive,DIRECT
  - PROCESS-NAME,trojan,DIRECT
  - PROCESS-NAME,trojan-go,DIRECT
  - PROCESS-NAME,ss-local,DIRECT
  - PROCESS-NAME,privoxy,DIRECT
  - PROCESS-NAME,leaf,DIRECT
  - PROCESS-NAME,v2ray.exe,DIRECT
  - PROCESS-NAME,xray.exe,DIRECT
  - PROCESS-NAME,naive.exe,DIRECT
  - PROCESS-NAME,trojan.exe,DIRECT
  - PROCESS-NAME,trojan-go.exe,DIRECT
  - PROCESS-NAME,ss-local.exe,DIRECT
  - PROCESS-NAME,privoxy.exe,DIRECT
  - PROCESS-NAME,leaf.exe,DIRECT
  - PROCESS-NAME,Surge,DIRECT
  - PROCESS-NAME,Surge 2,DIRECT
  - PROCESS-NAME,Surge 3,DIRECT
  - PROCESS-NAME,Surge 4,DIRECT
  - PROCESS-NAME,Surge%202,DIRECT
  - PROCESS-NAME,Surge%203,DIRECT
  - PROCESS-NAME,Surge%204,DIRECT
  - PROCESS-NAME,Thunder,DIRECT
  - PROCESS-NAME,DownloadService,DIRECT
  - PROCESS-NAME,qBittorrent,DIRECT
  - PROCESS-NAME,Transmission,DIRECT
  - PROCESS-NAME,fdm,DIRECT
  - PROCESS-NAME,aria2c,DIRECT
  - PROCESS-NAME,Folx,DIRECT
  - PROCESS-NAME,NetTransport,DIRECT
  - PROCESS-NAME,uTorrent,DIRECT
  - PROCESS-NAME,WebTorrent,DIRECT
  - PROCESS-NAME,aria2c.exe,DIRECT
  - PROCESS-NAME,BitComet.exe,DIRECT
  - PROCESS-NAME,fdm.exe,DIRECT
  - PROCESS-NAME,NetTransport.exe,DIRECT
  - PROCESS-NAME,qbittorrent.exe,DIRECT
  - PROCESS-NAME,Thunder.exe,DIRECT
  - PROCESS-NAME,ThunderVIP.exe,DIRECT
  - PROCESS-NAME,transmission-daemon.exe,DIRECT
  - PROCESS-NAME,transmission-qt.exe,DIRECT
  - PROCESS-NAME,uTorrent.exe,DIRECT
  - PROCESS-NAME,WebTorrent.exe,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

参考资料(不分先后顺序):感谢各位大佬的无私分享

  • 科学上网工具-免费的Clash代理工具使用、配置及需要避免的坑经验总结 – 小V爱折腾 (vlike.work)
  • https://github.com/Loyalsoldier/clash-rules
  • https://gist.github.com/ricky9w/31fffc1b6eadadba2603f323dc92bebf
  • https://github.com/Dreamacro/clash/wiki/configuration#proxy-groups
  • 官方概述 Rule providers 规则集
  • 官方概述 Proxy providers 规则集

常见问题

错误提示:initial proxy provider pqjc error: yaml: unmarshal errors: line 1: cannot unmarshal !!str dHJvamF... into provider.ProxySchema

  • 原因:因订阅地址后面 token 一般使用 BASE64 编码,Clash 无法识别
  • 解决方式:订阅地址加 &flag=clash,示例:https://xxx/api/v1/client/subscribe?token=82ec76201538xxx0f1a587f2f7c3&flag=clash

延伸阅读: proxy-provider 如何添加自建节点