adds rudimentary command checks + documents packages to install for alpine

This commit is contained in:
root
2023-12-09 20:10:01 +00:00
parent 2ec0eeefa4
commit 4118b245aa
4 changed files with 41 additions and 5 deletions

View File

@@ -2,6 +2,11 @@
Dynamic DNS updates for UnitedDomains and Vodafone EasyBox Dynamic DNS updates for UnitedDomains and Vodafone EasyBox
## Prerequisites
```
apk add bash bind-tools wget curl libxml2-utils jq
```
## Credits ## Credits

13
ddns.sh
View File

@@ -7,6 +7,19 @@ NAMESERVER="1.1.1.1"
# ----- END CONFIG ------------------------------- # ----- 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 )" SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
DOMAIN="$1" DOMAIN="$1"

View File

@@ -31,6 +31,16 @@ WGET="/usr/bin/wget ${WGET_OPTS[@]}"
# * * * NO MORE CHANGES DOWN HERE * * * # * * * 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="" RETVAL=""
touch $COOKIEFILE touch $COOKIEFILE

View File

@@ -16,6 +16,14 @@ UA="Mozilla/5.0 (X11; Ubuntu; Linux x86_64) Gecko/20100101 Firefox"
# * * * NO MORE CHANGES DOWN HERE * * * # * * * 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 # parse parameters
DOMAIN=$(echo $1 | sed -r 's/^.*\.(.+\..+)$/\1/') DOMAIN=$(echo $1 | sed -r 's/^.*\.(.+\..+)$/\1/')
@@ -39,11 +47,11 @@ OUT=$(wget -U "$UA" \
--keep-session-cookies \ --keep-session-cookies \
-qO- "https://www.united-domains.de/login/") -qO- "https://www.united-domains.de/login/")
CSRF=$(echo "$OUT" | /bin/grep -oP -m 2 "(?<=<input type=\"hidden\" name=\"csrf\" value=\")[^\"]*(?=\"( /)?>)" | tail -1) CSRF=$(echo "$OUT" | grep -oP -m 2 "(?<=<input type=\"hidden\" name=\"csrf\" value=\")[^\"]*(?=\"( /)?>)" | tail -1)
echo "CSRF=${CSRF}" echo "CSRF=${CSRF}"
CSRFMETA=$(echo "$OUT" | /bin/grep -oP -m 1 "(?<=<meta name=\"csrf\" content=\")[^\"]*(?=\"( /)?>)") CSRFMETA=$(echo "$OUT" | grep -oP -m 1 "(?<=<meta name=\"csrf\" content=\")[^\"]*(?=\"( /)?>)")
echo "CSRFMETA=${CSRFMETA}" 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}" echo "CSRFSCRIPT=${CSRFSCRIPT}"
wget -U "$UA" \ wget -U "$UA" \
@@ -120,7 +128,7 @@ echo "NEW: $record"
# --keep-session-cookies \ # --keep-session-cookies \
# -qO- "https://www.united-domains.de/portfolio/a/domain-admin/dns/$DOMAIN_ID") # -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}" #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) -O- "https://www.united-domains.de/pfapi/dns/domain/$DOMAIN_ID/records" 2>&1)
#echo "UD answered: $OUT" #echo "UD answered: $OUT"
#echo $OUT | /bin/grep "$IPV4" >/dev/null 2>&1 #echo $OUT | grep "$IPV4" >/dev/null 2>&1
SUCCESS=$? SUCCESS=$?
echo "Retval: $SUCCESS" echo "Retval: $SUCCESS"