speedtest-x 网站测速工具开源

speedtest-x 使用文件数据库来保存来自不同用户的测速结果,方便您查看全国不同地域与运营商的测速效果。

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

speedtest-x 网站测速工具开源
speedtest-x 网站测速工具

扩展细节

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

部署与使用

常规部署 (环境要求:PHP 5.6+)

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记录多条测速结果

Docker 部署

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

(ARM 架构的机器,运行 docker run -d -p 9001:80 -it stilleshan/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 进行测速

项目地址:GitHub - BadApple9/speedtest-x: A self-hosted speedtest appilication with clear test results.

Speedtest-N

@版权声明: 本站所有文章,如左上角无特殊说明,则归类于图图网原创,其它版权归原作者所有,如若本站内容侵犯了您的合法权益,可联系我们进行处理。

给TA支持
共{{data.count}}人
人已支持
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