Initial commit

This commit is contained in:
2025-11-29 15:24:11 -08:00
parent f91705ebf1
commit 8479c98e39
6 changed files with 690 additions and 1 deletions

82
run_speed_test.sh Executable file
View File

@@ -0,0 +1,82 @@
#!/bin/sh
RAW_DATA=/var/www/data/speed/raw.speedtest.json
TMP_DATA=/tmp/speedtest.js
WEB_DATA=/var/www/data/speed/speedtest.js
WEB_SHORT_DATA=/var/www/data/speed/speedtest.short.js
/usr/bin/speedtest --format=json --accept-license >> ${RAW_DATA} 2>/dev/null || speedtest --format=json --accept-license >> ${RAW_DATA} 2>/dev/null
# Prepare information for web display
tail -500 ${RAW_DATA} > ${TMP_DATA} && \
sed -i -e 's/$/,/' ${TMP_DATA} && \
echo "var speeddata = [" > ${WEB_DATA} && \
cat ${TMP_DATA} >> ${WEB_DATA} && \
echo "];" >> ${WEB_DATA}
# Prepare short information for quick web display
tail -6 ${RAW_DATA} > ${TMP_DATA} && \
sed -i -e 's/$/,/' ${TMP_DATA} && \
echo "var speeddata = [" > ${WEB_SHORT_DATA} && \
cat ${TMP_DATA} >> ${WEB_SHORT_DATA} && \
echo "];" >> ${WEB_SHORT_DATA}
# Trim raw data to keep it lean
tail -1000 ${RAW_DATA} > ${TMP_DATA} && \
cp ${TMP_DATA} ${RAW_DATA}
# Above arguments produce the following output in single line. Expanded for readability below:
#
# {
# "type":"result",
# "timestamp":"2023-04-24T03:57:04Z",
# "ping":{
# "jitter":0.193,
# "latency":1.751,
# "low":1.530,
# "high":1.982
# },
# "download":{
# "bandwidth":85545427,
# "bytes":1017170768,
# "elapsed":12616,
# "latency":{
# "iqm":1.894,
# "low":1.374,
# "high":2.916,
# "jitter":0.300
# }
# },
# "upload":{
# "bandwidth":91982628,
# "bytes":331336109,
# "elapsed":3601,
# "latency":{
# "iqm":4.135,
# "low":2.281,
# "high":5.322,
# "jitter":0.498
# }
# },
# "packetLoss":0,
# "isp":"GigaMonster",
# "interface":{
# "internalIp":"192.168.1.200",
# "name":"eno1",
# "macAddr":"B8:AE:ED:7D:8A:36",
# "isVpn":false,
# "externalIp":"24.72.150.52"
# },
# "server":{
# "id":36565,
# "host":"speedpdx2.ortelco.net",
# "port":8080,
# "name":"OTC Connections",
# "location":"Portland, OR",
# "country":"United States",
# "ip":"38.87.96.27"},
# "result":{
# "id":"9b547022-8e1b-42c5-871c-2b6810b641bb",
# "url":"https://www.speedtest.net/result/c/9b547022-8e1b-42c5-871c-2b6810b641bb",
# "persisted":true
# }
# }