#!/usr/bin/sh cd /opt/ || exit hc_url="https://hc-ping.com/$HTTP_HC_UID" services_down="" error="" alias curl_hc='curl -LA "$USER_AGENT" --retry 3' check_url () { url="https://$1$2" printf "checking url %s ." "$url" dig A "$1" >/dev/null printf "." result=$(curl -LsSfv --connect-timeout 30 --retry 3 "$url" 2>&1) code="$?" printf ".\n" #shellcheck disable=SC2181 if [ "$code" = "0" ] then echo "... good" else services_down=$(printf "%s\n%s" "$services_down" "$1") error=$(printf "%s\n==========\n%s:\n%s" "$error" "$1" "$result") echo "... bad" fi } #check_url "acme.serguzim.me" "/health" check_url "analytics.serguzim.me" check_url "auth.serguzim.me" check_url "ci.serguzim.me" #check_url "cloud.serguzim.me" "/login?noredir=1" check_url "git.serguzim.me" check_url "hook.serguzim.me" check_url "mail.serguzim.me" #check_url "msrg.cc" # disabled because it keeps creating false alerts check_url "registry.serguzim.me" "/account/sign-in" check_url "rss.serguzim.me" #check_url "serguzim.me" # disabled because it keeps creating false alerts check_url "status.serguzim.me" "/status/serguzim-net" check_url "tick.serguzim.me" check_url "wiki.serguzim.me" check_url "www.reitanlage-oranienburg.de" if [ "$error" = "" ] then curl_hc "$hc_url" >/dev/null echo "ALL GOOD" else curl_hc --data-raw "$services_down$error" "$hc_url/fail" >/dev/null fi