站长视角
用户至上

一个好用的超多功能测速脚本,可高度自定义

多功能测速脚本

兼容 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)

基本功能

脚本自带丰富的测试项目

  1. 自定义测速节点
  2. 大陆三网+教育网 多线程 IPv4
  3. 大陆三网 单线程 IPv4
  4. 大陆教育网 IPv6
  5. IPV4 UDP 可用测试
  6. 各大洲 128线程 IPV4
  7. 大陆教育网 IPv4
  8. 大陆电信 多线程 IPv4
  9. 大陆电信 单线程 IPv4
  10. 大陆移动 多线程 IPv4
  11. 大陆移动 单线程 IPv4
  12. 大陆联通 多线程 IPv4
  13. 大陆联通 单线程 IPv4
  14. 各大洲 单线程 IPV4
  15. 各大洲 八线程 IPV4
    持续更新中……
  • 大陆三网+教育网 多线程 IPv4

测试机:Justhost-新加坡

高级功能

自定义自己想要的测试项目,很简单的。

我们会有两张表,节点表 (必需)、节点集合表 (非必需)

节点表 (必需)

节点表分为四个区域,分别是提示语区、测试类型区、节点名区、测试参数区:

  • 示例
节点表 模板示例,v2023-09-05
speedtest-cli ,联通 郑州 cli       ,-o 5gtest.shangdu.com
speedtest-go  ,联通 郑州 go        ,--custom-url http://5gtest.shangdu.com:8080/speedtest/upload.php --force-http-ping
speedtest-go  ,联通 郑州 八线程    ,--custom-url http://5gtest.shangdu.com:8080/speedtest/upload.php --force-http-ping -t 8
speedtest-go  ,联通 郑州 只测上传  ,--custom-url http://5gtest.shangdu.com:8080/speedtest/upload.php --force-http-ping --no-download
librespeed-cli,教育 南京           ,--server-json https://jihulab.com/i-abc/speedtest/-/raw/node/china-education.json --server 1 --no-icmp
librespeed-cli,教育 南京 只测上传  ,--server-json https://jihulab.com/i-abc/speedtest/-/raw/node/china-education.json --server 1 --no-icmp --no-download
iperf3        ,联通 宿迁 只测上传  ,-c 103.239.244.210 -p 22222
iperf3        ,联通 宿迁 只测下载  ,-c 103.239.244.210 -p 22222 -R
iperf3        ,联通 宿迁 八线程    ,-c 103.239.244.210 -p 22222 -P 8
iperf3        ,联通 宿迁 测UDP     ,-c 103.239.244.210 -p 22222 -u
iperf3        ,联通 宿迁 测双向    ,-c 103.239.244.210 -p 22222 --up-and-down
  • 1区:提示语区 (可选)

提示语位于节点表开头,可以在这里写上任何话,比如使用说明、备注、自家广告等,当然也可以不写。

  • 3区:节点名区

显而易见,这里就是写对应节点的名字。

由于中英文字符编码很难处理,所以如果想要输出美观还得麻烦大家敲空格对齐,当然不对齐对测试无影响。

提示语区、节点名区会直接反映到输出,它们在输出、节点表之间的关系如下图所示:

  • 2区:测试类型区

我们有四种类型,分别是 speedtest-cli、speedtest-go、librespeed-cli、iperf3,选一种即可,每种都有不同的特点,具体说明请往下看。

这部分加空格对齐不是必须的,不加对输出无任何影响,当然像我一样的强迫症可以加空格对齐。

  • 4区:测试参数区

我们脚本兼容 speedtest-cli、speedtest-go、librespeed-cli、iperf3,我挑选了部分对测试有用的参数应用到了脚本里,大家可以按需使用。

  1. speedtest-cli

speedtest-cli

speedtest.net 官方 CLI,功能单一。

参数 作用 示例
-s value 通过 id 指定节点 -s 36646
-o value 通过域名指定节点 -o 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

  1. speedtest-go

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

  1. 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.

  1. 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
-u UDP测试 -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 服务端很多,可在 iPerf3 Server List 查阅;自建 iperf3 服务端也简单,用包管理器就行了。

节点集合表 (非必需)

当你有很多节点表时可以组一个节点表合集,如下图所示,当然这不是必需的。

  • 示例
1. 节点示例
/root/GitHub/speedtest/node-template-1.txt
2. 示例1
/root/GitHub/speedtest/node-template-01.txt
3. 示例2
/root/GitHub/speedtest/node-template-02.txt

每两行为一组,每组中的第一行以序号加英文点 . 开头,第二行为节点表链接,链接可为远程 http 或本地绝对路径。

节点集合表与输出之间的关系如下图所示:

使用自定义的表

我们现在有了节点表、节点集合表,那么该如何使用呢?

只需选择时输入序号 0,然后填写链接或本地绝对路径即可;链接为节点表就立即开始测试,链接为节点集合表就还会出现选择节点的提示。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《一个好用的超多功能测速脚本,可高度自定义》
文章链接:https://www.sshce.com/46731.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

登录

找回密码

注册