37 lines
1.5 KiB
Bash
37 lines
1.5 KiB
Bash
speedtest_ookla=fil.json
|
|
# Run speedtest and output to a file
|
|
speedtest --json > $speedtest_ookla
|
|
# Extract information from the speedtest output
|
|
|
|
# Parsing JSON data
|
|
ookla_server=$(jq -r '.server.sponsor' "$speedtest_ookla")
|
|
ookla_city=$(jq -r '.server.name' "$speedtest_ookla")
|
|
ookla_country=$(jq -r '.server.country' "$speedtest_ookla")
|
|
ookla_ping=$(jq '.ping' "$speedtest_ookla")
|
|
ookla_download=$(jq '.download' "$speedtest_ookla")
|
|
ookla_upload=$(jq '.upload' "$speedtest_ookla")
|
|
ooka_bytes_received=$(jq '.bytes_received' "$speedtest_ookla")
|
|
ooka_bytes_sent=$(jq '.bytes_sent' "$speedtest_ookla")
|
|
|
|
# Converting to human readable units
|
|
ookla_download_mbps=$(echo "scale=4; $download / 1000000" | bc)
|
|
ookla_upload_mbps=$(echo "scale=4; $upload / 1000000" | bc)
|
|
ookla_bytes_received_mb=$(echo "scale=2; $bytes_received / 1048576" | bc)
|
|
ookla_bytes_sent_mb=$(echo "scale=2; $bytes_sent / 1048576" | bc)
|
|
|
|
# Converting to human-readable units
|
|
ookla_download_mbps=$(echo "scale=4; $ookla_download / 1000000" | bc)
|
|
ookla_upload_mbps=$(echo "scale=4; $ookla_upload / 1000000" | bc)
|
|
ookla_bytes_received_mb=$(echo "scale=2; $ookla_bytes_received / 1048576" | bc)
|
|
ookla_bytes_sent_mb=$(echo "scale=2; $ookla_bytes_sent / 1048576" | bc)
|
|
|
|
# Display the results
|
|
echo "Server: $ookla_server"
|
|
echo "City: $ookla_city"
|
|
echo "Country: $ookla_country"
|
|
echo "Ping: $ookla_ping ms"
|
|
echo "Download Speed: $ookla_download_mbps Mbps"
|
|
echo "Upload Speed: $ookla_upload_mbps Mbps"
|
|
echo "Bytes Received: $ookla_bytes_received_mb MB"
|
|
echo "Bytes Sent: $ookla_bytes_sent_mb MB"
|