adds rudimentary command checks + documents packages to install for alpine
This commit is contained in:
@@ -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
13
ddns.sh
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user