banner
oldcatY

oldcatY

中轻度LoveLive厨,主推莲团,二推水+虹团(缪团是神,星团……)
twitter
github
bilibili
steam

【科學上網】使用Clash for windows的Parsers功能實現對所有機場進行訂閱轉換

免責聲明#

  • 轉載自 Github 並稍作修改
  • 本配置僅適用於更換了 Clash Meta 核心的 Clash for Windows 軟體!!!

配置#

利用 parsers 功能,無論導入什麼訂閱鏈接,都会轉化為自己的規則

parsers: # array  
  # - reg: ^.*$ 匹配所有訂閱,或  - url: https://example.com/profile.yaml 指定訂閱  
  - reg: ^.*$ 
    # 刪除服務商提供的策略組和規則  
    code: |
      module.exports.parse = (raw, { yaml }) => {  
        const rawObj = yaml.parse(raw)  
        const groups = []  
        const rules = []  
        return yaml.stringify({ ...rawObj, 'proxy-groups': groups, rules })  
      }   
    yaml: # 建立自己的配置  
      prepend-proxy-groups: # 建立策略組
        - name: 🚀 節點選擇 
          type: select
        - name: ⏬ 流量消耗器
          type: select
          
  # 策略組示例  
       # - name: 分組名  
         # type: select       # 手動選點     
               # url-test     # 自動選擇延遲最低的節點  
               # fallback     # 節點故障時自動切換下一個  
               # load-balance # 均衡使用分組內的節點  
         # url: http://www.gstatic.com/generate_204 # 測試地址 非select類型分組必要  
         # interval: 300 # 自動測試間隔時間,單位秒 非select類型分組必要  
         # tolerance: 50 # 允許的偏差,節點之間延遲差小於該值不切換 非必要  
         # proxies:    
           # - 節點名稱或其他分組套娃  
            
      commands: # 向指定策略組添加訂閱中的節點名,可使用正則過濾  
        # 一些可能用到的正則過濾節點示例,使分組更細緻  
        # []proxyNames|a                         # 包含a  
        # []proxyNames|^(.*)(a|b)+(.*)$          # 包含a或b  
        # []proxyNames|^(?=.*a)(?=.*b).*$        # 包含a和b  
        # []proxyNames|^((?!b).)*a((?!b).)*$     # 包含a且不包含b  
        # []proxyNames|^((?!b|c).)*a((?!b|c).)*$ # 包含a且不包含b或c  
        - proxy-groups.🚀 節點選擇.proxies=[]proxyNames
        - proxy-groups.⏬ 流量消耗器.proxies=[]proxyNames
      # 添加規則  
      prepend-rules: # 規則由上往下遍歷,如上面規則已經命中,則不再往下處理 
        - "AND,(AND,(DST-PORT,443),(NETWORK,UDP)),(NOT,((GEOIP,CN))),REJECT"
        # 屏蔽搜狗 & 360 & B站短鏈接
        - GEOSITE,sogou,REJECT
        - GEOSITE,qihoo360,REJECT
        # 流量消耗器 & Speedtest
        - DOMAIN-SUFFIX,db.laomoe.com,⏬ 流量消耗器
        - GEOSITE,speedtest,⏬ 流量消耗器
        # Geosite
        - GEOSITE,category-scholar-!cn,🚀 節點選擇
        - GEOSITE,category-ads-all,REJECT
        - GEOSITE,youtube,🚀 節點選擇
        - GEOSITE,google,🚀 節點選擇
        - GEOSITE,bilibili@!cn,🚀 節點選擇
        - GEOSITE,cn,DIRECT
        - GEOSITE,private,DIRECT
        - GEOSITE,steam@cn,DIRECT
        - GEOSITE,category-games@cn,DIRECT
        - GEOSITE,epicgames,DIRECT
        - GEOSITE,geolocation-!cn,🚀 節點選擇
        - DOMAIN-SUFFIX,odysseyplus.site,🚀 節點選擇
        - DOMAIN-SUFFIX,pilipiliultra.top,🚀 節點選擇
        - DOMAIN-SUFFIX,jmsooo.com,🚀 節點選擇
        - DOMAIN-SUFFIX,misakaf.org,🚀 節點選擇
        - GEOIP,private,DIRECT,no-resolve
        - GEOIP,telegram,🚀 節點選擇
        - GEOIP,CN,DIRECT
        - DOMAIN-SUFFIX,cn,DIRECT
        - MATCH,🚀 節點選擇

