本仓库为 LibreSpeed 的延伸项目,LibreSpeed 是一个非常轻巧的网站测速工具。
speedtest-x 使用文件数据库来保存来自不同用户的测速结果,方便您查看全国不同地域与运营商的测速效果。
❗ 注意:基于网页测速的原理,程序会生成无用文件供测速者下载来计算真实下行带宽,一定程度上存在被恶意刷流量的风险,在对外分享你的测速页面后,请注意观察服务器流量使用情况,避免流量使用异常。
- 用户测速会上传测速记录并保存至网站服务器
- 不依赖 MySQL,使用文件数据库
- IP 库改用 ip.sb,运营商记录更为精确
1、下载本仓库并解压到网站目录,访问 {域名}/index.html
进行测速
2、打开 {域名}/results.html
查看测速记录
Tips:
backend/config.php
中可定义一些自定义配置:
MAX_LOG_COUNT = 100
:最大可保存多少条测速记录
IP_SERVICE = 'ip.sb'
:使用的 IP 运营商解析服务(ip.sb 或 ipinfo.io)
SAME_IP_MULTI_LOGS = false
:是否允许同一IP记录多条测速结果
1、拉取 Docker 镜像 docker pull badapple9/speedtest-x
(ARM 架构的机器,执行 docker pull stilleshan/speedtest-x
,ARM 镜像由热心网友制作)
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
进行测速
2020/12/22
测速结果增加线性图表(@HuJK)
2020/12/10
增加可配置项
SAME_IP_MULTI_LOGS
,可设置是否允许同一IP记录多条测速结果
2020/12/01
增加 ipv6 支持
增加可配置项
IP_SERVICE
,可选择使用的 IP 运营商解析服务,ip.sb
或ipinfo.io
2020/11/27
下行测速文件默认大小与最大大小限制为 50M(源项目默认 100M,最大 1024M)
2020/11/19
Docker 镜像上线 https://hub.docker.com/r/badapple9/speedtest-x
2020/11/18
上报速度与延迟值强制使用浮点类型,修复结果页表格按照下载速度或 ping 值排序错误的问题
2020/11/16
优化测速结果上报频率
掩去测速结果 IP D 段
2020/11/13
Release