AdBlocker en Arch
By Dev1ls at
Para usar UFW (Uncomplicated Firewall) como un bloqueador de anuncios en Arch Linux, puedes seguir estos pasos:
Instalar UFW
sudo pacman -S ufw
Habilitar y iniciar UFW
sudo systemctl enable --now ufw
sudo ufw enable
Instalar dependencias para el bloqueo de anuncios
sudo pacman -S curl python
Crear un script para generar reglas de bloqueo
Crea un archivo llamado ufw-adblock.sh:
#!/bin/bash
# Listas de hosts para bloquear (puedes añadir más)
HOSTS_URLS=(
"https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
"https://mirror1.malwaredomains.com/files/justdomains"
"https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext"
)
# Archivo temporal
TMP_FILE=$(mktemp)
# Descargar y procesar listas
for url in "${HOSTS_URLS[@]}"; do
echo "Descargando $url"
curl -s "$url" | grep -E '^0\.0\.0\.0|^127\.0\.0\.1' | awk '{print $2}' >> "$TMP_FILE"
done
# Ordenar y eliminar duplicados
sort -u "$TMP_FILE" -o "$TMP_FILE"
# Generar reglas UFW
echo "Generando reglas UFW..."
while read -r domain; do
# Ignorar localhost y dominios vacíos
[[ "$domain" == "localhost" || -z "$domain" ]] && continue
# Añadir regla para bloquear
sudo ufw deny out to any port 80,443 comment "AdBlock: $domain"
done < "$TMP_FILE"
# Limpiar
rm "$TMP_FILE"
echo "Bloqueo de anuncios configurado con UFW"
Hacer el script ejecutable
chmod +x ufw-adblock.sh
Ejecutar el script
sudo ./ufw-adblock.sh
Verificar las reglas
sudo ufw status numbered
(Opcional) Programar actualización periódica
Puedes agregar el script a cron para que se actualice regularmente:
(crontab -l 2>/dev/null; echo "0 3 * * * /ruta/al/script/ufw-adblock.sh") | crontab -
Notas importantes:
UFW bloquea las conexiones a nivel de red, no filtra contenido dentro de páginas web. Esto puede afectar el rendimiento si tienes muchas reglas. Algunas páginas web podrían no funcionar correctamente. Para deshacer los cambios, puedes usar: sudo ufw reset y luego reconfigurar tus reglas normales.