我自己手搓了一个,在实现中发现,之前我提到的 mixed 字段没什么用,完全可以删掉
只留下 sort_helper.py 方式,和前两种的方式都是类似的
增加 sort_helper.py
在 providers.json 中增加一个 sort 字段(array)
range 表明排序的范围
- 它的值是由带有
outbound 字段的 outbounds 的 tag 组成,不同的 outboudns 之间用 | 隔开
- 对
outbounds 包含的 outbound 的内容(可能是节点,也可能是嵌套的另一个 outbounds)排序
keywords 一个关键字数组,定义排序顺序
others 代表没有被关键字匹配的节点
- 如果某一个节点可以被多个关键字匹配,优先使用顺序在前的关键字
- 比如说 「新加坡亚马逊专线」 可以被
亚马逊 和 专线 两个关键字匹配,我们将其匹配到 专线
"subscribes": [...],
...
"sort": [
{
"range": "Proxy",
"keywords": [
"auto",
"direct",
"🇭🇰|HK|hk|香港|港|HongKong",
"🇹🇼|TW|tw|台湾|臺灣|台|Taiwan",
"🇸🇬|SG|sg|新加坡|狮|Singapore",
"🇯🇵|JP|jp|日本|日|Japan",
"🇺🇸|US|us|美国|美|United States",
"others"
]
},
{
"range": "Japan|Singapore|HongKong|TaiWan|America",
"keywords": [
"专线",
"亚马逊",
"搬瓦工",
"0.1倍率",
"IPv6|ipv6",
"others"
]
}
]
完整性要求
增加 sort_helper.py
在
providers.json中增加一个sort字段(array)range表明排序的范围outbound字段的outbounds的tag组成,不同的outboudns之间用|隔开outbounds包含的outbound的内容(可能是节点,也可能是嵌套的另一个 outbounds)排序keywords一个关键字数组,定义排序顺序others代表没有被关键字匹配的节点亚马逊和专线两个关键字匹配,我们将其匹配到专线完整性要求