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 查询
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。