有没有优雅的 Clash 规则修改方式

2023-05-24 02:10:18 +08:00
 traffic

我目前的 CLASH 订阅使用方式是


Parser 很好用,能够添加策略组、新订阅、新节点等等。

但是手机、路由器该怎么办呢? Parser 是 Clash For Windows 独有的功能。


所以想请教各位,有没有什么办法能够直接在订阅链接里就将规则自定义(基于某个现有规则修改)完成,而不需要依赖于特定客户端。

这样既不用自己维护基础规则,又能根据自己的需要进行修改,同时不局限于某个客户端实现。

订阅链接例子:

https://acl4ssr-sub.github.io//sub?target=clash&new_name=true&url=<订阅链接>&insert=false&config=https%3A%2F%2Fraw.githubusercontent.com%2FACL4SSR%2FACL4SSR%2Fmaster%2FClash%2Fconfig%2FACL4SSR_Online_Full_MultiMode.ini&emoji=true&list=false&tfo=false&scv=false&fdn=false&sort=false&clash.doh=true&new_name=true&append_type=true&udp=true&scv=true

Parser 例子:

parsers: # array
  #匹配所有这个开头的规则
  - reg: https://(acl4ssr-sub|sub.xeton).dev.+$
    yaml:
      #mix-object:
       # authentication:
        #  - "proxy:K"
      append-proxies: #添加自定义节点
        - name: "socks5 代理"
          type: socks5
          server: geo.
          port: 42
          username: 
          password: 
          # tls: true
          # skip-cert-verify: true
          # udp: true
      append-proxy-groups: # 添加自定义策略组
        - name: 🇹🇷 土耳其节点
          type: select
          url: http://www.gstatic.com/generate_204
          interval: 300
          proxies:
            - DIRECT
            - 🚀 节点选择
        - name: 🇪🇺 欧洲节点
          type: select
          url: http://www.gstatic.com/generate_204
          interval: 300
          proxies:
            - DIRECT
            - 🚀 节点选择
        - name: 🇪🇺 欧盟节点
          type: select
          url: http://www.gstatic.com/generate_204
          interval: 300
          proxies:
            - DIRECT
            - 🚀 节点选择
        - name: 🚰 大流量
          type: select
          url: http://www.gstatic.com/generate_204
          interval: 300
          proxies:
            - DIRECT
          use:
            - hightraffic
            #- hightraffic2
        - name: 🚰 大流量选择器
          type: select
          url: http://www.gstatic.com/generate_204
          interval: 300
          proxies:
            - DIRECT
          use:
            - hightraffic
            #- hightraffic2
        - name: 🚰 大流量负载均衡
          type: load-balance
          url: http://www.gstatic.com/generate_204
          interval: 300
          use:
            - hightraffic
            #- hightraffic2
        - name: 🚰 大流量自动选择
          type: url-test
          url: http://www.gstatic.com/generate_204
          interval: 300
          use:
            - hightraffic
            #- hightraffic2
      mix-proxy-providers:  #添加自定义规则组
        hightraffic: 
          type: http 
          path: ./Proxy/hightraffic.yaml 
          #大流量机场的订阅链接,需要是 clash 格式
          url: https://
          interval: 21600 
          health-check:  
              enable: true
              url: http://www.gstatic.com/generate_204
              interval: 300
      commands:
        # 向 策略组 内添加节点
        #- proxy-groups.🚰 大流量.proxies=[]proxyNames|^(?=(.Trojan.*(香港)))\1((?!(Hongkong)).)*$
        #- proxy-groups.🚰 大流量负载均衡.proxies=[]proxyNames|^(?=(.Trojan.*(香港)))\1((?!(Hongkong)).)*$
        # 向 其他策略组 添加 该策略组
        - proxy-groups.🚀 节点选择.proxies.0+🚰 大流量 # 向 🚀 节点选择 策略组添加组名🚰大流量  
        - proxy-groups.🚀 节点选择.proxies.0+🚰 大流量负载均衡
        - proxy-groups.🚀 节点选择.proxies.0+🚰 大流量自动选择
        - proxy-groups.Ⓜ️ 微软云盘.proxies.0+🚰 大流量
        - proxy-groups.Ⓜ️ 微软云盘.proxies.0+🚰 大流量负载均衡
        - proxy-groups.Ⓜ️ 微软云盘.proxies.0+🚰 大流量自动选择

      prepend-rules:  #添加自定义规则
        # 自定义开始
        - DOMAIN-SUFFIX,example.com,♻️ 自动选择
