Open sztuxp opened 1 year ago
怎么感觉标题输出的结果是所有可用IP的延迟的排序
与描述不符能够输出前10延迟低的IP排序
实际上每次测试后的结果都存在本地的result.csv文件中,终端显示的结果可以通过参数-p (显示结果数量)
来进行修改
比如想在终端上显示所有可用IP的延迟的排序
的,那么可以 -p 9999999
设为最大值
希望只测速,不测试延迟
假设是使用TCPing来进行测速,每次TCP请求只有 20*5 = 100
次
如果你想减少在延迟测速上的时间,可以修改参数 -t (延迟测速次数)
为 -t 1
这样总的TCP 请求就下降到 20*2 = 40
次
我有上次的10个IP结果,用-dd模式测出最新10个延迟最低的IP, 我用脚本组合这20个IP, 然后软件用-allip模式排序出10个最快速度的IP(希望只测速,不测试延迟)。
实际上可以合并 上次结果+总的IP的文件,然后拿去测速 比如假设上次的结果为
# last.txt
1.1.1.1
2.2.2.2
那么可以将两个文件合并后再测速
cat last.txt ip.txt > scan_ip.txt
CloudflareSpeedTest -f ./scan_ip.txt
这样测试集里既包含上次最优结果,也有总IP测试最优结果
如果我的命令是延迟和测速一次完成,result.csv内只有10个IP,但用-dd参数,result.csv文件内结果有几千个IP,当然我也可以用脚本选择前10个出来,并和旧的合并,但总觉得不是很完美
我大致明白了你的需求,下面按照逻辑顺序列出来:
实际上并不需要这么麻烦,因为主要的两次工作:
可以直接一次搞定:
ip.txt
测速 IP 的顺序是按照延迟和丢包率排序的,在满足下载速度要求的IP达到一定数量后,退出测速 唯一不足的地方就是测速的 IP 地址不一定包含上次前10 的IP地址 好处就是你可以保证目前得出的结果是自选后最优的
如果一定要包含对旧前10 IP 地址进行测速,稍微写一下脚本比如下面的脚本算作一个样例
#!/usr/bin/env bash
#改名旧的前10
mv new_top_10.txt old_top_10.txt
# 仅进行延迟测试
CloudflareSpeedTest -dd
# 提取出新的前10
cat result.csv | sort -t, -k6nr | head -n 10 | awk -F',' '{print $1}' > new_top_10.txt
# 对20个IP进行测速测试
cat new_top_10.txt old_top_10.txt > test_ip.txt
CloudflareSpeedTest -f test_ip.txt -t 1
# 得出新的前10IP地址
cat result.csv
你的脚本真简洁,谢谢了!
功能需求
希望 -dd模式下,能够输出前10延迟低的IP排序。另外,能否提供一个不测延迟只测试速度的的功能。
预期目标
我有上次的10个IP结果,用-dd模式测出最新10个延迟最低的IP, 我用脚本组合这20个IP, 然后软件用-allip模式排序出10个最快速度的IP(希望只测速,不测试延迟)。