This project is a proof-of-concept .NET Core 3.0 Linux worker service with systemd integration that gathers and logs internet speed data. It was inspired by a combination of a tech talk and extremely slow internet speeds at the hotel.
Naturally, this is intended to run on a Unix machine with the systemd suite. For reference, I used a Debian 9 machine for all development and testing.
To run locally without integrating with systemd, simply navigate to the folder with the .csproj
file and use dotnet build
and dotnet run
. To build, publish, and integrate with systemd, run sh deploy.sh
. Since this is a simple proof-of-concept, you'll need to update the paths in the Shell script to get this working on your machine. Normally, you would move the executable somewhere like the /sbin
folder outside of the local repository file structure.
To view the status of the service, run sudo systemctl status speedtest
. You can also view the logs using sudo journalctl -u speedtest
.
To stop the service, run sudo systemctl stop speedtest.service
.