subconverter icon indicating copy to clipboard operation
subconverter copied to clipboard

[Feature] 希望能支持链接附加多个tag,并在!!GROUP=tag实现tag的集合运算

Open sunjx97 opened this issue 2 years ago • 0 comments

verify

  • [X] 我已经仔细阅读项目文档,确认现有功能无法解决我的需求
  • [X] 我已经检索过现有issue,确认与现有issue的内容并不重复
  • [ ] 我已经尝试自行解决,确认自己没有能力解决

功能描述

一般来说,在custom_proxy_group中实现选取部分订阅并筛选节点可以通过tag和链接的序号来实现。但一旦订阅链接在删改中顺序发生变化,就要导致后面custom_proxy_group筛选规则一连串的改变,有时可能就会忘记/看漏。而文档中tag功能+!!GROUP=tag可以很好的避免这个问题,因删改导致的顺序错误并不影响根据tag来筛选节点,但目前只在文档中看到附加单个tag的方法,感觉并不灵活。

可能的解决方案

个人希望能实现支持多个tag,并在!!GROUP=tag功能中实现集合运算。这样可以极大程度简化每次修改订阅链接后额外的对custom_proxy_group的修改,更加灵活方便。

  1. 支持多个tag: 当前写法: tag:xxx,https%3A%2F%2Fwww.xxx.com 可以通过`来隔开多个tag: tag:tag1`tag2`tag3,https%3A%2F%2Fwww.xxx.com 在使用yml时,可以用列表的形式(假定使用我[Feature] pref.yml中,default_url的使用方法中的字典写法) {tag: [tag1, tag2, tag3], url: xxx}

  2. !!GROUP=tag功能中实现集合运算: 当前!!GROUP=tag只支持单个tag,不够灵活。希望可以支持多个tag的集合运算。 希望支持的运算: 交集:tag1&tag2 并集:tag1|tag2 差集:tag1-tag2

如在加载时,载入了n条链接,如下:

tag:tag1`tag2,https%3A%2F%2Fwww.xxx1.com
tag:tag2`tag3,https%3A%2F%2Fwww.xxx2.com
tag:tag3,https%3A%2F%2Fwww.xxx3.com
tag:tag3`tag4`tag5,https%3A%2F%2Fwww.xxx4.com
tag:tag6,https%3A%2F%2Fwww.xxx5.com

示例一:我们要筛选 tag3 和 tag6 中所有的香港节点: 写法:!!GROUP=tag3|tag6!!(香港|HK|Hong Kong) 示例二:筛选包含在 tag3 ,又不包含在 tag2 内的所有日本节点: 写法:!!GROUP=tag3-tag2!!(日本|东京|大阪|埼玉|JP|Japan)

sunjx97 avatar Jun 20 '22 05:06 sunjx97