From 4118b245aa5411eb3f35fbb211fd672b67c09f43 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 9 Dec 2023 20:10:01 +0000 Subject: [PATCH] adds rudimentary command checks + documents packages to install for alpine --- README.md | 5 +++++ ddns.sh | 13 +++++++++++++ easyBoxCtrl.sh | 10 ++++++++++ unitedDomainsCtrl.sh | 18 +++++++++++++----- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6ce55d5..5376f53 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ Dynamic DNS updates for UnitedDomains and Vodafone EasyBox +## Prerequisites +``` +apk add bash bind-tools wget curl libxml2-utils jq +``` + ## Credits diff --git a/ddns.sh b/ddns.sh index 5a72849..d31b1ef 100755 --- a/ddns.sh +++ b/ddns.sh @@ -7,6 +7,19 @@ NAMESERVER="1.1.1.1" # ----- END CONFIG ------------------------------- + +COMMANDS="dirname cat dig" +for COMMAND in $COMMANDS; do + if ! command -v $COMMAND &> /dev/null + then + echo "$COMMAND could not be found!" + exit 1 + fi +done + +set -e + + SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" DOMAIN="$1" diff --git a/easyBoxCtrl.sh b/easyBoxCtrl.sh index d0bd8fc..88cf215 100755 --- a/easyBoxCtrl.sh +++ b/easyBoxCtrl.sh @@ -31,6 +31,16 @@ WGET="/usr/bin/wget ${WGET_OPTS[@]}" # * * * NO MORE CHANGES DOWN HERE * * * +COMMANDS="wget curl grep awk sed" +for COMMAND in $COMMANDS; do + if ! command -v $COMMAND &> /dev/null + then + echo "$COMMAND could not be found!" + exit 1 + fi +done + + RETVAL="" touch $COOKIEFILE diff --git a/unitedDomainsCtrl.sh b/unitedDomainsCtrl.sh index 79a721c..fe864a4 100755 --- a/unitedDomainsCtrl.sh +++ b/unitedDomainsCtrl.sh @@ -16,6 +16,14 @@ UA="Mozilla/5.0 (X11; Ubuntu; Linux x86_64) Gecko/20100101 Firefox" # * * * NO MORE CHANGES DOWN HERE * * * +COMMANDS="sed wget grep jq" +for COMMAND in $COMMANDS; do + if ! command -v $COMMAND &> /dev/null + then + echo "$COMMAND could not be found!" + exit 1 + fi +done # parse parameters DOMAIN=$(echo $1 | sed -r 's/^.*\.(.+\..+)$/\1/') @@ -39,11 +47,11 @@ OUT=$(wget -U "$UA" \ --keep-session-cookies \ -qO- "https://www.united-domains.de/login/") -CSRF=$(echo "$OUT" | /bin/grep -oP -m 2 "(?<=)" | tail -1) +CSRF=$(echo "$OUT" | grep -oP -m 2 "(?<=)" | tail -1) echo "CSRF=${CSRF}" -CSRFMETA=$(echo "$OUT" | /bin/grep -oP -m 1 "(?<=)") +CSRFMETA=$(echo "$OUT" | grep -oP -m 1 "(?<=)") echo "CSRFMETA=${CSRFMETA}" -CSRFSCRIPT=$(echo "$OUT" | /bin/grep -oP -m 1 "(?<=\"CSRF_TOKEN\":\")[^\"]*(?=\")") +CSRFSCRIPT=$(echo "$OUT" | grep -oP -m 1 "(?<=\"CSRF_TOKEN\":\")[^\"]*(?=\")") echo "CSRFSCRIPT=${CSRFSCRIPT}" wget -U "$UA" \ @@ -120,7 +128,7 @@ echo "NEW: $record" # --keep-session-cookies \ # -qO- "https://www.united-domains.de/portfolio/a/domain-admin/dns/$DOMAIN_ID") -#csrfscript=$(echo "$loginpage" | /bin/grep -oP -m 1 "(?<=\"CSRF_TOKEN\":\")[^\"]*(?=\")") +#csrfscript=$(echo "$loginpage" | grep -oP -m 1 "(?<=\"CSRF_TOKEN\":\")[^\"]*(?=\")") #echo "csrfscript=${csrfscript}" @@ -145,7 +153,7 @@ OUT=$(wget -U " $UA" \ -O- "https://www.united-domains.de/pfapi/dns/domain/$DOMAIN_ID/records" 2>&1) #echo "UD answered: $OUT" -#echo $OUT | /bin/grep "$IPV4" >/dev/null 2>&1 +#echo $OUT | grep "$IPV4" >/dev/null 2>&1 SUCCESS=$? echo "Retval: $SUCCESS"