全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 446|回复: 2
打印 上一主题 下一主题

[美国VPS] 用gpt写了一个yaml规则自动更新

[复制链接]
跳转到指定楼层
1#
发表于 2024-5-15 12:29:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
部署到cloudflare的workers即可
支持
https://xxx.xxx.workers.dev/订阅链接

https://xxx.xxx.workers.dev/?link=订阅链接
两种调用方式

但是只支持yaml格式的订阅链接,如果你的订阅链接是vmess的base64加密,那么不支持
规则来自https://github.com/Loyalsoldier/clash-rules

代码如下

  1. addEventListener('fetch', event => {
  2.   event.respondWith(handleRequest(event.request))
  3. })

  4. async function handleRequest(request) {
  5.   const url = new URL(request.url)
  6.   console.log(url)
  7.   let subscriptionLink = url.searchParams.get('link')

  8.   // 如果没有通过查询参数提供订阅链接,则尝试从完整的 URL 中获取
  9.   if (!subscriptionLink) {
  10.     const hrefParts = request.url.split('/')
  11.     if (hrefParts.length > 3) {
  12.       subscriptionLink = hrefParts.slice(3).join('/')
  13.     }
  14.   }

  15.   // 如果仍然没有订阅链接,则使用默认链接
  16.   if (!subscriptionLink) {
  17.     subscriptionLink = 'https://default-subscription-link.com'
  18.   }

  19.   const config = `proxy-providers:
  20.   CNIX:
  21.     type: http
  22.     url: "${subscriptionLink}"
  23.     path: ./cnix.yaml
  24.     interval: 7200
  25. mixed-port: 7890
  26. allow-lan: false
  27. mode: rule
  28. log-level: debug
  29. ipv6: false
  30. external-controller: 0.0.0.0:9090
  31. dns:
  32.   enable: true
  33.   listen: 0.0.0.0:53
  34.   ipv6: false
  35.   default-nameserver:
  36.     - 223.5.5.5
  37.     - 114.114.114.114
  38.   nameserver:
  39.     - 223.5.5.5
  40.     - 114.114.114.114
  41.     - 119.29.29.29
  42.     - 180.76.76.76
  43.   enhanced-mode: fake-ip
  44.   fake-ip-range: 198.18.0.1/16
  45.   fake-ip-filter:
  46.     - "*.lan"
  47.     - "*.localdomain"
  48.     - "*.example"
  49.     - "*.invalid"
  50.     - "*.localhost"
  51.     - "*.test"
  52.     - "*.local"
  53.     - "*.home.arpa"
  54.     - router.asus.com
  55.     - localhost.sec.qq.com
  56.     - localhost.ptlogin2.qq.com
  57.     - "+.msftconnecttest.com"
  58. tun:
  59.   enable: true
  60.   stack: system
  61.   auto-route: true
  62.   auto-detect-interface: true
  63.   dns-hijack:
  64.     - 114.114.114.114
  65.     - 180.76.76.76
  66.     - 119.29.29.29
  67.     - 223.5.5.5
  68.     - 8.8.8.8
  69.     - 8.8.4.4
  70.     - 1.1.1.1
  71.     - 1.0.0.1

  72. proxy-groups:
  73.   - name: PROXY
  74.     type: select
  75.     proxies:
  76.       - CNIX
  77.       - DIRECT
  78.   - name: CNIX
  79.     type: select
  80.     use:
  81.       - CNIX

  82. rule-providers:
  83.   reject:
  84.     type: http
  85.     behavior: domain
  86.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
  87.     path: ./ruleset/reject.yaml
  88.     interval: 36000

  89.   icloud:
  90.     type: http
  91.     behavior: domain
  92.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
  93.     path: ./ruleset/icloud.yaml
  94.     interval: 36000

  95.   apple:
  96.     type: http
  97.     behavior: domain
  98.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
  99.     path: ./ruleset/apple.yaml
  100.     interval: 36000

  101.   google:
  102.     type: http
  103.     behavior: domain
  104.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
  105.     path: ./ruleset/google.yaml
  106.     interval: 36000

  107.   proxy:
  108.     type: http
  109.     behavior: domain
  110.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
  111.     path: ./ruleset/proxy.yaml
  112.     interval: 36000

  113.   direct:
  114.     type: http
  115.     behavior: domain
  116.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
  117.     path: ./ruleset/direct.yaml
  118.     interval: 36000

  119.   private:
  120.     type: http
  121.     behavior: domain
  122.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
  123.     path: ./ruleset/private.yaml
  124.     interval: 36000

  125.   telegramcidr:
  126.     type: http
  127.     behavior: ipcidr
  128.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
  129.     path: ./ruleset/telegramcidr.yaml
  130.     interval: 36000

  131.   cncidr:
  132.     type: http
  133.     behavior: ipcidr
  134.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
  135.     path: ./ruleset/cncidr.yaml
  136.     interval: 36000

  137.   lancidr:
  138.     type: http
  139.     behavior: ipcidr
  140.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
  141.     path: ./ruleset/lancidr.yaml
  142.     interval: 36000

  143.   applications:
  144.     type: http
  145.     behavior: classical
  146.     url: "https://testingcf.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt"
  147.     path: ./ruleset/applications.yaml
  148.     interval: 36000

  149. rules:
  150.   - RULE-SET,applications,DIRECT
  151.   - DOMAIN,clash.razord.top,DIRECT
  152.   - DOMAIN,yacd.haishan.me,DIRECT
  153.   - RULE-SET,private,DIRECT
  154.   - RULE-SET,reject,REJECT
  155.   - DOMAIN,www.icloud.com,PROXY
  156.   - DOMAIN-SUFFIX,icloud-content.com,PROXY
  157.   - RULE-SET,icloud,DIRECT
  158.   - RULE-SET,apple,PROXY
  159.   - RULE-SET,google,PROXY
  160.   - RULE-SET,proxy,PROXY
  161.   - RULE-SET,direct,DIRECT
  162.   - RULE-SET,lancidr,DIRECT
  163.   - RULE-SET,cncidr,DIRECT
  164.   - RULE-SET,telegramcidr,PROXY
  165.   - MATCH,PROXY`

  166.   return new Response(config.trim(), {
  167.     headers: { 'content-type': 'text/plain' },
  168.   })
  169. }
复制代码
2#
发表于 2024-5-15 12:34:31 | 只看该作者
居然没人说是好还是不好。
3#
发表于 2024-5-15 12:35:51 | 只看该作者
worker应该能实现subconverter的功能把,不过感觉代码量不少
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-5 08:14 , Processed in 0.062252 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表