update v0.0.3

This commit is contained in:
alcapone1933
2022-11-02 20:16:49 +01:00
parent 7f776da64c
commit 47bb11cb4f
4 changed files with 55 additions and 26 deletions

View File

@@ -12,7 +12,7 @@ LABEL maintainer="alcapone1933 <alcapone1933@cosanostra-cloud.de>" \
ENV TZ=Europe/Berlin ENV TZ=Europe/Berlin
ENV CRON_TIME="*/15 * * * *" ENV CRON_TIME="*/15 * * * *"
ENV CRON_TIME_DIG="*/30 * * * *" ENV CRON_TIME_DIG="*/30 * * * *"
RUN apk add --update --no-cache tzdata curl bash tini bind-tools && \ RUN apk add --update --no-cache tzdata curl bash tini bind-tools jq && \
rm -rf /var/cache/apk/* rm -rf /var/cache/apk/*
RUN mkdir -p /data /usr/local/bin/ /etc/cron.d/ RUN mkdir -p /data /usr/local/bin/ /etc/cron.d/

View File

@@ -1,7 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DATUM=$(date +%Y-%m-%d\ %H:%M:%S) DATUM=$(date +%Y-%m-%d\ %H:%M:%S)
if ! curl -sSL --fail https://ipv64.net/ > /dev/null; then
echo "$DATUM FEHLER !!! - 404 Sie haben kein Netzwerk oder Internetzugang"
exit 0
fi
PFAD="/data" PFAD="/data"
IP=$(curl -4s https://ipv64.net/wieistmeineip.php | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -n 1) # IP=$(curl -4s https://ipv64.net/wieistmeineip.php | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -n 1)
IP=$(curl -4ssL https://ipv64.net/update.php?howismyip | jq -r 'to_entries[] | "\(.value)"')
UPDIP=$(cat $PFAD/updip.txt) UPDIP=$(cat $PFAD/updip.txt)
sleep 1 sleep 1
@@ -17,8 +22,14 @@ else
sleep 1 sleep 1
echo "$IP" > $PFAD/updip.txt echo "$IP" > $PFAD/updip.txt
echo echo
curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=${IP}" # curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=${IP}&output=min"
# curl -4sSL https://ipv64.net/update.php?key=${DOMAIN_KEY}=${DOMAIN_IPV64}&ip=<ipaddr>&ip6=<ip6addr> UPDATE_IP=$(curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=$IP&output=min")
if [ "$UPDATE_IP" = "ok" ] ; then
echo "$DATUM UPDATE !!! - UPDATE IP= $IP AN IPV64.NET GESENDET"
else
echo "$DATUM UPDATE !!! - UPDATE IP= $IP NICHT GESENTET"
fi
# curl -4sSL https://ipv64.net/update.php?key=${DOMAIN_KEY}=${DOMAIN_IPV64}&ip=<ipaddr>&ip6=<ip6addr>&output=min
echo echo
fi fi
sleep 5 sleep 5
@@ -26,7 +37,8 @@ sleep 5
function CHECK_A_DOMAIN() { function CHECK_A_DOMAIN() {
DATUM=$(date +%Y-%m-%d\ %H:%M:%S) DATUM=$(date +%Y-%m-%d\ %H:%M:%S)
UPDIP=$(cat $PFAD/updip.txt) UPDIP=$(cat $PFAD/updip.txt)
IP=$(curl -4s https://ipv64.net/wieistmeineip.php | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -n 1) # IP=$(curl -4s https://ipv64.net/wieistmeineip.php | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -n 1)
IP=$(curl -4ssL https://ipv64.net/update.php?howismyip | jq -r 'to_entries[] | "\(.value)"')
DOMAIN_CHECK=$(dig +short ${DOMAIN_IPV64} A @ns1.ipv64.net) DOMAIN_CHECK=$(dig +short ${DOMAIN_IPV64} A @ns1.ipv64.net)
sleep 1 sleep 1
if [ "$IP" == "$DOMAIN_CHECK" ]; then if [ "$IP" == "$DOMAIN_CHECK" ]; then
@@ -40,8 +52,14 @@ else
echo "$DATUM UPDATE !!! - Update IP= $IP - Alte-IP= $UPDIP" echo "$DATUM UPDATE !!! - Update IP= $IP - Alte-IP= $UPDIP"
sleep 5 sleep 5
echo echo
curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=${IP}" # curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=${IP}&output=min"
# curl -4sSL https://ipv64.net/update.php?key=${DOMAIN_KEY}=${DOMAIN_IPV64}&ip=<ipaddr>&ip6=<ip6addr> UPDATE_IP=$(curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=$IP&output=min")
if [ "$UPDATE_IP" = "ok" ] ; then
echo "$DATUM UPDATE !!! - UPDATE IP= $IP AN IPV64.NET GESENDET"
else
echo "$DATUM UPDATE !!! - UPDATE IP= $IP NICHT GESENTET"
fi
# curl -4sSL https://ipv64.net/update.php?key=${DOMAIN_KEY}=${DOMAIN_IPV64}&ip=<ipaddr>&ip6=<ip6addr>&output=min
sleep 15 sleep 15
echo echo
echo "$DATUM NACHEINTRAG - DOMAIN HAT DEN A-RECORD= `dig +noall +answer ${DOMAIN_IPV64} A @ns1.ipv64.net`" echo "$DATUM NACHEINTRAG - DOMAIN HAT DEN A-RECORD= `dig +noall +answer ${DOMAIN_IPV64} A @ns1.ipv64.net`"

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# set -x # set -x
set -e set -e
DATUM=$(date +%Y-%m-%d\ %H:%M:%S)
# cleanup # cleanup
cleanup() { cleanup() {
echo "================================ STOP DDNS UPDATER IPV64.NET ================================" echo "================================ STOP DDNS UPDATER IPV64.NET ================================"
@@ -16,42 +17,45 @@ echo "================================ START DDNS UPDATER IPV64.NET ============
if [ -z "${DOMAIN_KEY:-}" ] ; then if [ -z "${DOMAIN_KEY:-}" ] ; then
echo echo
echo "Sie haben keinen DOMAIN Key gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei DynDNS Updatehash" echo "$DATUM DOMAIN KEY - Sie haben keinen DOMAIN Key gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei DynDNS Updatehash"
echo echo
exit 1 exit 1
else else
echo echo
echo "Sie haben einen DOMAIN Key gesetzt" echo "$DATUM DOMAIN KEY - Sie haben einen DOMAIN Key gesetzt"
echo echo
fi fi
if [ -z "${DOMAIN_IPV64:-}" ] ; then if [ -z "${DOMAIN_IPV64:-}" ] ; then
echo echo
echo "Sie haben keine DOMAIN gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei Domain" echo "$DATUM DOMAIN - Sie haben keine DOMAIN gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei Domain"
echo echo
exit 1 exit 1
else else
echo echo
echo "Sie haben eine DOMAIN gesetzt" echo "$DATUM DOMAIN - Sie haben eine DOMAIN gesetzt"
echo echo
echo "Deine DOMAIN $DOMAIN_IPV64" echo "$DATUM DOMAIN - Deine DOMAIN $DOMAIN_IPV64"
fi fi
if ! curl -sSL --fail https://ipv64.net/ > /dev/null; then
IP=$(curl -4s https://ipv64.net/wieistmeineip.php | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -n 1) echo "$DATUM FEHLER !!! - 404 Sie haben kein Netzwerk oder Internetzugang"
exit 0
fi
# IP=$(curl -4s https://ipv64.net/wieistmeineip.php | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | tail -n 1)
# CHECK=$(curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=$IP" | grep -o "success") # CHECK=$(curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=$IP" | grep -o "success")
IP=$(curl -4ssL https://ipv64.net/update.php?howismyip | jq -r 'to_entries[] | "\(.value)"')
if [ "`curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=${IP}" | grep -o "success"`" = "success" ] ; then CHECK=$(curl -4sSL "https://ipv64.net/update.php?key=${DOMAIN_KEY}&domain=${DOMAIN_IPV64}&ip=$IP&output=min")
if [ "$CHECK" = "ok" ] ; then
echo echo
echo "Die Angaben sind richtig gesetzt: DOMAIN und DOMAIN KEY" echo "$DATUM CHECK - Die Angaben sind richtig gesetzt: DOMAIN und DOMAIN KEY"
echo echo
else else
echo echo
echo "Die Angaben sind falsch gesetzt: DOMAIN oder DOMAIN KEY" echo "$DATUM FEHLER !!! - Die Angaben sind falsch gesetzt: DOMAIN oder DOMAIN KEY"
echo echo
exit 1 exit 1
fi fi
echo "${IP}" > /data/updip.txt echo "${IP}" > /data/updip.txt
curl -sSL --fail https://ipv64.net/ > /dev/null || exit 1
echo "${CRON_TIME} /bin/bash /data/ddns-update.sh >> /var/log/cron.log 2>&1" > /etc/cron.d/container_cronjob echo "${CRON_TIME} /bin/bash /data/ddns-update.sh >> /var/log/cron.log 2>&1" > /etc/cron.d/container_cronjob
echo "$CRON_TIME_DIG" 'sleep 20 && echo "`date +%Y-%m-%d\ %H:%M:%S` IP CHECK - Deine DOMAIN ${DOMAIN_IPV64} HAT DIE IP=`dig +short ${DOMAIN_IPV64} A @ns1.ipv64.net`" >> /var/log/cron.log 2>&1' >> /etc/cron.d/container_cronjob echo "$CRON_TIME_DIG" 'sleep 20 && echo "`date +%Y-%m-%d\ %H:%M:%S` IP CHECK - Deine DOMAIN ${DOMAIN_IPV64} HAT DIE IP=`dig +short ${DOMAIN_IPV64} A @ns1.ipv64.net`" >> /var/log/cron.log 2>&1' >> /etc/cron.d/container_cronjob

View File

@@ -1,23 +1,30 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DATUM=$(date +%Y-%m-%d\ %H:%M:%S)
set -e set -e
if [ -z "${DOMAIN_KEY:-}" ] ; then if [ -z "${DOMAIN_KEY:-}" ] ; then
echo echo
echo "Sie haben keinen DOMAIN Key gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei DynDNS Updatehash" echo "$DATUM DOMAIN KEY - Sie haben keinen DOMAIN Key gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei DynDNS Updatehash"
echo echo
exit 1 exit 1
else else
echo echo
echo "Sie haben einen DOMAIN Key gesetzt" echo "$DATUM DOMAIN KEY - Sie haben einen DOMAIN Key gesetzt"
echo echo
fi fi
if [ -z "${DOMAIN_IPV64:-}" ] ; then if [ -z "${DOMAIN_IPV64:-}" ] ; then
echo echo
echo "Sie haben keine DOMAIN gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei Domain" echo "$DATUM DOMAIN - Sie haben keine DOMAIN gesetzt, schauen die unter https://ipv64.net/dyndns.php nach bei Domain"
echo echo
exit 1 exit 1
else else
echo echo
echo "Sie haben einen DOMAIN gesetzt" echo "$DATUM DOMAIN - Sie haben eine DOMAIN gesetzt"
echo echo
echo "$DATUM DOMAIN - Deine DOMAIN $DOMAIN_IPV64"
fi
if ! curl -sSL --fail https://ipv64.net/ > /dev/null; then
echo "$DATUM FEHLER !!! - 404 Sie haben kein Netzwerk oder Internetzugang"
exit 1
fi fi
curl -sSL --fail https://ipv64.net/ > /dev/null || exit 1