Linux一件测速脚本大全
Linux一件测速脚本大全
2023-12-22 21:49
脚本自带丰富的测试项目
我觉得这个测速脚本应该是所有测速脚本里面最全的了,作者在GitHub开源了,特别好用,可以按线路,地域测速。
开源地址
多功能测速脚本
兼容 speedtest-cli、speedtest-go、librespeed-cli、iperf3,脚本自带丰富的测试项目任君挑选,使用者还能自定义想要的测试项目。
使用方法
bash <(curl -sL bash.icu/speedtest)
或
bash <(curl -sL https://raw.githubusercontent.com/i-abc/Speedtest/main/speedtest.sh)
基本功能
脚本自带丰富的测试项目
- 自定义测速节点
- 大陆三网+教育网 多线程 IPv4
- 大陆三网 单线程 IPv4
- 大陆教育网 IPv6
- IPV4 UDP 可用测试
- 各大洲 128线程 IPV4
- 大陆教育网 IPv4
- 大陆电信 多线程 IPv4
- 大陆电信 单线程 IPv4
- 大陆移动 多线程 IPv4
- 大陆移动 单线程 IPv4
- 大陆联通 多线程 IPv4
- 大陆联通 单线程 IPv4
- 各大洲 单线程 IPV4
- 各大洲 八线程 IPV4
持续更新中……
- 大陆三网+教育网 多线程 IPv4
高级功能
自定义自己想要的测试项目,很简单的。
我们会有两张表,节点表 (必需)、节点集合表 (非必需)
节点表 (必需)
节点表分为四个区域,分别是提示语区、测试类型区、节点名区、测试参数区,如下图所示:
- 1区:提示语区 (可选)
提示语位于节点表开头,可以在这里写上任何话,比如使用说明、备注、自家广告等,当然也可以不写。
- 3区:节点名区
显而易见,这里就是写对应节点的名字。
由于中英文字符编码很难处理,所以如果想要输出美观还得麻烦大家敲空格对齐,当然不对齐对测试无影响。
提示语区、节点名区会直接反映到输出,它们在输出、节点表之间的关系如下图所示:
- 2区:测试类型区
我们有四种类型,分别是speedtest-cli、speedtest-go、librespeed-cli、iperf3,选一种即可,每种都有不同的特点,具体说明请往下看。
这部分加空格对齐不是必须的,不加对输出无任何影响,当然像我一样的强迫症可以加空格对齐。
- 4区:测试参数区
我们脚本兼容 speedtest-cli、speedtest-go、librespeed-cli、iperf3,我挑选了部分对测试有用的参数应用到了脚本里,大家可以按需使用。
- speedtest-cli
speedtest.net 官方 CLI,功能单一。参数作用示例-s value通过 id 指定节点-s 36646-o value通过域名指定节点-o http://5gtest.shangdu.com
-s
和 -o
二选一,-o
后面参数为纯域名,不含 http(s)、端口号。
节点 id、域名可在 https://www.speedtest.net/api/ios-config.php 查阅。
例如:<server url="http://5gtest.shangdu.com:8080/speedtest/upload.php" lat="34.3287" lon="109.0337" name="Zhengzhou" sponsor="China Unicom HeNan 5G" id="36646"/>
,则 id 为 36646
,域名为 5gtest.shangdu.com
。
- speedtest-go
针对 speedtest.net 开发的,功能较多,能实现指定线程、禁用某方向测速,但当服务器与测速节点相距较远时结果不如 speedtest.net 官方 CLI。参数作用示例-s value通过 id 指定节点-s 36646–custom-url value通过链接指定节点–custom-url http://5gtest.shangdu.com:8080/speedtest/upload.php-t value设置并发连接数-t 8-m启用多服务器模式-m–no-download禁用下载测试–no-download–no-upload禁用上传测试–no-upload–force-http-ping使用 HTTP 进行强制 Ping,而不是 ICMP–force-http-ping
-s
和 --custom-url
二选一,--custom-url
后面参数为完整链接。
--force-http-ping
推荐加上。
节点 id、链接可在 https://www.speedtest.net/api/ios-config.php 查阅。
例如:<server url="http://5gtest.shangdu.com:8080/speedtest/upload.php" lat="34.3287" lon="109.0337" name="Zhengzhou" sponsor="China Unicom HeNan 5G" id="36646"/>
,则 id 为 36646
,链接为 http://5gtest.shangdu.com:8080/speedtest/upload.php
。
- librespeed-cli
librespeed-cli参数作用示例–server-json远程 JSON 的服务端列表–server-json https://jihulab.com/i-abc/speedtest/-/raw/node/china-education.json–local-json本地 JSON 的服务端列表–local-json /root/librespeed.json–server通过 JSON 中的 ID 指定服务端–server 1-4仅使用 IPv4 (默认 false)-4-6仅使用 IPv6 (默认 false)-6–no-download禁用下载测试 (默认 false)–no-download–no-upload禁用上传测试 (默认 false)–no-upload–no-icmp不使用 ICMP Ping。ICMP 在 Linux 下工作不稳定 (默认 false)–no-icmp–duration测试的持续时间 (秒) (默认 15)–duration 20
--no-icmp
推荐加上。
现成的、优质的 librespeed 服务端较少,而且需要自己写服务端列表 JSON,JSON 写法参照 官方;如果是个人搭建测速、个人使用,推荐 iperf3.
- iperf3
iperf3参数作用示例-c ip/host指定服务端-c 103.239.244.210-p value指定服务端端口-p 22222-P value设置并发连接数-P 8-t value测试的持续时间 (秒) (默认 10)-t 20-O value前 N 秒的数据不计入最终结果-O 3-R反向模式,服务器发送、客户端接收-R-4仅使用 IPv4-4-6仅使用 IPv6-6-uUDP测试-u–up-and-down双向测试 (自创选项)–up-and-down
当服务端端口为默认的 5201 时,-p
可不加;-p
除了 -p 22222
指定一个端口,还能 -p 5200-5209
指定一个范围内的端口。
iperf3 默认是客户端发送、服务端接收,也就是测上传;想测下载可加 -R
开启反向模式;但 iperf3 只支持单向,所以脚本里自创了 --up-and-down
选项,加上后可测双向;--up-and-down
与 -R
二选一,且 --up-and-down
在本脚本以外的地方不可用,非官方选项。
现成的、优质的 iperf3 服务端很多,可在
标签: