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

參考#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。