We maken allemaal gebruik van een internetprovider en onze internetsnelheid kan variëren afhankelijk van het gekozen abonnement. Helaas hebben we allemaal wel eens te maken gehad met situaties waarin onze internetsnelheid langzamer was dan normaal.
In zulke situaties is het erg handig om een programma te gebruiken dat regelmatig automatisch onze internetsnelheid controleert en vastlegt. Zo kunnen we terugkijken en zien wanneer ons internet goed werkte en wanneer er problemen waren.
MySpeed, een veelzijdige, gratis & open-source programma met functies voor het effectief monitoren en analyseren van je internetsnelheid.
MySpeed is een applicatie ontworpen om de snelheid van je internetverbinding op te slaan en te analyseren gedurende maximaal 30 dagen. Het stelt je in staat om geautomatiseerde internet snelheidstesten op te zetten die gedetailleerde inzichten geven in de prestaties van een netwerk, gevisualiseerd in een aangename, gebruiksvriendelijke web-based interface.
MySpeed automatiseert het snelheidstestproces met behulp van Cron-expressies, waardoor je de frequentie van de tests kunt configureren op basis van je specifieke behoeften.
Deze functie zorgt ervoor dat alle gegevens up-to-date zijn, de huidige netwerkomstandigheden weerspiegelen zonder dat er handmatige invoer nodig is en genereert gedetailleerde statistieken met statistieken zoals snelheid, ping en andere relevante gegevenspunten.
Je kunt MySpeed op verschillende manieren installeren, via Docker, manueel of met de broncode (zie documentatie). Hier volgt de manuele manier.
Voor het downloaden en uitpakken van software installeren we de volgende pakketten:
dany@pindabook:~$ sudo apt install wget curl unzip -y
[sudo] wachtwoord voor root:
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
wget is reeds de nieuwste versie (1.21.3-1+deb12u1).
curl is reeds de nieuwste versie (7.88.1-10+deb12u12).
unzip is reeds de nieuwste versie (6.0-28).
unzip staat ingesteld op handmatig geïnstalleerd.
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Dit was dus niet nodig, maar nu zijn we zeker dat we kunnen downloaden en uitpakken.
MySpeed is geschreven in JavaScript en dus installeren we Node.js:
dany@pindabook:~$ curl -sSL https://deb.nodesource.com/setup_18.x | sudo bash
2025-06-22 15:36:10 - Installing pre-requisites
Geraakt:1 http://security.debian.org/debian-security bookworm-security InRelease
Geraakt:2 http://deb.debian.org/debian bookworm InRelease
Geraakt:3 http://deb.debian.org/debian bookworm-updates InRelease
Geraakt:4 https://packagecloud.io/github/git-lfs/debian bookworm InRelease
Pakketlijsten worden ingelezen... Klaar
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
apt-transport-https is reeds de nieuwste versie (2.6.1).
ca-certificates is reeds de nieuwste versie (20230311+deb12u1).
curl is reeds de nieuwste versie (7.88.1-10+deb12u12).
gnupg is reeds de nieuwste versie (2.2.40-1.1).
gnupg staat ingesteld op handmatig geïnstalleerd.
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Geraakt:1 http://security.debian.org/debian-security bookworm-security InRelease
Geraakt:2 http://deb.debian.org/debian bookworm InRelease
Geraakt:3 http://deb.debian.org/debian bookworm-updates InRelease
Ophalen:4 https://deb.nodesource.com/node_18.x nodistro InRelease [12,1 kB]
Ophalen:5 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages [11,6 kB]
Geraakt:6 https://packagecloud.io/github/git-lfs/debian bookworm InRelease
23,7 kB opgehaald in 1s (16,7 kB/s)
Pakketlijsten worden ingelezen... Klaar
2025-06-22 15:36:16 - Repository configured successfully.
2025-06-22 15:36:16 - To install Node.js, run: apt-get install nodejs -y
2025-06-22 15:36:16 - You can use N|solid Runtime as a node.js alternative
2025-06-22 15:36:16 - To install N|solid Runtime, run: apt-get install nsolid -y
De vorige opdracht heeft enkel de Node.js softwarebron aan het systeem toegevoegd. Node.js zelf installer je met:
dany@pindabook:~$ sudo apt install nodejs -y
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
nodejs
0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 29,7 MB aan archieven opgehaald worden.
Na deze bewerking zal er 187 MB extra schijfruimte gebruikt worden.
Ophalen:1 https://deb.nodesource.com/node_18.x nodistro/main amd64 nodejs amd64 18.20.8-1nodesource1 [29,7 MB]
29,7 MB opgehaald in 2s (14,2 MB/s)
Voorheen niet geselecteerd pakket nodejs wordt geselecteerd.
(Database wordt ingelezen ... 174051 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../nodejs_18.20.8-1nodesource1_amd64.deb wordt voorbereid...
Bezig met uitpakken van nodejs (18.20.8-1nodesource1) ...
Instellen van nodejs (18.20.8-1nodesource1) ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Nu kunnen we beginnen met de installatie van MySpeed zelf. Dit doen we in de map /op/ waar je normaal alle niet door jouw distributie aangeboden software installeert. We creëren voor de MySpeed software een eigen map en openen deze met:
dany@pindabook:~$ sudo mkdir /opt/myspeed && cd /opt/myspeed
De MySpeed software downloaden we met:
dany@pindabook:/opt/myspeed$ sudo wget $(curl -s https://api.github.com/repos/gnmyt/myspeed/releases/latest | grep browser_download_url | cut -d '"' -f 4)
--2025-06-22 15:43:00-- https://github.com/gnmyt/MySpeed/releases/download/v1.0.9/MySpeed-1.0.9.zip
Herleiden van github.com (github.com)... 140.82.121.4
Verbinding maken met github.com (github.com)|140.82.121.4|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 302 Found
Locatie: https://objects.githubusercontent.com/github-production-release-asset-2e65be/478222232/a2c04be4-c213-4b36-b277-9a6cacb0a96b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250622%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250622T134234Z&X-Amz-Expires=1800&X-Amz-Signature=c44787a1affd3d881502ec35e543e3ad8b46f3f7e2474fc9c2f89c12f68bf5ea&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3DMySpeed-1.0.9.zip&response-content-type=application%2Foctet-stream [volgen...]
--2025-06-22 15:43:00-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/478222232/a2c04be4-c213-4b36-b277-9a6cacb0a96b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250622%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250622T134234Z&X-Amz-Expires=1800&X-Amz-Signature=c44787a1affd3d881502ec35e543e3ad8b46f3f7e2474fc9c2f89c12f68bf5ea&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3DMySpeed-1.0.9.zip&response-content-type=application%2Foctet-stream
Herleiden van objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.110.133, 185.199.111.133, 185.199.109.133, ...
Verbinding maken met objects.githubusercontent.com (objects.githubusercontent.com)|185.199.110.133|:443... verbonden.
HTTP-verzoek is verzonden; wachten op antwoord... 200 OK
Lengte: 1598286 (1,5M) [application/octet-stream]
Wordt opgeslagen als: ‘MySpeed-1.0.9.zip’
MySpeed-1.0.9.zip 100%[==============================================>] 1,52M --.-KB/s in 0,08s
2025-06-22 15:43:01 (18,2 MB/s) - '‘MySpeed-1.0.9.zip’' opgeslagen [1598286/1598286]
En pakken deze uit. Na het succesvol uitpakken wordt het gedownloade Zip archief verwijderd.
dany@pindabook:/opt/myspeed$ sudo unzip MySpeed-*.zip && sudo rm MySpeed-*.zip
Archive: MySpeed-1.0.9.zip
creating: build/
inflating: build/manifest.json
extracting: build/robots.txt
inflating: build/sw.js
inflating: build/index.html
...
inflating: server/index.js
inflating: package.json
inflating: package-lock.json
Na het uitpakken installeren we de NodeJS MySpeed software met:
dany@pindabook:/opt/myspeed$ sudo npm install
added 342 packages, and audited 343 packages in 20s
36 packages are looking for funding
run `npm fund` for details
14 vulnerabilities (4 low, 1 moderate, 9 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
npm notice
npm notice New major version of npm available! 10.8.2 -> 11.4.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.4.2
npm notice To update run: npm install -g npm@11.4.2
npm notice
Na de installatie krijg je ook enkele opmerkingen en uit te voeren opdrachten om deze te verhelpen (zie online documentatie).
Je kunt MySpeed nu reeds testen door deze manueel te starten met:
dany@pindabook:/opt/myspeed$ sudo -E NODE_ENV=production sudo node server
Successfully connected to the database file
Integration "discord" loaded successfully
Integration "gotify" loaded successfully
Integration "healthChecks" loaded successfully
Integration "pushover" loaded successfully
Integration "telegram" loaded successfully
Integration "webhook" loaded successfully
Looking for network interfaces...
Found interface wlp4s0 with IP 192.168.129.29
No interface set. Falling back to default.
Server listening on port 5216
Surf met je browser naar “http://<ip-adres>:5216,” (of hostnaam - zie afbeelding) en het MySpeed welkomstscherm zal je begroeten.
Volg de vier eenvoudige installatiestappen in de app en pas de instellingen naar wens aan. Daarna heb je een handig hulpmiddel binnen handbereik om snel je internetsnelheidsgeschiedenis te bekijken.
Je kunt nu met behulp van onderstaande video bekijken hoe je MySpeed gebruikt.
Na een eerste kennismaking, kan je de opdracht waarmee je MySpeed maneel hebt gestart in de terminal afbreken met de sneltoets Ctrl+c.
^C
Om MySpeed steeds actief te hebben en standaard elk uur je internetsnelheid te controleren, gebruiken we een systemd service (dienst) om MySpeed automatisch te starten. Start daarvoor een teksteditor (hier nano) om de MySpeed systemd service aan te maken:
dany@pindabook:/opt/myspeed$ sudo nano /etc/systemd/system/myspeed.service
[sudo] wachtwoord voor root:
En definieer de volgende service:
GNU nano 7.2 /etc/systemd/system/myspeed.service *
[Unit]
Description=MySpeed
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# \/ It is strongly recommended to create your own user here
User=root
Environment=NODE_ENV=production
# \/ Specify your installation location here
WorkingDirectory=/opt/myspeed
[Install]
WantedBy=multi-user.target
^G Hulp ^O Opslaan ^W Zoeken ^K Knippen ^T Opdracht ^C Positie
^X Afsluiten ^R Inlezen ^\ Vervangen ^U Plakken ^J Uitvullen ^/ Naar regel
Druk Ctrl+x gevolgd door y en Return om in nano de service op te slaan en nano af te sluiten.
We brengen het systeem op de hoogte van de aanpassing met:
dany@pindabook:/opt/myspeed$ sudo systemctl daemon-reload
En testen het automatisch opstarten van MySpeed:
dany@pindabook:/opt/myspeed$ sudo systemctl start myspeed
Om de werking van MySpeed te controleren, voer je de volgende opdracht uit:
dany@pindabook:/opt/myspeed$ sudo systemctl status myspeed
● myspeed.service - MySpeed
Loaded: loaded (/etc/systemd/system/myspeed.service; disabled; preset: ena>
Active: active (running) since Sun 2025-06-22 16:43:03 CEST; 1min 17s ago
Main PID: 5975 (node)
Tasks: 11 (limit: 9335)
Memory: 50.7M
CPU: 2.342s
CGroup: /system.slice/myspeed.service
└─5975 /usr/bin/node server
jun 22 16:43:04 pindabook node[5975]: Successfully connected to the database fi>
jun 22 16:43:07 pindabook node[5975]: Integration "discord" loaded successfully
jun 22 16:43:07 pindabook node[5975]: Integration "gotify" loaded successfully
jun 22 16:43:07 pindabook node[5975]: Integration "healthChecks" loaded success>
jun 22 16:43:07 pindabook node[5975]: Integration "pushover" loaded successfully
jun 22 16:43:07 pindabook node[5975]: Integration "telegram" loaded successfully
jun 22 16:43:07 pindabook node[5975]: Integration "webhook" loaded successfully
jun 22 16:43:07 pindabook node[5975]: Looking for network interfaces...
jun 22 16:43:07 pindabook node[5975]: Found interface wlp4s0 with IP 192.168.12>
jun 22 16:43:09 pindabook node[5975]: Server listening on port 5216
Als MySpeed zonder fouten werkt, kan je het automatisch opstarten ervan activeren met:
dany@pindabook:/opt/myspeed$ sudo systemctl enable myspeed
Created symlink /etc/systemd/system/multi-user.target.wants/myspeed.service → /etc/systemd/system/myspeed.service.
dany@pindabook:/opt/myspeed$ cd
dany@pindabook:~$ sudo systemctl stop myspeed
[sudo] wachtwoord voor root:
dany@pindabook:~$ sudo systemctl disable myspeed
Removed "/etc/systemd/system/multi-user.target.wants/myspeed.service".
dany@pindabook:~$ sudo rm /etc/systemd/system/myspeed.service
dany@pindabook:~$ sudo rm -r /opt/myspeed/
dany@pindabook:~$ sudo apt purge nodejs
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
De volgende pakketten zullen VERWIJDERD worden:
nodejs*
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 0 niet opgewaardeerd.
Na deze bewerking zal er 187 MB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n]
(Database wordt ingelezen ... 179368 bestanden en mappen momenteel geïnstalleerd.)
nodejs (18.20.8-1nodesource1) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
dany@pindabook:~$ sudo apt autoremove
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
dany@pindabook:~$ sudo rm /etc/apt/sources.list.d/nodesource.list
dany@pindabook:~$ sudo rm /usr/share/keyrings/nodesource.gpg