Something like the project in here: https://github.com/librespeed Maybe speedtest-go as the self-hosted backend and speedtest-cli to do the check?