Añadido script para sincronizar de Tailscale a Adguard

This commit is contained in:
2025-08-03 13:52:01 +02:00
parent 29514716f3
commit 086188127e
+43
View File
@@ -0,0 +1,43 @@
#!/usr/bin/env bash
YAML_PATH="/home/Docker/AdguardHome/ConfDir/AdGuardHome.yaml" #Ruta hacia tu config
BACKUP_PATH="${YAML_PATH}.bak"
CONTAINER_NAME="AdguardHome" #El nombre de tu contenedor
# 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])"
')
# Pega la nueva sección rewrites en el YAML
awk -v block="$REWRITES" '
BEGIN {
in_rewrites = 0
}
/^[[:space:]]*rewrites:/ {
print " rewrites:"
n = split(block, lines, "\n")
for (i = 1; i <= n; i++) print " " lines[i]
in_rewrites = 1
next
}
in_rewrites {
if ($0 ~ /^[[:space:]]{2}[^[:space:]]/) in_rewrites = 0
else next
}
{
if (!in_rewrites) print
}
' "$BACKUP_PATH" > "$YAML_PATH"
# Reinicia AdGuardHome
docker restart "$CONTAINER_NAME"