Añadido script para sincronizar de Tailscale a Adguard
This commit is contained in:
@@ -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"
|
||||
Reference in New Issue
Block a user