Last active
April 30, 2023 15:41
-
-
Save LuisPalacios/a3ce16ea1ad60064849cd08c11b284e0 to your computer and use it in GitHub Desktop.
Ejecutar API de actualización de IP del DNS gratis dinámico
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Fichero /usr/bin/cdmon_update.sh | |
# | |
# Este servicio ejecuta el script para consumir | |
# el API de actualización de IP del DNS gratis dinámico | |
# de mi proveedor de dominios CDMON. | |
# | |
# Documento un caso de uso en este apunte: | |
# https://www.luispa.com/administración/2023/04/08/networking-avanzado.html | |
# | |
# USUARIO Nombre de usuario para entrar | |
# PASSMD5 Contraseña encriptada con algoritmo MD5. | |
# HOST Dominio/subdominio que se desea actualizar | |
# | |
USUARIO=MiUsuarioEnMiProveedor | |
PASSMD5=12345678901234567890123456789012 | |
HOST=mihass.tudominio.com | |
# Me quedo esperando a tener internet ! | |
while ! ping -c 1 8.8.8.8 >/dev/null 2>&1; do sleep 1; done; | |
# Averiguar que IP está ahora mismo configurada en CDMON | |
IP_EN_DNS=$(host ${HOST} dinamic1.cdmon.net | grep -m1 ${HOST} | awk '{print $4}') | |
# Averiguar con qué IP pública llego a internet (qué ip tengo ahora mismo en este sistema) | |
GET_IP="https://dinamico.cdmon.org/onlineService.php?enctype=MD5&n=$USUARIO&p=$PASSMD5" | |
IP_ACTUAL=`wget --no-check-certificate $GET_IP -o /dev/null -q -O /dev/stdout | cut -f2 -d\& | cut -f2 -d=` | |
# Si son distintas se pide el cambio y se notifica | |
if [ "${IP_EN_DNS}" != "${IP_ACTUAL}" ]; then | |
CHANGE_IP="https://dinamico.cdmon.org/onlineService.php?enctype=MD5&n=$USUARIO&p=$PASSMD5&cip=$IP_ACTUAL" | |
wget $CHANGE_IP -o /dev/null -O /dev/null --no-check-certificate | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment