Git Product home page Git Product logo

speedtest-x's Introduction

speedtest-x

Docker Cloud Build Status GitHub last commit GitHub

本仓库为 LibreSpeed 的延伸项目,LibreSpeed 是一个非常轻巧的网站测速工具。

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

加入交流 TG 群

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

扩展细节

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

恰饭

Jetbrains 全家桶教育许可,正规国内大学渠道,9.9 元,购买地址:https://xiaozhu.win

部署与使用

常规部署 (环境要求: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

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 进行测速

截图

index results

更新记录

2020/12/22

测速结果增加线性图表(@HuJK)

2020/12/10

增加可配置项 SAME_IP_MULTI_LOGS,可设置是否允许同一IP记录多条测速结果

2020/12/01

增加 ipv6 支持

增加可配置项 IP_SERVICE,可选择使用的 IP 运营商解析服务,ip.sbipinfo.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

鸣谢

speedtest-x's People

Contributors

badapple9 avatar hujk avatar amefs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.