[开源项目]speedtest-x 轻巧网站测速工具,支持查看不同地区记录

LibreSpeed 想必是大家用的最广泛的一款网页测速工具。

speedtest-x 程序用于简化以上过程,程序会将各地用户的测速结果记录下来,并提供面板供网站主查看与排序,来评算出全国各地的速度最优运营商。

这是 LibreSpeed 的延伸项目,基于其自身做了结果上报扩展。(LibreSpeed 也有自己的一套 PHP 结果上报程序,但需要依赖 MySQL 而且配置过程和界面并不友好),speedtest-x 做到了开箱即用。

扩展细节

  • 用户测速会上传测速记录并保存至网站服务器
  • 不依赖 MySQL,使用文件数据库
  • IP 库改用 ip.sb,运营商记录更为精确

注意

基于网页测速的原理,程序会生成无用文件供测速者下载来计算真实下行带宽,一定程度上存在被恶意刷流量的风险,在对外分享你的测速页面后,请注意观察服务器流量使用情况,避免流量使用异常。

部署与使用

常规部署
1、https://github.com/BadApple9/speedtest-x下载本仓库并解压到网站目录,访问 {域名}/index.html 进行测速

2、打开 {域名}/results.html 查看测速记录

Tips:修改 backend/config.php 中的 MAX_LOG_COUNT 可定义最大可保存多少条测速记录

Docker部署

1、拉取 Docker 镜像 docker pull badapple9/speedtest-x

2、运行容器 docker run [-d] -p 9001:80 -it badapple9/speedtest-x

-d:以常驻进程模式启动

9001: 默认容器开放端口,可改为其他端口

启动时可指定的环境变量:

-e WEBPORT=80: 容器内使用的端口

-e MAX_LOG_COUNT=100: 最大可保存多少条测速记录

-e IP_SERVICE=ip.sb: 使用的 IP 运营商解析服务(ip.sb 或 ipinfo.io)

-e SAME_IP_MULTI_LOGS=false: 是否允许同一IP记录多条测速结果

如果想让 Docker 容器支持 ipv6,可编辑 /etc/docker/daemon.json ,加上以下内容:(如果不存在这个文件则直接创建)

{
  "ipv6": true,
  "fixed-cidr-v6": "fd00::/80",
  "experimental": true,
  "ip6tables": true
}

3、访问 {IP}:{端口}/index.html 进行测速

环境要求
PHP 5.6+

图片[1]-[开源项目]speedtest-x 轻巧网站测速工具,支持查看不同地区记录-猫先生博客
图片[2]-[开源项目]speedtest-x 轻巧网站测速工具,支持查看不同地区记录-猫先生博客
© 版权声明
THE END
喜欢就支持一下吧
点赞272赞赏 分享
猫先生博客的头像-猫先生博客