DonDominio

Actualizar IP dinámica en DonDominio

1. Obtener la API KEY de DonDominio

Iniciamos sesión en la web y pulsamos el cículo que muestra la imágen. Dentro del círculo pondrá las iniciales de vuestro nombre.

DonDominio api key 1

Luego pulsamos en cuenta.

DonDominio api key 2

Luego en DonDNS Key.

DonDominio api key 3

Y copiaremos la clave.

DonDominio api key 4

2. Crear archivos necesarios

Creamos un archivo con el nombre dondomcli.conf con el siguiente contenido y modificándolo con tus datos:

DDUSER="paco"
DDPASSWORD="XXXXXXYYYYY"
DDHOST="migmoresc.es"

Creamos ahora un archivo con el nombre dondomcli.sh con el siguiente contenido y modificamos con la ruta donde hemos guardado el archivo anterior:

#!/bin/bash
DEFAULTCONFIG=/home/miguel/proyectos/dondominio/dondomcli.conf
APIURL="https://dondns.dondominio.com/plain/"
WGET=`which wget`
WGETOPT=" -q --no-check-certificate -O - --user-agent=WgetDonDNS/1.1 --post-data "
CUT=`which cut`
ECHO=`which echo`


if [ "$WGET" = "" ]; then
        WGET=`which curl`
        WGETOPT="-A CurlDonDNS/1.1 --data"
fi

function CheckWget()
{
        if [ ! -x "$WGET" ]; then
                Usage "wget/curl command not found!!"
        fi
}

function Usage()
{
        echo ""
        echo "============================"
        echo "DonDominio Dynamic IP Client"
        echo "============================"
        if [ ! -z "$1" ]; then
                echo " ERROR: $1"
                echo ""
        fi

        echo "Usage: $0 -u <USER> -p <PASSWORD> -h <HOST> [-i <IP>]"
        echo "Usage: $0 -c <FILECONFIG> [-i <IP>] [-h <HOST>] [-p <PASSWORD>] [-u <USER>]"
        echo ""
        echo "Note:"
        echo " * Default file config is $DEFAULTCONFIG";
        echo " * If not specified the IP address, this is obtained automatically"
        echo ""
        exit 1;
}

DDCONFIG=$DEFAULTCONFIG
DDUSER=""
DDPASSWORD=""
DDIP=""
DDHOST=""

CheckWget;

while getopts ":u:p:h:i:c:" opt
do
#echo $opt $OPTIND $OPTARG
        case $opt in
                c)
                        if [ ! -f $OPTARG ]; then
                                Usage "Invalid file config: $OPTARG"
                        fi
                        DDCONFIG=$OPTARG
                        ;;
                u)
                        myuser=$OPTARG
                        ;;
                p)
                        mypass=$OPTARG
                        ;;
                i)
                        myip=$OPTARG;
                        ;;
                h)
                        myhost=$OPTARG;
                        ;;
                \?)
                        Usage "Invalid argument!";
                        ;;
        esac
done
shift $(($OPTIND -1))

if [ -f $DDCONFIG ]; then
        . $DDCONFIG
fi
if [ $myuser ]; then
        DDUSER=$myuser
fi
if [ $mypass ]; then
        DDPASSWORD=$mypass
fi
if [ $myip ]; then
        DDIP=$myip
fi
if [ $myhost ]; then
        DDHOST=$myhost
fi

if [  "$DDUSER" = ""  -o  "$DDPASSWORD" = "" -o "$DDHOST" = "" ]; then
        Usage "Missing data"
fi

i=1
HOST="$($ECHO $DDHOST | $CUT -d , -f $i -s)"

if [ $HOST ]
then
        while [ $HOST ]
        do
                $WGET $WGETOPT "user=$DDUSER&password=$DDPASSWORD&host=$HOST&ip=$DDIP" "$APIURL"
                i=$[$i+1]
                HOST="$($ECHO $DDHOST | $CUT -d , -f $i)"
        done
else
        $WGET $WGETOPT "user=$DDUSER&password=$DDPASSWORD&host=$DDHOST&ip=$DDIP" "$APIURL"
fi

exit 0;

Por último ejecutamos el archivo escribiendo: sudo bash dondomcli.sh.

Deja un comentario