myesn

myEsn2E9

hi
github

Clash for Windows 兼顾 Profiles(订阅) 更新和自定义规则

编辑 Parsers 字段:
image

填入以下配置(YAML 语法):

parsers:
  - url: https://example.com/example.yaml
    code: |
      module.exports.parse = (raw, { yaml }) => {
        const { rules = [], ...rest } = yaml.parse(raw) || {}
        const removeList = [
          'DOMAIN-SUFFIX,notion.so,KELECLOUD',
          'MATCH,KELECLOUD'
        ]
        const addList = [
          'MATCH,DIRECT'
        ]

        const newRules = rules.filter(x => !removeList.includes(x))
        newRules.push(...addList)

        return yaml.stringify({ ...rest, rules: newRules })
      }

然后对上述配置做出以下修改

  1. url 配置的值更改为自己的订阅地址。
  2. removeList 的数组中填入要移除的规则,在 addList 数组中填入要添加的规则,规则语法参阅:规则编辑 | Clash for Windows (lbyczf.com),常见的匹配规则有:
    假定要代理的域名为 “baidubce.com”:
    • DOMAIN-SUFFIX:域名后缀匹配,比如:将会代理 baidubce.com” 和 *.baidubce.com 域名下所有请求,即域名后缀以 a.com 结尾的所有域名。
    • DOMAIN:域名匹配,比如:仅代理限定的 baidubce.com 域名下的所有请求。
      举例:
    • ”DOMAIN,baidubce.com,DIRECT” 表示代理限定域名 “a.com” 的请求,符合规则的请求将走 DIRECT 策略,也就是直连,不经过代理,”DIRECT“(直连)、”REJECT“(拒绝) 是 Clash for Windows 内置的策略 (policy),其余均为自定义 policy,不同的订阅,机场主配置的 “proxy-groups” 名称也不同,根据自己订阅中的 “proxy-groups” 配置为准,“proxy-groups” 会将 “proxies” 字段的值分组。
    • ”DOMAIN-SUFFIX,baidubce.com,KELECLOUD” 表示代理域名 “baidubce.com” 和 “*.baidubce.com” 下的请求,符合规则的请求走 “KELECLOUD” 策略(机场主自定义策略),该策略值取自订阅内容中的 “proxy-groups” 字段。
  3. 更新订阅,因为只有在每次更新订阅后,才会执行 parsers 中配置的 js 代码规则

配置后,可以通过在百度中搜索 ip 关键字来测试,规则是否符合期望,百度的 IP 查询模块,调用的接口域名后缀就是上面例子中的 “baidubce.com”:
image

参考#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。