]> ToastFreeware Gitweb - toast/tdyndns.git/blobdiff - bin/client/tdyndns_client
split user-controlled variables from calculated ones
[toast/tdyndns.git] / bin / client / tdyndns_client
index 6e8d2e329b262a274b5a635bb130962376b361d5..2d7a7567b1c1f2e43e0f0b9d61d7b8d2b49e2696 100755 (executable)
@@ -28,11 +28,14 @@ warn() {
 
 USERNAME=sue
 PASSWORD=hygCithOrs5
-HOSTNAME=$(hostname)
 ZONE=dyn.example.com
-FQDN=$HOSTNAME.$USERNAME.$ZONE
 NS=ns.example.com
-URL="http://dyndns.example.com/nic/update?hostname=$FQDN&myip="
+WEB=dyndns.example.com
+
+HOSTNAME=$(hostname)
+FQDN=$HOSTNAME.$USERNAME.$ZONE
+URL="http://$WEB/nic/update?hostname=$FQDN&myip="
+WGET="wget -q --tries=2 --timeout=5"
 
 if [ -z "$HOSTNAME" ] ; then
        die "No hostname found."
@@ -40,9 +43,8 @@ fi
 
 # data
 
-# alternative: -4 icanhazip.com, -6 icanhazip.com or ipv{4,6}.icanhazip.com
-NEWIPV4=$(wget -q -O- http://ipv4.wtfismyip.com/text)
-NEWIPV6=$(wget -q -O- http://ipv6.wtfismyip.com/text)
+NEWIPV4=$($WGET -O- http://ipv4.wtfismyip.com/text || $WGET -O- http://ipv4.icanhazip.com)
+NEWIPV6=$($WGET -O- http://ipv6.wtfismyip.com/text || $WGET -O- http://ipv6.icanhazip.com)
 
 if command -v dig >/dev/null ; then
        OLDIPV4=$(dig -t a    +short $FQDN @$NS)
@@ -55,24 +57,24 @@ OLDIPV6=${OLDIPV6:-""}
 
 # old ipv4 gone
 if [ -n "$OLDIPV4" -a -z "$NEWIPV4" ] ; then
-       $DOIT wget -q -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${OLDIPV4}&offline=yes"
-       logger -t${0##*/} -perr -- "removing $FQDN / $OLDIPV4"
+       $DOIT $WGET -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${OLDIPV4}&offline=yes"
+       $DOIT logger -t${0##*/} -perr -- "removing $FQDN / $OLDIPV4"
 fi
 
 # old ipv6 gone
 if [ -n "$OLDIPV6" -a -z "$NEWIPV6" ] ; then
-       $DOIT wget -q -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${OLDIPV6}&offline=yes"
-       logger -t${0##*/} -perr -- "removing $FQDN / $OLDIPV6"
+       $DOIT $WGET -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${OLDIPV6}&offline=yes"
+       $DOIT logger -t${0##*/} -perr -- "removing $FQDN / $OLDIPV6"
 fi
 
 # new ipv4
 if [ -n "$NEWIPV4" -a "$NEWIPV4" != "$OLDIPV4" ] ; then
-       $DOIT wget -q -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${NEWIPV4}"
-       logger -t${0##*/} -perr -- "updating $FQDN to $NEWIPV4"
+       $DOIT $WGET -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${NEWIPV4}"
+       $DOIT logger -t${0##*/} -perr -- "updating $FQDN to $NEWIPV4"
 fi
 
-# new ipv6
+# newipv6
 if [ -n "$NEWIPV6" -a "$NEWIPV6" != "$OLDIPV6" ] ; then
-       $DOIT wget -q -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${NEWIPV6}"
-       logger -t${0##*/} -perr -- "updating $FQDN to $NEWIPV6"
+       $DOIT $WGET -O/dev/null --user=$USERNAME --password=$PASSWORD "${URL}${NEWIPV6}"
+       $DOIT logger -t${0##*/} -perr -- "updating $FQDN to $NEWIPV6"
 fi