From 9253427e3db366898cdd83cea90cf249c2f6cfdb Mon Sep 17 00:00:00 2001 From: mlmmlm <103432996+mlmmlm@users.noreply.github.com> Date: Sun, 25 Feb 2024 10:16:31 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E2=9C=94=EF=B8=8F=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✔️修改配置模板 --- resources/config.yaml.example | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/config.yaml.example b/resources/config.yaml.example index a84395c4..9a711f46 100644 --- a/resources/config.yaml.example +++ b/resources/config.yaml.example @@ -29,6 +29,7 @@ bot: #如果要http代理要验证,配置格式为: proxy: "用户名:密码@host:端口" 比如: user1:112233@127.0.0.1:7890 #geoip-api: "ip-api.com" # GEOIP 测试api,取二级域名,目前支持 ip-api.com ip.sb ipleak.net ipdata.co ipapi.co 五种,其中 ipdata 需要配置下面的geoip-key #geoip-key: xxxxxxx #ipdata 的 apikey,如果使用其他api则无需填写 +#test_sort: ['类型', 'HTTP(s)排序', 'Netflix', 'Youtube', 'Disney+'] #联通性测试条目自定义排序 #subconverter: #订阅转换(此配置主要开发者已无心维护,能用但不稳定) # enable: true #是否启用 # host: '127.0.0.1:25500' #域名或者ip加端口 From a94e9280f4e4adfb5fab71a2997728867d5f6ab2 Mon Sep 17 00:00:00 2001 From: mlmmlm <103432996+mlmmlm@users.noreply.github.com> Date: Sun, 25 Feb 2024 10:20:02 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=8E=89=E8=BF=9E=E9=80=9A=E6=80=A7?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=9D=A1=E7=9B=AE=E6=94=AF=E6=8C=81=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🎉连通性测试条目支持自定义排序 --- utils/backend.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/utils/backend.py b/utils/backend.py index e1bafb5c..69de003b 100644 --- a/utils/backend.py +++ b/utils/backend.py @@ -4,7 +4,7 @@ import socket import time -from collections import Counter +from collections import Counter, OrderedDict from operator import itemgetter from typing import Union, Callable, Coroutine, Tuple @@ -559,6 +559,7 @@ async def batch_test_pro(self, proxyinfo: list, test_items: list, pool: dict, async def core(self, proxyinfo: list, **kwargs): info = {} # 存放测试结果 + test_sort = GCONFIG.config.get('test_sort', ["0", "1"]) media_items = kwargs.get('script', None) or kwargs.get('test_items', None) or kwargs.get('media_items', None) test_items = collector.media_items if media_items is None else media_items test_items = cleaner.addon.mix_script(test_items, False) @@ -603,6 +604,14 @@ async def core(self, proxyinfo: list, **kwargs): # 任务信息 info['task'] = kwargs.get('task', {}) # 保存结果 + sorted_dict = OrderedDict() + for key in test_sort: + if key in info: + sorted_dict[key] = info[key] + for key in info: + if key not in sorted_dict: + sorted_dict[key] = info[key] + info = dict(sorted_dict) self.saveresult(info) return info From a2aa84a9fc941bc2c99664532867bcbb4d81ad70 Mon Sep 17 00:00:00 2001 From: AirportR <104753221+AirportR@users.noreply.github.com> Date: Mon, 26 Feb 2024 22:22:41 +0800 Subject: [PATCH 3/3] Update config.yaml.example --- resources/config.yaml.example | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/resources/config.yaml.example b/resources/config.yaml.example index 9a711f46..adf2d115 100644 --- a/resources/config.yaml.example +++ b/resources/config.yaml.example @@ -8,7 +8,7 @@ bot: # ====================以上为必填项,否则无法启动成功======================== # proxy: host:端口:用户名:密码 #socks5代理,用户名和密码为可选配置,已和下面的proxy单独分离,请勿混用 # strictmode: false # 严格模式,代表测试的时侯,bot内联按钮只有发起测试的主人才能按,否则所有用户用户权限都可以按。默认false,目前未适配,敬请期待。 -# scripttext: "⏳联通性测试进行中..." # 解锁脚本测试进度条自定义文本 +# scripttext: "⏳连通性测试进行中..." # 解锁脚本测试进度条自定义文本 # analyzetext: "⏳节点测试拓扑进行中..." # 拓扑测试进度条自定义文本 # speedtext: "⏳速度测试进行中..." # 速度测试进度条自定义文本 # bar: "=" #进度条自定义文本 @@ -19,17 +19,14 @@ bot: #以下是fulltclash的buildtoken,可以用默认的,但是安全性得不到保障,具体原因详见文档 #buildtoken: c7004ded9db897e538405c67e50e0ef0c3dbad717e67a92d02f6ebcfd1022a5ad1d2c4419541f538ff623051759ec000d2f426e03f9709a6608570c5b9141a6b #clash: -# path: './bin/fulltclash-linux-amd64' # 代理客户端的路径,默认为 ./bin/ 下。不会弄不要动这里,用默认的即可。本仓库默认仅提供win-amd64与linux-amd64两种(意味着如果为这两种架构,这里不用改。),其他架构需要自行编译。 -# allow-caching: false #是否缓存测试过程产生的订阅,若否,则测试完成后会自动删除测试订阅,以免造成空间浪费。(此配置暂不生效) +# path: './bin/FullTCore' # 代理客户端的路径,请前往 https://github.com/AirportR/FullTCore/releases 下载 # core: 4 # 核心数,数量越多测试速度越快,但代价是内存会大量占用(每个核心大概10M),自己的机子多少内存自己平衡。默认值为1. -# auto-start: false # bot启动时顺带启动,若为false则需要在 bot上输入/clash start 手动启动,默认false -# startup: 1124 #起始端口。表示从此端口开始往下数占用数量,比如核心数为4,就会占用[1124,1126,1128,1130]共4个端口,遇到端口占用时可配置此项。推荐10000以上作为初始端口 # branch: origin #clash内核上游分支,仅有两个有效值: [origin, meta], meta分支支持更多协议,比如vless、tuic等,但是使用上较为不可控,默认为origin原生内核。 #proxy: "host:端口" # http配置代理(非socks5),括号内可选用于下载获取订阅链接,订阅链接国内打不开可尝试开启(可选配置),本机提供的代理可以这样填: '127.0.0.1:7890' #如果要http代理要验证,配置格式为: proxy: "用户名:密码@host:端口" 比如: user1:112233@127.0.0.1:7890 #geoip-api: "ip-api.com" # GEOIP 测试api,取二级域名,目前支持 ip-api.com ip.sb ipleak.net ipdata.co ipapi.co 五种,其中 ipdata 需要配置下面的geoip-key #geoip-key: xxxxxxx #ipdata 的 apikey,如果使用其他api则无需填写 -#test_sort: ['类型', 'HTTP(s)排序', 'Netflix', 'Youtube', 'Disney+'] #联通性测试条目自定义排序 +#test_sort: ['类型', 'HTTP(s)排序', 'Netflix', 'Youtube', 'Disney+'] #连通性测试条目自定义排序 #subconverter: #订阅转换(此配置主要开发者已无心维护,能用但不稳定) # enable: true #是否启用 # host: '127.0.0.1:25500' #域名或者ip加端口