Speedtest

Publié le 17-10-2022 à 09:25:42 ‐ Lecture 2 min

Il est parfois utile de connaitre le débit entre deux machines.

Cela permet par exemple de détecter des pertes de débit ou de comparer des connexions internet.

Il existe tout un tas d'outil en ligne de commande (par exemple nperf) mais je cherchais quelque chose d'accessible via un navigateur.

Librespeed

Au niveau des logiciels libres, je connais déjà Librespeed.

La partie serveur est écrite en PHP et la partie client est écrite en HTML/javascript.

Le fonctionne est simple :

  • des requêtes GET vers une URL qui retourne une page vide pour calculer le temps d'accès et la latence ;
  • des requêtes GET vers une URL qui retourne une page de données aléatoire pour calculer le débit descendant ;
  • des requêtes POST vers une URL avec un formulaire de données aléatoire pour calculer le débit montant.

Une version écrite en GO officielle est également disponible.

speedtest-rs

J'utilise personnellement une version écrite en Rust.

La partie cliente est strictement la même que Librespeed.

La partie serveur est donc écrite en Rust avec Rocket.

J'ai ma propre version, parce que j'ai :

  • mis à jour les dépendances ;
  • ajoute des options en ligne de commande ;
  • ajoute le support de TLS ;
  • quelques corrections.

Exemple d'exécution

Mon instance : https://debit.cloud.silique.fr/.

Le code source est disponible sur la forge : https://forge.cloud.silique.fr/Silique/speedtest-rs/.

J'ai également fait des paquets Fedora : https://copr.fedorainfracloud.org/coprs/gnunux/speedtest-rs/.