前言
继之前我们介绍了Clash配置rule-providers实现自由搭配及自动更新规则功能后,今天我们来看下如何配置proxy-providers实现自由搭配自建及机场节点。这对于想要将自己的节点和机场节点整合到一个配置文件中进行管理的人们来说非常方便。
本文最后更新于2022年4月20日,已超过 899天没有更新,如文章内容或资源失效,请留言反馈。订阅TG频道获取更多福利前言 目前各大订阅转换服务在选择clash订阅类型时,会将所选的远程配置中所有rules规则全部拉取并填充在相应的yaml配置文件中。这样的配置文件有以下几点弊端: 文件内容及行数较多 自行添加及修改部分规则内容较为麻烦 对于自己搭建节点的用户,无法自动更新 受限于远程配置,无法自由组合自己想要的规则 在了解到Clash Premium Core支持rule-providers功能后,我们便可以完美的解决上述问题。 文件配置 首先我们来看下官方wiki中对于rule-providers字段及对应rules字段的配置示例说明: rule-providers: apple: behavior: "domain" # domain, ipcidr or classical (premium core only) type: http url: "url" interval: 3600 path: ./apple.yaml microsoft: behavior: "domain" type: file path: /microsoft.yaml 我们可以看到在rule-providers字段中,需要有以下内容: behavior:可填写 domain ipcidr classical type:可填写http及file「在线文件填写http,本地文件填写file」 interval:更新间隔 path:文件储存路径 behavior的三种类型对应的文件内容格式分别如下: domain payload: - '.blogger.com' - '*.*.microsoft.com' - […]
文件配置
首先我们来看下官方wiki中对于proxy-providers字段及对应proxy-groups字段的配置示例说明:
# config.yaml
proxy-providers:
provider1:
type: http
url: "url"
interval: 3600
path: ./provider1.yaml
health-check:
enable: true
interval: 600
# lazy: true
url: http://www.gstatic.com/generate_204
我们可以看到在proxy-providers字段中,需要有以下内容:
provider1
:自定义名称,可根据自己的喜欢命名对应的proxy-providertype
:可填写http及file「在线文件填写http,本地文件填写file」url
:填写对应的机场订阅地址interval
:更新间隔path
:文件储存路径及名称health-check
:是否开启健康检查,即检测延迟
假设我们希望在自己的clash配置中整合某机场并命名为“✈️ 我的机场”,更新间隔为1天,并且开启延迟检测,检测间隔为10分钟,则我们proxy-providers字段编写类似如下:
proxy-providers:
✈️ 我的机场:
type: http
url: "https://我的机场clash订阅地址"
interval: 86400
path: ./wodejichang.yaml
health-check:
enable: true
interval: 600
url: http://www.gstatic.com/generate_204
接着我们来看对应的proxy-groups字段配置示例:
- name: UseProvider
type: select
use:
- provider1
proxies:
- Proxy
- DIRECT
由此可见,如果我们需要在proxy-groups中引入对应的proxy-providers,需要使用use字段。假设我们需要将“✈️ 我的机场”的节点+自建节点1+自建节点2引入到ACL4SSR规则组中的“🚀 节点选择”组别,则我们对应的proxy-groups字段编写类似如下:
proxy-groups:
- name: 🚀 节点选择
type: select
proxies:
- ♻️ 自动选择
- DIRECT
- 自建节点1
- 自己节点2
use:
- ✈️ 我的机场
即我们自己的节点,如果想要引入对应的规则组,需要使用 proxies
引入,机场的节点,需要使用 use
引入。如果大家使用的是ACL4SSR规则,只需在对应的各个规则组中以此参照此种方式添加即可。