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

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

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

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

https://paste.gg/p/anonymous/907d4221f0234c07b3ef55bbc37e104e
traffic
144 天前

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

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

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

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

© 2021 V2EX