Primeros pasos
Cloudflare DNS Updater mantiene los registros A (IPv4) y AAAA (IPv6) de tu zona de Cloudflare apuntando a tu IP pública actual. Es un programa Bash puro: ejecútalo desde el código fuente o con un binario autónomo, apúntalo a una configuración YAML y prográmalo con cron o cualquier planificador de tareas.
1. Obtén el programa
Sección titulada «1. Obtén el programa»Descarga un binario autónomo o clona el repositorio:
git clone https://github.com/jmrplens/Cloudflare-DNS-Updater.gitcd Cloudflare-DNS-Updater2. Crea un token de API de Cloudflare
Sección titulada «2. Crea un token de API de Cloudflare»- En el panel de Cloudflare, crea un token con la plantilla Edit zone DNS.
- Limítalo a la zona que quieres actualizar.
- Copia el token — no volverás a verlo.
También necesitas el Zone ID, visible en la página Overview de la zona.
3. Configura
Sección titulada «3. Configura»cp config.example.yaml cloudflare-dns.yamlchmod 600 cloudflare-dns.yaml # contiene tu token de APIConfiguración mínima:
cloudflare: zone_id: "tu_zone_id" api_token: "tu_api_token"
domains: - name: "example.com" - name: "www.example.com"Consulta la referencia de configuración para ver todas las opciones.
4. Ejecútalo
Sección titulada «4. Ejecútalo»# Desde el código fuente./cloudflare-dns-updater.sh --debug
# O con un binario autónomo./cf-updater-linux-x86_64 --debug /ruta/a/cloudflare-dns.yamlCon --debug verás cada paso: la detección de IP, las llamadas a la API y la decisión por registro. Cuando todo esté correcto, prográmalo y añade --silent para un funcionamiento silencioso.
Cómo se compara
Sección titulada «Cómo se compara»Si ya mantienes tu DNS con un script propio de cron + curl, esto es lo que añade esta herramienta:
| Cloudflare DNS Updater | cron + curl manual | |
|---|---|---|
| Configuración | Un único fichero YAML | Escribir y mantener tu propio script |
| IPv4 + IPv6 | Ambos; la IPv6 se lee de la interfaz local | Lo que implementes |
| Varios registros | Agrupados en una sola llamada a la API | Una petición por registro |
| Escribe solo si hay cambios | Sí | Normalmente en cada ejecución, salvo que añadas estado |
| Notificaciones | Telegram y Discord | Ninguna |
| Dependencias | Bash + jq opcional (los binarios incluyen ambos) | curl más tu propio código |
Para un actualizador multiproveedor, ddclient es una alternativa común en Perl; esta herramienta se centra en Cloudflare con actualizaciones por lotes y detección de IPv6 desde la interfaz.
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»¿Cloudflare DNS Updater crea registros DNS?
Sección titulada «¿Cloudflare DNS Updater crea registros DNS?»No. Solo actualiza registros que ya existen. Crea el registro A o AAAA una vez en el panel de Cloudflare (con cualquier IP; se corrige en la siguiente ejecución) y luego ejecuta el programa.
¿Es compatible con IPv6?
Sección titulada «¿Es compatible con IPv6?»Sí. Mantiene actualizados los registros AAAA, prefiriendo la dirección IPv6 global estable de tu interfaz local y recurriendo a servicios externos como respaldo.
¿Necesito jq para ejecutarlo?
Sección titulada «¿Necesito jq para ejecutarlo?»No, pero es recomendable. Los binarios autónomos incluyen jq; desde el código fuente se usa un parser JSON más lento basado en sed cuando jq no está disponible.
¿Qué permiso de token de API de Cloudflare necesita?
Sección titulada «¿Qué permiso de token de API de Cloudflare necesita?»Un token de API limitado a Edit zone DNS para tu zona. No hace falta una Global API Key y se desaconseja.
¿Con qué frecuencia debe ejecutarse?
Sección titulada «¿Con qué frecuencia debe ejecutarse?»Cada 5 minutos es un valor cómodo para conexiones domésticas. Un lockfile hace seguras las ejecuciones solapadas, así que también funcionan intervalos más cortos.
¿Es gratuito y de código abierto?
Sección titulada «¿Es gratuito y de código abierto?»Sí. Se publica bajo la licencia MIT.