From c40beb6c69432a94a91be5780b697bae074693c1 Mon Sep 17 00:00:00 2001 From: David Itehua Xalamihua Date: Sun, 3 Aug 2025 10:54:41 -0600 Subject: [PATCH] modifique el script de cloduflare ddns api --- .obsidian/workspace.json | 60 ++++++++-------- .../DDNS RASTREO CON CLOUDFLARE.md | 67 +++++++++++++++++- Otras_varias/Pagos Jesús.md | 3 +- .../adjuntos/servers.xlsm | Bin 739935 -> 739925 bytes 4 files changed, 98 insertions(+), 32 deletions(-) rename servers.xlsm => SERVERS - DIX/adjuntos/servers.xlsm (97%) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 1177238..a59c1b1 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,19 +4,17 @@ "type": "split", "children": [ { - "id": "fde13488811b0507", + "id": "9e4184639eca25d5", "type": "tabs", "children": [ { - "id": "5181fd5921c9308a", + "id": "e1876ef494005bf6", "type": "leaf", "state": { - "type": "video", - "state": { - "file": "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Grabación 2025-08-01 125909.mp4" - }, + "type": "empty", + "state": {}, "icon": "lucide-file", - "title": "Grabación 2025-08-01 125909" + "title": "Nueva pestaña" } } ] @@ -51,7 +49,7 @@ "state": { "type": "search", "state": { - "query": "", + "query": "clou", "matchingCase": false, "explainSearch": false, "collapseAll": false, @@ -72,11 +70,13 @@ "title": "Marcadores" } } - ] + ], + "currentTab": 1 } ], "direction": "horizontal", - "width": 458.5 + "width": 458.5, + "collapsed": true }, "right": { "id": "3135a52cf6a285ff", @@ -166,8 +166,27 @@ "command-palette:Abrir paleta de comandos": false } }, - "active": "db862854e8b7e53a", + "active": "e1876ef494005bf6", "lastOpenFiles": [ + "Agencia_Espacial_Mexicana/DDNS RASTREO CON CLOUDFLARE.md", + "DIX_Cluster.canvas", + "Otras_varias/Jellyfin en ubuntu server 24.04.md", + "Otras_varias/Notificaciones con ntfy.sh.md", + "Otras_varias/Servidor SAMBA.md", + "Otras_varias/Pagos Jesús.md", + "Otras_varias/SSL red local con HAProxy.md", + "Otras_varias/Visualización carga de trabajo servers.md", + "Bash_functions/Script_sincronizar_obsidian.md", + "Bash_functions/ip_device.md", + "Bash_functions/custon_name_machine.md", + "trabajar_script_mc_backup.md", + "Raspberry Pi as Router Wireguard Client.md", + "notas express personal.md", + "Distribución servicios en las RP.md", + "Transcribir Videos (WSL).md", + "94BA0000", + "~$servers.xlsm", + "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Grabación 2025-08-01 125909.mp4", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/Introducción a la Administración Pública Federal.md", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Constancia_intro_APF_David_Itehua_Xalamihua.pdf", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801164816.png", @@ -183,37 +202,18 @@ "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801160951.png", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801160929.png", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801160811.png", - "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Grabación 2025-08-01 125909.mp4", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal", "Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos", - "DIX_Cluster.canvas", "Agencia_Espacial_Mexicana/Cursos_Capacitación", - "Distribución servicios en las RP.md", - "notas express personal.md", - "Transcribir Videos (WSL).md", "SERVERS - DIX/SERVERS DIX.md", "SERVERS - DIX/adjuntos", - "SERVERS - DIX", - "~$servers.xlsm", - "trabajar_script_mc_backup.md", "Configuración Hostinger.md", - "Raspberry Pi as Router Wireguard Client.md", "Udemy_Cursos/Curso n8n Crea Agentes de IA sin Código con Make y Zapier/2. zapier.md", "Udemy_Cursos/Curso n8n Crea Agentes de IA sin Código con Make y Zapier/1. Intro Agentes de IA.md", "Udemy_Cursos/Uploads.md", - "Bash_functions/Script_sincronizar_obsidian.md", "RCLONE Y DRIVE/SINCRONIZAR DRIVE Y UN VPS.md", "Agencia_Espacial_Mexicana/Transparencia/Sobre Transparencia.md", "Servidor Minecraft/Crear un servidor de Minecraft Java Edition (versión 1.21.5).md", - "Agencia_Espacial_Mexicana/Reuniones/PTAR_15-07-2025/Notas de la reunión.md", - "Agencia_Espacial_Mexicana/INSTALAR TESSERACT-OCT.md", - "Agencia_Espacial_Mexicana/trabajo tmp/del_06.07.2025 Análisis de Viabilidad Financiera del Museo de Telecomunicaciones.md", - "Bash_functions/custon_name_machine.md", - "Bash_functions/ip_device.md", - "Bash_functions/dix_zip.md", - "Agencia_Espacial_Mexicana/trabajo tmp/Sin título.md", - "Otras_varias/Add User Ubuntu with sudo properties.md", - "trabajo tmp/08.07.2025 Análisis de Viabilidad Financiera del Museo de Telecomunicaciones.md", "Sin título 3.canvas", "Sin título 2.canvas", "Sin título 1.canvas" diff --git a/Agencia_Espacial_Mexicana/DDNS RASTREO CON CLOUDFLARE.md b/Agencia_Espacial_Mexicana/DDNS RASTREO CON CLOUDFLARE.md index 2e8268e..13771d5 100644 --- a/Agencia_Espacial_Mexicana/DDNS RASTREO CON CLOUDFLARE.md +++ b/Agencia_Espacial_Mexicana/DDNS RASTREO CON CLOUDFLARE.md @@ -140,4 +140,69 @@ fi # echo "[$(date '+%Y-%m-%d %H:%M:%S')] Fin de ejecución." ``` -**integra ntfy, que llegue un mensaje cuando cambie la ip** \ No newline at end of file +**integra ntfy, que llegue un mensaje cuando cambie la ip** + + +==MEJORADO, CON PROXIED FALSE== + +```bash +#!/bin/bash + +# Configuración +ZONE_ID="e70540b388ab9d20bfe27d9a31cd474b" +RECORD_ID="5d05a48c9d76c7767302442fffa096bd" +API_TOKEN="9BD-GB7PtGd5pgXTEBxnv3k1eJlJYJoIWx9HgLLs" +DOMAIN="ip.xala.dev" + + +# Obtener IP pública actual +IP=$(curl -s https://api.ipify.org) + +# Obtener IP registrada actualmente en Cloudflare +DNS_RECORD=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \ + -H "Authorization: Bearer $API_TOKEN" \ + -H "Content-Type: application/json") + +DNS_IP=$(echo "$DNS_RECORD" | jq -r '.result.content') + +# validaciones +if [ -z "$IP" ]; then +# Notificación vía ntfy + # curl -d "🌎 [$(date '+%Y-%m-%d %H:%M:%S')] IP actualizada: $DNS_IP → $IP" ntfy.xala.dev/alerts + curl -d "🚨 [$(date '+%Y-%m-%d %H:%M:%S')] No se pudo obtener la IP pública." ntfy.xala.dev/alerts + exit 1 +fi + +if [ "$IP" != "$DNS_IP" ]; then + curl -d "🌐 La IP ha cambiado: $DNS_IP → $IP. Actualizando en Cloudflare..." ntfy.xala.dev/alerts + + UPDATE_RESPONSE=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \ + -H "Authorization: Bearer $API_TOKEN" \ + -H "Content-Type: application/json" \ + --data "{ + \"type\": \"A\", + \"name\": \"$DOMAIN\", + \"content\": \"$IP\", + \"ttl\": 1, + \"proxied\": false + }") + + SUCCESS=$(echo "$UPDATE_RESPONSE" | jq -r '.success') + + if [ "$SUCCESS" == "true" ]; then + curl -d "🌎 [$(date '+%Y-%m-%d %H:%M:%S')] IP actualizada: $DNS_IP → $IP" ntfy.xala.dev/alerts + else + curl -d "🚨 [$(date '+%Y-%m-%d %H:%M:%S')] Falló la actualización en Cloudflare." ntfy.xala.dev/alerts + fi +else + echo "ℹ️ [$(date '+%Y-%m-%d %H:%M:%S')] La IP no ha cambiado: $IP" +fi + + + + +``` + + + + diff --git a/Otras_varias/Pagos Jesús.md b/Otras_varias/Pagos Jesús.md index 19d52a4..ea1d295 100644 --- a/Otras_varias/Pagos Jesús.md +++ b/Otras_varias/Pagos Jesús.md @@ -1,5 +1,6 @@ 11/02/2025 10,000 17/03/2025 7,500 30/03/2025 1,000 +17/07/2025 16,500 -60,000 - 18,500 = 41,500 \ No newline at end of file +60,000 - 18,500 = 25,000 \ No newline at end of file diff --git a/servers.xlsm b/SERVERS - DIX/adjuntos/servers.xlsm similarity index 97% rename from servers.xlsm rename to SERVERS - DIX/adjuntos/servers.xlsm index f072a42b9aa3b57776071dc75ceb4ad28a6aef9c..e1af276595f4b3edb178a83982e682f13fcd519e 100644 GIT binary patch delta 12481 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