XIU2 / CloudflareSpeedTest

🌩「自选优选 IP」测试 Cloudflare CDN 延迟和速度,获取最快 IP !当然也支持其他 CDN / 网站 IP ~
GNU General Public License v3.0
19.28k stars 3.76k forks source link

希望能在测速时显示当前最快IP #512

Open yesli opened 5 months ago

yesli commented 5 months ago

功能需求

由于ipv6太多,等测速完毕才显示最快ip根本等不了。如果我测速中能显示目前已测试完的最快IP。那就随时可以停止测速。

预期目标

测速中能显示当前已完成测速的ip中最快的前几名

XIU2 commented 5 months ago

这算是命令行程序的缺陷,输出内容是单线程的,无法像 GUI 界面那样同时显示多个列表什么的。 想要实现你这个需求,就需要移除进度条,无法做到同时 实时显示动态的进度条+实时输出测速结果

而且你还想要每次测速完一个 IP 就重新排序以下再输出最快的前几名,这样只会导致输出内容非常混乱,多次输出的内容会独立的一段一段的累计起来。

因此想要实现你这个需求,需要彻底重写这部分的代码,工程量很大不说,我暂时也想不到完美实现方案。


对于数量庞大的 IPv6,我的建议是:只延迟测速,不再下载测速,并且观察每次测速结果中最快的那些 IP 大都分布在哪些 IP 段,观察一段时间就大概知道哪些 IPv6 段更适合你,这样你就不需要每次都测速一遍全部的 IPv6 段了,只需要测速个别 IP 段即可,这样测速所消耗的时间就会大大降低。

我自己也是这样做的,经过这些年的筛选,我已经把适合于我网络环境的 IP 范围缩小到几个 IP 段中了,甚至都不再需要优选测速了,因为这几个 IP 段中的结果都差不多,随便选个就能用,我已经记不清上一次优选 Cloudflare CDN IP 是什么时候了。

Nicker222 commented 4 months ago

这算是命令行程序的缺陷,输出内容是单线程的,无法像 GUI 界面那样同时显示多个列表什么的。 想要实现你这个需求,就需要移除进度条,无法做到同时 实时显示动态的进度条+实时输出测速结果

而且你还想要每次测速完一个 IP 就重新排序以下再输出最快的前几名,这样只会导致输出内容非常混乱,多次输出的内容会独立的一段一段的累计起来。

因此想要实现你这个需求,需要彻底重写这部分的代码,工程量很大不说,我暂时也想不到完美实现方案。

对于数量庞大的 IPv6,我的建议是:只延迟测速,不再下载测速,并且观察每次测速结果中最快的那些 IP 大都分布在哪些 IP 段,观察一段时间就大概知道哪些 IPv6 段更适合你,这样你就不需要每次都测速一遍全部的 IPv6 段了,只需要测速个别 IP 段即可,这样测速所消耗的时间就会大大降低。

我自己也是这样做的,经过这些年的筛选,我已经把适合于我网络环境的 IP 范围缩小到几个 IP 段中了,甚至都不再需要优选测速了,因为这几个 IP 段中的结果都差不多,随便选个就能用,我已经记不清上一次优选 Cloudflare CDN IP 是什么时候了。

我认为可以实时将测速数据写入log file 这样用户也能知道实时的测速数据

也能很好规避:

"这算是命令行程序的缺陷,输出内容是单线程的,无法像 GUI 界面那样同时显示多个列表什么的。"

EDIT: 随后每次测速完成一个IP对log file进行重新排序