让你的猫咪更适用

由 cfandora 发布

前言

有的人在开火箭,有的人在放射线,有的人撸猫咪。

作为从火箭、射线过度到猫咪的使用者,最终落定猫咪的最大原因就是它能很好的进行分流。

但非自建用户在使用第三方订阅的时候老是会觉得订阅里的规则好像不太适合自己,但改了yaml的话一更新订阅又恢复了,怎样才好呢?

Provider

这里就要引入猫咪官方提供的 Provider 功能,分为 Proxy-Provider 和 Rule-Provider,前者用于提取第三方订阅里的节点信息,也可以用来过滤,后者用于使用第三方提供的规则。后者仅非开源的 Premium Core 支持。
需要注意的是, Provider 和手动的 Proxy / Rule 配置写法可以混用。所以根据自己的情况可以灵活使用。

官方文档:Proxy-Provider / Rule-Provider



写法

proxy-providers:

  节点分组名-1:
      type: #类型 (如果是订阅链接填写http,如果是固定的本地文件填写file)
      url: #订阅链接 (如果上面写了http,这一栏就必须写,反之删掉)
      path: #本地路径 (订阅链接的配置保存路径或者固定本地文件的路径,默认使用 ./profiles/filename.yml)
      interval: #自动更新时间间隔 (写数字,单位是秒)
      health-check: #检查可用性
          enable: true
          interval: #检查间隔时间 (单位是秒)
          url: #用于检测的链接 (默认 http://www.gstatic.com/generate_204)

  (过滤示范)节点分组名-2:
      type: file
      path: #本地路径 (写前面订阅链接的配置保存路径或者固定本地文件的路径)
      filter: #用正则来写
      health-check: #同上
          enable: true
          interval: #同上
          url: #同上


常用的正则写法
'(日)' ---------- 过滤包含“日”字的节点
'(日|新)' ----- 过滤包含“日”字或者“新”字的节点

rule-providers:

  规则分组名:
    behavior: #行为类型 (分为domain/ipcidr/classical,无脑classical就行)
    type: #同上
    url: #同上
    path: #同上 (默认使用 ./ruleset/filename.yaml)
    interval: #同上


推荐使用:
作者:blackmatrix7
作者:HotKids

搭配使用

proxy-groups:
  - name: #呆梨分组名
    type: select
    proxies:
       - #非Provider的节点 (自建节点配置的名字或者DIRECT,REJECT一类的)
    use:
       - #Provider的节点分组名

rules:
  - RULE-SET,Provider的规则分组名,呆梨分组名
  - 手动规则写法balabala

更新 Provider

前面已经设置了自动更新时间。如果需要随意更新,可以点击猫咪客户端左边多出的 Providers,然后手动点击来更新每个 Provider

常见问题

部分第三方订阅在用作 Provider 时可能会提示 mapping values are not allowed in this context
很大因素是第三方提供者开启了反爬虫

解决办法:

  • (不太可能) 让提供者关掉反爬虫
  • 让提供者做一个订阅转换
  • (不麻烦提供者) 把这个订阅单独添加一个 Profile,接着 Provider 里的 filename 写成和单独 Profile 一样的,每次更新这个单独的 Profile 就行

暂无评论

发表评论