有没有优雅的 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,♻️ 自动选择
10121 次点击
所在节点    宽带症候群
38 条回复
enzyme
2023-05-24 05:46:43 +08:00
用 proxy-providers 和 rule-providers
eb0c6551
2023-05-24 05:55:41 +08:00
我也想找到一个比较好的办法,我目前用免费的 Cloudflare Workers ,直接暴力替换和编辑 yaml 文件再返回,相当于自己又订阅“转换”了一层。
SenLief
2023-05-24 07:22:26 +08:00
自己托管规则在 gist ,然后修改 gist 更新即可。
aptupdate
2023-05-24 07:34:29 +08:00
https://github.com/LittlePonyX/ClashXKindly-config
可以试试这个,如果是 Meta 内核的话就能更简单点。
AS4694lAS4808
2023-05-24 07:42:27 +08:00
目前是一个文件写好所有规则,包括 proxy ,proxy-provider ,rule-provider ,精心设置的 rule (比如 MATCH 选择, 选择 use Direct 和一个 proxy-provider ,方便随时切换白名单模式和 gfw 模式),然后传到公网私有 git ,供所有客户端订阅。
shunia
2023-05-24 09:46:38 +08:00
1 楼正解,我也是上个月才知道的。需要根据原始订阅链接,手写一份 yml ,以后就基本可以一劳永逸了。

```
proxy-providers:
{定一个名字比如机场}:
url: {clash 的原始订阅链接}
{...其他字段比如更新频率}

rule-providers:
reject:
url: {三方规则的链接,比如 Loyalsoldier 或者 ACL4SSR}
{...其他规则}
```

剩下的内容保留原始订阅文件的大部分内容,去掉并对应更改原始订阅里的 rules 就好了。

另外还学了一个 relay 的设置方法,感觉有的时候也挺有用的: https://gist.github.com/miaomiaoclub/6947f7cb93846301f1658da0edcd61bf
kongxiao00532
2023-05-24 09:49:05 +08:00
马一波 每次更新以后改规则太痛苦了
sp670
2023-05-24 10:06:09 +08:00
一直记事本手搓的路过。。。
ryalu
2023-05-24 10:16:56 +08:00
用 proxy-providers 和 rule-providers, 自己定义好模版,然后自己弄个脚本解析下订阅链接并填充到模板中,这个只需要手动生成一次就行。我自己搞了个可以参考下 https://github.com/ryan961/clashset
banmuyutian
2023-05-24 10:17:01 +08:00
我的做法:fork 一份 ACL4SSR 按个人需求修改,部署 subconverter 到自己的轻量服务器,这样多端都可以拿到统一配置了
lihang1329
2023-05-24 10:38:53 +08:00
happy23
2023-05-24 10:55:07 +08:00
前段时间刚在捣鼓,目前是自己搭建了 subconverter ,然后在 subconverter 自定义了规则。
ae
2023-05-24 11:19:19 +08:00
关注一下
xipuxiaoyehua
2023-05-24 11:20:32 +08:00
有没有可能 subconveter 就可以自定义配置呢
zhywang
2023-05-24 11:45:58 +08:00
自己写个 python 脚本,定义好分组逻辑,然后用这个脚本生成最终的 yml 不就好了,估计简单需求逻辑代码 100 行以内就可以搞定
K8dcnPEZ6V8b8Z6
2023-05-24 11:49:37 +08:00
自己手搓 然后把原始规则作为 provider 就好
规则这种东西真的只能各用各的
Mrcocoa
2023-05-24 15:43:43 +08:00
之前用的 proxy-providers ,在 mac clash pro ,整合了两三和机场的节点,然后每次点开 clash 选节点就很卡,难道节点太多了?
xausky
2023-05-24 16:44:48 +08:00
自己写 config 挂到 gist 然后 subconverter 连接里面贴上自己的配置地址就像我这个: https://gist.github.com/xausky/44a5472f515713067202faa649ea303f/raw/rules.ini
traffic
2023-05-24 17:00:34 +08:00
可能有几位误解了,不是说要在 subconverter 中自定义配置地址。

subconverter 中已经添加了 ACL4SSR 的配置,然后导入到 Clash For Windows ,再进行修改。

我目前让 AI 写了一个 Cloudflare Workers 脚本,相当于在线实现 Clash For Windows 的 Parsers 。
但很可惜不能用,我不懂 JS 所以没办法排错,有没有大佬看看
即:
- 传入 2 个 YAML ,一个完整的原始 Clash YAML 配置,一个和 Clash For Windows 的 Parsers 一样的 YAML
- 根据 Parsers 对原始 YAML 进行修改
- 返回修改过的 YAML

https://paste.gg/p/anonymous/7af30bc8183949f5ad3a6b3293bc1315
sheg
2023-05-24 17:27:00 +08:00

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

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

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

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

© 2021 V2EX