13527 次点击
所在节点    宽带症候群
39 条回复
NoInternet
2023-05-24 17:46:06 +08:00
我是在 openclash 里编辑,然后从配置文件里复制出来
MYDB
2023-05-24 18:00:19 +08:00
根据 wiki 说明所有内容纯手写的……用到哪个写哪个,至于节点订阅更新,稍微大点的机场半年不会变
Mythologyli
2023-05-24 18:44:44 +08:00
@traffic 直接在 ACL4SSR 基础上改好,写个新的 config 给 subconvertor 用就好,为啥要在客户端改
tony1016
2023-05-24 19:02:58 +08:00
我放在自建的 nextcloud ,用 proxy-provider 引入机场,规则自定义
traffic
2023-05-24 19:29:45 +08:00
@Mythologyli #23 首先是因为手动覆盖规则比较麻烦,其次是自动更新上游也比较麻烦,再者是规则里面似乎是不能添加节点的?
LAMoon
2023-05-24 20:11:33 +08:00
直接 github 自己写一个就行了
Solar666
2023-05-24 20:13:36 +08:00
🐎
Yuesh1
2023-05-24 20:26:21 +08:00
Mythologyli
2023-05-25 01:06:18 +08:00
@traffic
https://imgur.com/a/wrbydFY
更新上游的话,config 里可以直接用 URL 的方式使用上游的规则 list ,连手动 Merge 都省了。自己的规则 /分组额外加进去就可以
如果需要覆盖 ACL4SSR 已有的规则,直接自己创一个规则排在最前面,Clash 会优先匹配
至于添加节点,这就是 subconverter 的基本功能,可以看看 subconverter 的 README
traffic
2023-05-25 01:53:09 +08:00
@Mythologyli #29 我知道可以 subconverter 可以添加,但我是将某个订阅的所有节点添加到某个组,比如大流量机场订阅单独放一个组,而不合并到原策略组中。
而覆盖规则我分的节点比较杂,ruleset 这种写法不太适合我,且可能要根据机场调整。
f0rger
2023-05-25 23:09:51 +08:00
其实上面都说了,subconverter 本身就支持自定义,包括你说的 cfw 以及其他的设备,最多就是 ini 配置不一样,这点你可以直接在 worker 里面判断来源的 ua 头使用不同的 ini 就可以实现了。你所使用的 acl 那个配置你有打开看看吗,你打开看看就明白了,不明白的就看 acl 的在 gh 上的那个文档
VxJiahua
2023-05-27 11:40:02 +08:00
我只知道软路由 openclash ,自己写策略组
wayne3602
2023-07-27 15:55:13 +08:00
@shunia 请问这个 relay 是什么意思呢?我导入自建的节点(节点都有效),在节点选择里选了 iRimo Private Relay ,但是 iRimo Private Relay 的延迟超时,但可以科学上网,他是类似于自动选择吗
shunia
2023-07-28 22:12:09 +08:00
@wayne3602 #33 relay 已经被 tunnel 代替了,可以搜一下帖子,和我发的 gist 是同一个作者。
作用我个人觉得是两个:
一个是确保出口 ip 稳定,某些情况下有点用;
一个是你有一个高速稳定的国内中转的机场,可以拿它的高速中转衔接任何目标服务器,基本上可以无视目标服务器的网络(实际还是受延迟影响的);

比如你有 oracle 的免费服务器但是直连很渣,那么前面配一个贼便宜的高速中转机场,就可以把 oracle 变成可以高速访问了。不过注意是浪费两次流量。

不过话说回来,实际情况下可能作用都很有限,我配好了一个 tunnel ,大部分情况下不如我的机场本身稳定和快速,比较鸡肋。
wayne3602
2023-07-29 00:41:01 +08:00
@shunia 有点高级哈哈,研究研究
HeMinWon
2023-11-16 11:37:20 +08:00
@enzyme proxy-providers 如何做正则匹配
traffic
2023-12-21 20:34:25 +08:00
让 GPT4 写了一个 python 版的,command 实现有点不正确,其他的基本没啥问题。
我 command 用的不多懒得改了,使用方法已经写在里面了。

https://paste.gg/p/anonymous/907d4221f0234c07b3ef55bbc37e104e
traffic
2023-12-21 21:40:05 +08:00
traffic
79 天前
发现了这个项目,已经用上了
https://github.com/InoryS/Clash-Parser-Online

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/942427

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX