部署SpeedTest-EX
SpeedTest-EX 是一个以Go Gin为框架的LiberSpeed实现.
与类似项目的区别
与 LiberSpeed 的区别与对比
- 技术栈: LiberSpeed 基于 PHP 实现, SpeedTest-EX 基于 Go Gin 实现.
- 功能: SpeedTest-EX 基本可以认为是 LiberSpeed 的超集
- Docker: SpeedTest-EX 提供 Docker 镜像, 且更加轻量化(仅9.55 MB)
- 数据库: SpeedTest-EX 采用 BBolt 作为数据库, 以实现结果存储
- 统计图表: SpeedTest-EX 加入了统计图表功能, 方便用户查看测速结果
- 部署: 基于Go语言开发, 无需安装环境, 使部署变得更加简单
与 Speedtest-X 的区别与对比
- 技术栈: Speedtest-X 基于 PHP 实现, SpeedTest-EX 基于 Go Gin 实现.
- 功能: 与 Speedtest-X 功能相差不大
- 统计图表: SpeedTest-EX 实现了更加现代化的统计图表功能
- 部署: 基于Go语言开发, 无需安装环境, 使部署变得更加简单
- Docker: SpeedTest-X 提供 Docker 镜像, 但体积较大(171.59 MB) , 而 SpeedTest-EX 提供的 Docker 镜像体积更小(9.55 MB)
SpeedTest-EX 简述
SpeedTest-EX 是一个以Go Gin作为路由框架, 基于BoltDB作为数据库, 前端保持对LiberSpeed的兼容, 实现了更加现代化的统计图表功能, 并提供了Docker镜像, 使部署变得更加简单.
项目地址: https://github.com/WJQSERVER/speedtest-ex
若项目对您有帮助, 请给项目一个Star!
部署
Docker 部署
- Docker-Cli:
# 运行容器
docker run -d \
--name speedtest-ex \
--restart always \
-v ./speedtest-ex/config:/data/speedtest-ex/config \
-v ./speedtest-ex/log:/data/speedtest-ex/log \
-v ./speedtest-ex/db:/data/speedtest-ex/db \
-p 8989:8989 \
wjqserver/speedtest-ex:latest
- Docker-Compose:
- 创建目录
此处以/root/data/docker_data/speedtest-ex
为例,创建目录并进入:
mkdir -p /root/data/docker_data/speedtest-ex
cd /root/data/docker_data/speedtest-ex
- 创建compose文件
touch docker-compose.yml
- 编辑compose文件
version: '3'
services:
speedtest-ex:
image: 'wjqserver/speedtest-ex:latest'
restart: always
volumes:
- './speedtest-ex/config:/data/speedtest-ex/config' # 配置文件
- './speedtest-ex/log:/data/speedtest-ex/log' # 日志文件
- './speedtest-ex/db:/data/speedtest-ex/db' # 数据库文件
ports:
- '8989:8989' # 端口映射
- 启动服务
docker-compose up -d
编辑配置文件
- 按照上文Docker-Cli部署, 配置文件位于
./speedtest-ex/config/config.toml
- 按照上文Docker-Compose部署, 配置文件位于
/root/data/docker_data/speedtest-ex/speedtest-ex/config/config.toml
[server]
host = "0.0.0.0" # 监听地址
port = 8989 # 监听端口
basePath = "" # 兼容LiberSpeed而保留, 无需求请不要修改
[log]
logFilePath = "/data/speedtest-ex/log/speedtest-ex.log" # 日志文件路径
maxLogSize = 5 # MB 日志文件最大容量
[ipinfo]
model = "ipinfo" # ip(自托管) 或 ipinfo(ipinfo.io)
ipinfo_url = "" #使用自托管时请填写您的ip服务地址
ipinfo_api_key = "" # ipinfo.io API key 若有可以填写
[database]
model = "bolt" # 数据库类型, 目前仅支持BoltDB
path = "/data/speedtest-ex/db/speedtest.db" # 数据库文件路径
[frontend]
chartlist = 100 # 默认显示最近100条数据
前端演示
注意事项
❗ 注意:基于网页测速的原理,程序会生成无用块供测速者下载来计算真实下行带宽,一定程度上存在被恶意刷流量的风险,在对外分享你的测速页面后,请注意观察服务器流量使用情况,避免流量使用异常。
许可证
本项目基于 LGPL-3.0 许可证发布。
Copyright (C) 2016-2020 Federico Dossena
Copyright (C) 2020 Maddie Zhan
Copyright (C) 2025 WJQSERVER
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/lgpl .
本文使用CC BY-NC-SA 4.0许可发布