diff --git a/Home.md b/Home.md index 1b5cf64..3049b2a 100644 --- a/Home.md +++ b/Home.md @@ -41,4 +41,33 @@ s = speedtest.Speedtest() s.get_best_server() s.download() s.upload() -``` \ No newline at end of file +``` + +### A zenity-powered bash script to display test results graphically +``` +#!/bin/bash +notify_send_messages() +{ +notify-send "www.SpeedTest.net:" "Retrieving speedtest.net configuration and server list..." -i network-modem -t 30 +notify-send "www.SpeedTest.net:" "Selecting best server & calculating speeds..." -i network-modem -t 40 +} +TMPFILE=`mktemp -t speedtest.XXXXXX` +notify_send_messages & +speedtest-cli 2>&1 > $TMPFILE +# Check if temp file is empty: if true there's something wrong with network +if [ -z "$TMPFILE" ] +then + zenity --class=Err --error --title="www.SpeedTest.net" --text="Network Error!" +else +# Determine ISP source server, best target server, ping, dowload and upload speeds + SOURCE=$(cat "$TMPFILE" | grep "Testing from " | sed -e "s/Testing from //g" -e "s/\.\.\.//g") + TARGET=$(cat "$TMPFILE" | grep "Hosted by " | sed -e "s/Hosted by //g" -e "s/: .\+$//g") + PING=$(cat "$TMPFILE" | grep "Hosted by " | awk -F ": " '{print $2}') + DOWNLD=$(cat "$TMPFILE" | grep "Download: " | sed -e "s/Download: //g") + UPLOAD=$(cat "$TMPFILE" | grep "Upload: " | sed -e "s/Upload: //g") +# Display information + zenity --class=SpeedTest --info --height 200 --title="www.SpeedTest.net" --text="\nISP Server: $SOURCE\n\nTarget Server: $TARGET\n\nPing Speed: $PING\n\nDownload Speed: $DOWNLD\n\nUpload Speed: $UPLOAD" +# Remove temp file + rm -f $TMPFILE +fi +```