局域网搭建类speedtest测速网站 librespeed
LibreSpeed 是一个用于测量网络速度的工具,它的特点是简洁、易用,特别是在局域网环境中,用来测试网络设备带宽是否达标非常好用。你可以把它看作speedtest的开源简化版本。
一、docker部署
1.1 默认部署
此方式为官方文档中使用的单机模式standalone,有一个致命缺点:测速结束后网页下方的客户端ip显示的是容器的虚拟ip地址而不是真实的物理机ip
docker run -e MODE=standalone -p 8080:80 -it ghcr.io/librespeed/speedtest
1.2 桥接模式部署
为了解决上述问题,必须启用桥接模式–net=host,同时为避免80端口和宿主机冲突,修改默认网页端口80。
如果想修改测速网页标题,可以加上title的变量。
sudo docker run -e MODE=standalone -e WEBPORT=8999 -e restart=always --net=host ghcr.io/librespeed/speedtest
MODE=standalone 独立部署模式,
WEBPORT=8999 修改默认网页访问端口为8999
restart=always 设置容器随宿主机启动
–net=host 使用桥接模式,这样是为了测速后显示客户端ip为真实地址
详细参数如下
1 | `TITLE` :速度测试的标题。 |
二、高级模式
高级模式为机翻,本人没有测试。请尽量看官方文档。
在librespeed的官方文档中,还提供了多点测试模式。这时需要1个以上的后端模式服务器backend和1个前端服务器frontend。
2.1 后端模式backend
在后端模式下,LibreSpeed 仅提供一个没有 UI 的测试点。为此,请将 MODE
环境变量设置为 backend
。
部署后可以在端口 80 上访问以下后端文件: garbage.php
、 empty.php
、 getIP.php
2.2 前端模式frontend
在前端模式下,LibreSpeed 为客户提供 Web UI 和服务器列表。为此,请执行以下操作:
设置
MODE
环境变量 为frontend
创建一个包含测试点的servers.json文件。语法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[
{
"name": "Friendly name for Server 1",
"server" :"//server1.mydomain.com/",
"dlURL" :"garbage.php",
"ulURL" :"empty.php",
"pingURL" :"empty.php",
"getIpURL" :"getIP.php"
},
{
"name": "Friendly name for Server 2",
"server" :"https://server2.mydomain.com/",
"dlURL" :"garbage.php",
"ulURL" :"empty.php",
"pingURL" :"empty.php",
"getIpURL" :"getIP.php"
},
...more servers...
]注意:如果服务器仅支持HTTP或HTTPS,请在服务器字段中指定协议。如果它同时支持两者,只需使用
//
.容器中的
/servers.json
要装载到宿主机(此文件末尾的示例)
可以在端口 80 上访问该测试。
下面是此模式下可用的其他环境变量的列表:
TITLE
:速度测试的标题。默认值:LibreSpeed
TELEMETRY
:是否启用遥测。默认值:false
ENABLE_ID_OBFUSCATION
:在启用遥测的情况下设置为 true 时,将对测试 ID 进行模糊处理,以避免公开数据库内部顺序 ID。默认值:false
REDACT_IP_ADDRESSES
:在启用遥测的情况下设置为 true 时,将从收集的遥测数据中编辑 IP 地址和主机名,以获得更好的隐私。默认值:false
PASSWORD
:访问统计信息页面的密码。如果未设置,统计信息页面将不允许访问。EMAIL
:GDPR 请求的电子邮件地址。启用遥测时必须指定。DISABLE_IPINFO
:如果设置为 true,则不会从 ipinfo.io 获取 ISP 信息和距离。默认值:值:false
DISTANCE
:设置为 false 时DISABLE_IPINFO
,指定如何测量与服务器的距离。可以是km
公里、mi
英里或空字符串,以禁用距离测量。默认值:km
WEBPORT
:允许为包含的 Web 服务器选择自定义端口。默认值:80
2.3 双模
在此模式下,LibreSpeed 既可以作为独立服务器运行,也可以连接到其他测试点。为此,请执行以下操作:
设置
MODE
环境变量 为dual
按照
servers.json
前端模式的说明进行操作The first server entry should be the local server, using the server endpoint address that a client can access.(第一个服务器条目应为本地服务器,使用客户端可以访问的服务器终结点地址。)
局域网搭建类speedtest测速网站 librespeed