Ezequiel M. Cardinali

Ezequiel M. Cardinali

Fedora Contributor | GNU/Linux SysAdmin
Cliente bash para DNS Dinámico de DonWeb.

Cliente bash para DNS Dinámico de DonWeb.

June 27, 2014 — ezq

La semana pasada se anuncio el nuevo servicio de DNS Dinámico de DonWeb, una alternativa gratuita a DynDNS. Para activarlo sólo necesitamos crearnos una cuenta en DonWeb.com y configurarlo, para esto si necesitamos ayuda podemos visitar la documentación en el sitio DonWebAyuda.com.

El objetivo de este post no es promocionar el servicio, sino mostrarles cómo puede usarse este servicio en nuestro GNU/Linux. Todavía no hay disponible una versión del cliente para GNU/Linux, pero en las especificaciones de la api podemos ver que es muy sencillo hacer un cliente en bash, Les dejo el que yo hice para que lo prueben, modifiquen o mejoren.

Para configurarlo sólo hay que completar las variables:

USUARIO (usuario del cliente DDD)
PASS (contraseña del usuario)
HOST (host que queremos actualizar)

#!/bin/bash

USUARIO=""
PASS=""
HOST=""

ROJO="\033[1;31m"
VERDE="\033[1;32m"
AMARILLO="\033[1;33m"
NORMAL="\033[0;39m"
RESPUESTA=$(curl -s -basic -u "${USUARIO}:${PASS}" -d "modulo=dnsDinamico&archivo=dnsDinamico&archivo=dnsDinamico&clienteDeActualizacion=api&op=actualizarHosts&hostNames[]=${HOST}" "https://administracion.donweb.com/ws/api.php")

if echo ${RESPUESTA} | grep '"resultado":true' > /dev/null; then
        NAME=$(echo ${RESPUESTA} | cut -d"{" -f5 | cut -d"}" -f1 | sed 's/"//g' | cut -d"," -f1 | cut -d":" -f2)
        IP=$(echo ${RESPUESTA} | cut -d"{" -f5 | cut -d"}" -f1 | sed 's/"//g' | cut -d"," -f2 | cut -d":" -f2)
        ACTUAL=$(echo ${RESPUESTA} | cut -d"{" -f5 | cut -d"}" -f1 | sed 's/"//g' | cut -d"," -f3 | cut -d":" -f2-)
        echo -e "${ROJO}---------------------------------------${NORMAL}"
        echo -e "${VERDE}Hostname: ${AMARILLO}${NAME}${NORMAL}"
        echo -e "${VERDE}Dirección IP: ${AMARILLO}${IP}${NORMAL}"
        echo -e "${VERDE}Última Actualización: ${AMARILLO}${ACTUAL}${NORMAL}"
        echo -e "${ROJO}---------------------------------------${NORMAL}"
else
        echo -e "${ROJO}---------------------------------------${NORMAL}"
        echo -e "${ROJO} ERROR: ${ROJO}${RESPUESTA}${NORMAL}"
        echo -e "${ROJO}---------------------------------------${NORMAL}"
fi

Descargar Script

Espero que les sea útil.

Etiquetas: bash, scripts, DNS, DonWeb

Commentarios?  

comments powered by Disqus