Now config is in an external file, domain checked is shown and dig is forced to check A entries

This commit is contained in:
Romain de Laage 2020-07-27 18:45:57 +02:00
parent 2c45625659
commit 1dbf94260e
Signed by: rdelaage
GPG Key ID: 534845FADDF0C329
3 changed files with 24 additions and 12 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
dyndns.env

4
dyndns.env.example Normal file
View File

@ -0,0 +1,4 @@
HOST="CHANGEME"
LOGIN="CHANGEME"
PASSWORD="CHANGEME"
PATH_LOG="CHANGEME"

View File

@ -4,31 +4,38 @@
# CONFIG #
##########
HOST="CHANGEME"
LOGIN="CHANGEME"
PASSWORD="CHANGEME"
PATH_LOG="CHANGEME"
if [ -f dyndns.env ]
then
export $(cat dyndns.env | sed 's/#.*//g' | xargs)
else
echo "Error, dyndns.env doesn't exist"
exit 1
fi
if [ -z "$HOST" ] || [ -z "$LOGIN" ] || [ -z "$PASSWORD" ] || [ -z "$PATH_LOG" ]
then
echo "Error, please check your configuration in dyndns.env"
exit 2
fi
###########
# GET IPs #
###########
HOST_IP=`dig +short $HOST`
HOST_IP=`dig A +short $HOST`
# Flag 4 stand for IPv4
CURRENT_IP=`curl -s4 ifconfig.co`
CURRENT_IP=`curl -s4 ifconfig.io`
#######
# LOG #
#######
echo >> $PATH_LOG
echo "====================================" >> $PATH_LOG
echo "Run dyndns - "$(date +"%D, %T") >> $PATH_LOG
echo "Current IP" >> $PATH_LOG
echo "$CURRENT_IP" >> $PATH_LOG
echo "Host IP" >> $PATH_LOG
echo "$HOST_IP" >> $PATH_LOG
echo "Domain : $HOST" >> $PATH_LOG
echo "Current IP : $CURRENT_IP" >> $PATH_LOG
echo "Host IP : $HOST_IP" >> $PATH_LOG
###############
# DO THE WORK #