附上 mixin 規則#

mixin: # object
  mode: rule                            # 規則模式:rule(規則) / global(全局代理)/ direct(全局直連)/ script (腳本)
  ipv6: true                            # 開啟 IPv6 總開關,關閉阻斷所有 IPv6 鏈接和屏蔽 DNS 請求 AAAA 記錄
  log-level: info                       # 設置日誌輸出級別 (5 個級別:silent / error / warning / info / debug)
  mixed-port: 20810                     # 混合端口,HTTP和SOCKS5用一個端口
  unified-delay: true                   # 統一延遲,更換延遲計算方式,去除握手等額外延遲
  tcp-concurrent: true                  # 【Meta專屬】TCP 並發連接所有 IP, 將使用最快握手的 TCP
  keep-alive-interval: 15               # TCP keep alive interval

  geodata-mode: true                    # 【Meta專屬】使用geoip.dat數據庫(默認:false使用mmdb數據庫)
  geox-url:                             # 自定義 geodata url, 需要有代理的前提才能下載geoip和geosite
    geoip: "https://gcore.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
    geosite: "https://gcore.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
    mmdb: "https://gcore.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb"

  find-process-mode: strict             # 匹配所有進程(always/strict/off)
  global-client-fingerprint: chrome     # 全局 TLS 指紋,優先低於 proxy 內的 client-fingerprint
                                        # 可選: "chrome","firefox","safari","ios","random","none" options.

  profile:
    store-selected: true                # 存儲 select 選擇記錄
    store-fake-ip: true                 # 持久化 fake-ip

  sniffer:                              # 嗅探域名 可選配置
    enable: true
    parse-pure-ip: true                 # 是否使用嗅探結果作為實際訪問,默認 true
    sniff:
      TLS:                              # TLS 默認嗅探 443
        ports: [443, 8443]
      HTTP:
        ports: [80, 8080-8880]
        override-destination: true
    force-domain: []                    # 強制對此域名進行嗅探

  dns:
    enable: true                        # 關閉將使用系統 DNS
    prefer-h3: true                     # 是否開啟 DOH 的 http/3
    ipv6: true                          # IPV6解析開關;如果為false,將返回ipv6結果為空
    enhanced-mode: fake-ip              # 模式:redir-host或fake-ip
    listen: 0.0.0.0:1053                # DNS 監聽地址
    use-hosts: true                     # 是否查詢系統 hosts
    fake-ip-range: 198.18.0.1/16        # fakeip 下的 IP 段設置,tun 網卡的默認 ip 也使用此值
    fake-ip-filter: ['+.lan', '+.msftncsi.com', 'msftconnecttest.com', '+.msftconnecttest.com', '*.msftncsi.com', '*.msftconnecttest.com']
                                        # Fake-ip 過濾,列表中的域名返回真實IP
    default-nameserver: [223.5.5.5, 119.29.29.29]
                                        # 解析非IP的dns用的dns伺服器,只支持純IP,(Meta可為其加密)
    nameserver: [tcp://208.67.222.222#Proxy, tcp://8.8.8.8#Proxy]
                                        # 默認DNS伺服器,支持udp/tcp/dot/doh/doq
    proxy-server-nameserver: [https://223.5.5.5/dns-query, https://1.12.12.12/dns-query]
                                        # 代理DNS伺服器,支持udp/tcp/dot/doh/doq
    nameserver-policy:
      "geosite:cn,private,geolocation-!cn@cn,bytedance,steam@cn,epicgames,microsoft@cn,apple@cn": [223.5.5.5#DIRECT, 119.29.29.29#DIRECT]
      "geosite:steam": [tcp://1.1.1.1#Proxy]
                                        # 指定域名查詢的解析伺服器,可使用 geosite, 優先於 nameserver/fallback 查詢
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。