#!/bin/bash # Script para actualizar DNS en Cloudflare cuando cambia la IP pública # Requiere: CF_API_TOKEN, CF_ZONE_ID CF_API_TOKEN="tu_token_aqui" CF_ZONE_ID="tu_zone_id_aqui" DOMAINS=("jellyfin" "immich" "odoo" "n8n" "git" "status") CURRENT_IP=$(curl -s https://api.ipify.org) echo "IP actual: $CURRENT_IP" for DOMAIN in "${DOMAINS[@]}"; do # Obtener record ID RECORD_ID=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=${DOMAIN}.consultoria-as.com" \ -H "Authorization: Bearer $CF_API_TOKEN" \ -H "Content-Type: application/json" | jq -r '.result[0].id') # Actualizar curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$RECORD_ID" \ -H "Authorization: Bearer $CF_API_TOKEN" \ -H "Content-Type: application/json" \ --data "{\"type\":\"A\",\"name\":\"${DOMAIN}\",\"content\":\"$CURRENT_IP\",\"ttl\":120,\"proxied\":true}" echo "Actualizado: ${DOMAIN}.consultoria-as.com -> $CURRENT_IP" done