starlink_status/speed.sh

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"