Skip to content

retifrav/pinger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pinger

About

Network connection quality analyzer.

Pinger

The application sends pinging requests to a selected host and tracks the following statistics:

  • amount of requests sent, received and lost;
  • requests time/latency/delay.

In the end it also does some analytics on the collected data.

How it works

There are two modes of pinging the host:

  • via system ping utility and ICMP requests;
  • via HTTP HEAD requests.

ping/ICMP

Runs system ping utility and parses the output. Has two obvious disadvantages:

  • not every system might allow applications to launch CLI tools such as ping (or ping might not be even available in the system);
  • parsing the ping output is not reliable (different format on different platforms, multi-language).

HTTP HEAD

Simple HTTP HEAD requests. Far less reliable/precise than ping in estimating latency values. At the same time, there is no need to rely on external CLI tool (and parse its output in different languages), and sending HTTP requests will work on any platform.

Platforms

The application is built with Qt and so it is cross-platform.

Platform Status
Mac OS works fine, pre-built binary available
Windows works fine, pre-built binary available
GNU/Linux has certain issues, not distributing pre-built binary
iOS not checked
Android not checked
? ?

3rd-party

  • built with Qt (GPLv3)
  • sounds are of unknown origin
  • some of the icons are of unknown origin

FAQ

How to use checksums

SHA256:

$ shasum -c ./pinger-v1.2.2-macos11.7z.sha256
./pinger-v1.2.2-macos11.7z: OK

PGP (the key is here):

$ gpg --verify ./pinger-v1.2.2-macos11.7z.sig ./pinger-v1.2.2-macos11.7z
gpg: Signature made Fri Nov 12 20:24:37 2021 CET
gpg:                using RSA key E984212EC3E4CA2AFAA37E98713EE1F732D42E96
gpg: Good signature

Why 7z for Mac OS distribution and not DMG

Because 7z archive is considerably smaller than a DMG image. So the question would be rather what's the point of using DMG.

Why Qt 6 only

Upgrading to Qt 6 required making certain changes, which are not compatible with Qt 5. Nevertheless, it shouldn't be too hard to "downgrade" back to Qt 5, if you would really need that. Most of the migration effort happened in this and that commits.