You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.5 KiB
Bash

#!/bin/sh
# curl -s https://www.homedepot.com/p/HDX-Black-5-Tier-Plastic-Garage-Storage-Shelving-Unit-36-in-W-x-74-in-H-x-18-in-D-241592/306331734 | grep -v href | md5sum | awk '{print $1}'
verbose=""
size=0
while [ -n "$1" ]; do
case "$1" in
-v) verbose="true"; shift 1;;
-u) url="$2"; shift 2;;
-s) size="$2"; shift 2;;
*) shift 1;;
esac
done
# curl -skL "https://www.wyze.com/products/wyze-cam-v3" -w '%{size_download}' -o /dev/null
agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0"
[ -n "$verbose" ] && echo "DEBUG: curl --connect-timeout 10 -A \"$agent\" -skL \"$url\" -w \"%{size_download}\" -o /dev/null"
checkSize=$(curl --connect-timeout 10 -A "$agent" -skL "$url" -w "%{size_download}" -o /dev/null)
status=$?
if [ "$status" != "0" ]; then
sleep 2
checkSize=$(curl --connect-timeout 10 -A "$agent" -skL "$url" -w "%{size_download}" -o /dev/null)
status=$?
fi
case $status in
0) ;;
3) echo "UNKNOWN: malformed URL $url" && exit 3;;
6) echo "WARNING: could not resolve host for $url" && exit 3;;
7) echo "WARNING: could not connect to host $url" && exit 1;;
28) echo "WARNING: curl timeout" && exit 1;;
35) echo "WARNING: TLS/SSL handshake failure - $output" && exit 1;;
47) echo "WARNING: too many redirects" && exit 1;;
52) echo "WARNING: $url returned no data" && exit 1;;
esac
if [ "$size" = "$checkSize" ]; then
echo "OK; received $size bytes|bytes=${checkSize}B"
exit 0
else
echo "CRITICAL; $checkSize is not expected value of $size bytes|bytes=${checkSize}B"
exit 2
fi