clashN
clashN copied to clipboard
有个想法,希望可以追加配置路由,在更新订阅的情况下
现在可以编辑配置文件追加路由,但是更新一下订阅就被覆盖了
查看clash的wiki,没有相关接口 clash的节点和路由时耦合的,所以无法在订阅后追加(插入)一个通用的路由; 先不谈是否能实现,请给出你觉得合适的方案
在rules配置下 把自定义的配置放在最前,类似这样:
cfw好像是提供个配置文件让编辑,在setting-profies-parsers
这个方案可行 但是需要给每个订阅配置独立设置,比较繁琐
这个方案可行 但是需要给每个订阅配置独立设置,比较繁琐
要不就当这个自定义路由是固定的通用的,在每个订阅更新后都给它加进去
支持,这样可以本地自定义自己的规则,一直保留。
使用Mixin全局功能实现了简单的附加功能
配置文件内容不会被修改,混合行为只会发生在内存中
注意下面缩进,请用支持yaml显示的编辑器打开
使用clash配置文件关键字则覆盖原配置
append-rules 数组合并至原配置rules数组后
prepend-rules 数组合并至原配置rules数组前
append-proxies 数组合并至原配置proxies数组后
prepend-proxies 数组合并至原配置proxies数组前
append-proxy-groups 数组合并至原配置proxy-groups数组后
prepend-proxy-groups 数组合并至原配置proxy-groups数组前
使用Mixin全局功能实现了简单的附加功能
配置文件内容不会被修改,混合行为只会发生在内存中 注意下面缩进,请用支持yaml显示的编辑器打开 使用clash配置文件关键字则覆盖原配置 append-rules 数组合并至原配置rules数组后 prepend-rules 数组合并至原配置rules数组前 append-proxies 数组合并至原配置proxies数组后 prepend-proxies 数组合并至原配置proxies数组前 append-proxy-groups 数组合并至原配置proxy-groups数组后 prepend-proxy-groups 数组合并至原配置proxy-groups数组前
有几个问题: 如果我的机场订阅来内容大概如下: `proxies:
- {name: 🇹🇼 台湾2a,......} proxy-groups:
- name: 🔰 节点选择
type: select
proxies:
- ♻️ 自动选择
- 🎯 全球直连
- 🇹🇼 台湾2a
- name: ♻️ 自动选择
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 🇹🇼 台湾2a
- name: 🎯 全球直连
type: select
proxies:
- DIRECT
- name: 🛑 全球拦截
type: select
proxies:
- REJECT
- DIRECT
- name: 🐟 漏网之鱼
type: select
proxies:
- 🔰 节点选择
- 🎯 全球直连
- ♻️ 自动选择
- 🇹🇼 台湾2a rules:
- DOMAIN-SUFFIX,local,🎯 全球直连
- DOMAIN-SUFFIX,4009997658.com,🛑 全球拦截
- DOMAIN-KEYWORD,google,🔰 节点选择
- GEOIP,CN,🎯 全球直连
- MATCH,🐟 漏网之鱼
`
这样漏网之鱼全要走代理,而我希望调整的是: 1、用gfw列表配置一个rule-providers, 2、后在rule段中增加对gfw的代理规则, 3、替换现有漏网之鱼规则改走全球直连, 4、可以自定义增加几个手工规则。 如根据上面的订阅配置,希望改下面这样: `rule-providers: greatfire: type: http behavior: domain url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/greatfire.txt" path: ./greatfire.yaml interval: 86400 rules:
- DOMAIN-SUFFIX,local,🎯 全球直连
- DOMAIN-SUFFIX,4009997658.com,🛑 全球拦截
- DOMAIN-KEYWORD,google,🔰 节点选择
- GEOIP,CN,🎯 全球直连
- RULE-SET,greatfire,🔰 节点选择
- DOMAIN-SUFFIX,ghproxy.com,🔰 节点选择
- MATCH,🎯 全球直连 `
如果按上面这样的需求,第1个需求应该要加个新命令。第4个需求可以直接替换,但第2个和第4个需求因有顺序要求,要放到MATCH之前才能生效,不知道怎么放? 替换后的配置文件只在内存里,能查看吗?不知道替换效果,只能实际测试,但有些规则不容易一下测试出来,还是看得见规则才放心。 @2dust
@easythd 替换后的配置文件就是文件夹中config.yaml
目前只实现这些,你说的规则替换还未实现
append-rules 数组合并至原配置rules数组后
prepend-rules 数组合并至原配置rules数组前
append-proxies 数组合并至原配置proxies数组后
prepend-proxies 数组合并至原配置proxies数组前
append-proxy-groups 数组合并至原配置proxy-groups数组后
prepend-proxy-groups 数组合并至原配置proxy-groups数组前
使用了append-rules指令 ` append-rules:
- MATCH,🎯 全球直连 `
结果如下,没有替换呢: `
- "MATCH,\U0001F41F 漏网之鱼"
- "MATCH,\U0001F3AF 全球直连" `
使用了append-rules指令 ` append-rules:
- MATCH,🎯 全球直连 `
结果如下,没有替换呢: `
- "MATCH,\U0001F41F 漏网之鱼"
- "MATCH,\U0001F3AF 全球直连" `
append-rules 数组合并至原配置rules数组后
目前还未实现替换,只有前后追加
clashN-test4.zip 实现 removed-rules ,可以把不需要的removed后再append
removed-rules 循环匹配rules数组每行,符合则移除当前行 (此规则请放最前面)
append-rules 数组合并至原配置rules数组后
prepend-rules 数组合并至原配置rules数组前
append-proxies 数组合并至原配置proxies数组后
prepend-proxies 数组合并至原配置proxies数组前
append-proxy-groups 数组合并至原配置proxy-groups数组后
prepend-proxy-groups 数组合并至原配置proxy-groups数组前
append-rule-providers 数组合并至原配置rule-providers数组后
prepend-rule-providers 数组合并至原配置rule-providers数组前
更新后,使用了几天暂时没有问题,先关闭issues
错误提示:The given key 'rule-providers' was not present in the dictionary.
猜想,我原来的配置文件没有rule-providers,所以不能在前也不能在后追加?
错误提示:The given key 'rule-providers' was not present in the dictionary.
猜想,我原来的配置文件没有rule-providers,所以不能在前也不能在后追加? https://github.com/2dust/clashN/releases/tag/1.22