DDNS Raspberry PI - DigitalOcean
Script desenvolvido para ser utilizado no Raspberry em conjunto com uma Cron ou um outro serviço de execução automática.
Etapas executadas no script abaixo:
- Obtém o seu ip público pelo link da AmazonWS
- Recupera o registro a ser atualizado baseado no subdomínio
- Atualiza o IP do registro
Requerimentos:
#!/bin/sh
DIGITALOCEAN_TOKEN=TOKEN_GERADO_NA_DIGITAL_OCEAN
DOMAIN=dominio.com
SUBDOMAIN=subdominio
CURRENT_IP=$(curl -s -X GET "https://checkip.amazonaws.com")
CURRENT_DATE=$(date +"%x %X")
RECORD_ID=$(curl -s -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
"https://api.digitalocean.com/v2/domains/$DOMAIN/records" \
| jq ".domain_records[] | select( .name == \"$SUBDOMAIN\") | .id")
curl -s -X PUT \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-d "{\"data\":\"$CURRENT_IP\"}" \
"https://api.digitalocean.com/v2/domains/$DOMAIN/records/$RECORD_ID" \
| jq -r '.domain_record | "'"$CURRENT_DATE"': O domínio [\(.type)] ~\(.name).'"$DOMAIN"'~ foi alterado para ~\(.data)~ [ttl: \(.ttl)]"'