正在加载今日诗词....

局域网搭建类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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
`TITLE` :速度测试的标题。
默认值: `LibreSpeed`
`TELEMETRY` :是否启用遥测。
默认值: `false`
`ENABLE_ID_OBFUSCATION` :在启用遥测的情况下设置为 true 时,将对测试 ID 进行模糊处理,以避免公开数据库内部顺序 ID。
默认值: `false`
`REDACT_IP_ADDRESSES` :在启用遥测的情况下设置为 true 时,将从收集的遥测数据中编辑 IP 地址和主机名,以获得更好的隐私。
默认值: `false`
`PASSWORD` :访问统计信息页面的密码。如果未设置,统计信息页面将不允许访问。
`EMAIL` :GDPR 请求的电子邮件地址。启用遥测时必须指定。
`IPINFO_APIKEY` :ipinfo.io 的 API 密钥。可选,但如果您希望提供大量测试,则是必需的
`DISABLE_IPINFO` :如果设置为 true,则不会从 ipinfo.io 获取 ISP 信息和距离。
默认值:值: `false`
`DISTANCE` :设置为 false 时 `DISABLE_IPINFO` ,指定如何测量与服务器的距离。可以是 `km` 公里、 `mi` 英里或空字符串,以禁用距离测量。
默认值: `km`
`WEBPORT` :允许为包含的 Web 服务器选择自定义端口。
默认值: `80`

测速界面

二、高级模式

高级模式为机翻,本人没有测试。请尽量看官方文档。

在librespeed的官方文档中,还提供了多点测试模式。这时需要1个以上的后端模式服务器backend和1个前端服务器frontend。

2.1 后端模式backend

在后端模式下,LibreSpeed 仅提供一个没有 UI 的测试点。为此,请将 MODE 环境变量设置为 backend

部署后可以在端口 80 上访问以下后端文件: garbage.phpempty.phpgetIP.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

https://bg4vrg.com/post/20240304122230.html

作者

fei

发布于

2024-03-04

更新于

2024-03-04

许可协议

评论