diff --git a/Infraestructura/SyncTailGuard.sh b/Infraestructura/SyncTailGuard.sh index 620284a..2be14ea 100644 --- a/Infraestructura/SyncTailGuard.sh +++ b/Infraestructura/SyncTailGuard.sh @@ -1,21 +1,25 @@ #!/usr/bin/env bash -YAML_PATH="/home/Docker/AdguardHome/ConfDir/AdGuardHome.yaml" #Ruta hacia tu config +YAML_PATH="/home/jtrapero/Docker/AdguardHome/ConfDir/AdGuardHome.yaml" BACKUP_PATH="${YAML_PATH}.bak" -CONTAINER_NAME="AdguardHome" #El nombre de tu contenedor +CONTAINER_NAME="AdguardHome" # Backup por si la liamos cp "$YAML_PATH" "$BACKUP_PATH" # Extrae hostnames e IPs usando el JSON correcto REWRITES=$(tailscale status --json | jq -r ' - .Peer[] | - select( - .DNSName != null and - .TailscaleIPs != null and - .TailscaleIPs[0] != null - ) | - "- domain: \(.DNSName | rtrimstr("."))\n answer: \(.TailscaleIPs[0])" + .Peer[] | select(.DNSName != null) as $p + | ( + (($p.TailscaleIPs // []) | map(select(contains(":")|not)) | first) + // (($p.AllowedIPs // []) | map(select(test("^[0-9.]+/32$")) | sub("/32$"; "")) | first) + ) as $ip + | select($ip != null) + | {domain: ($p.DNSName | rtrimstr(".")), ip: $ip} +' | jq -s -r ' + map({ (.domain): .ip }) | add + | to_entries[] + | "- domain: \(.key)\n answer: \(.value)" ') # Pega la nueva sección rewrites en el YAML