OpenWrt: Bloqueando la publicidad desde el fichero hosts
2018-04-12
Índice
Casi todo el mundo lo primero en lo que piensa a la hora de bloquear la publicidad en sus dispositivos que se conectan a internet es en la instalación de algún tipo de complemento tipo Adblock en su navegador, el inconveniente es que debes de ir instalando ese tipo de complementos en cada navegador y dispositivo de tu red, sin embargo existe una manera muy fácil de bloquear la publicidad de una forma transparente para todos los dispositivos de tu red simplemente utilizando el fichero /etc/hosts
de tu router.
Existen multitud de sitios donde se van recopilando listas de hosts maliciosos
- https://adaway.org/hosts.txt
- http://someonewhocares.org/hosts/zero/
- https://github.com/StevenBlack/hosts
Yo voy a usar las listas de StevenBlack, concretamente Unified hosts + fakenews
Antes de hacer nada, lo primero es hacer una copia de seguridad del fichero /etc/hosts
:
sudo cp /etc/hosts /etc/hosts.bkp
Ahora descargamos la lista de ficheros hosts maliciosos y lo volcamos en el fichero /etc/hosts
sudo wget -O /etc/hosts https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts
Añadimos el contenido de nuestro fichero hosts original al nuevo fichero hosts
sudo cat /etc/hosts.bkp >> /etc/hosts
Como las listas del sitio StevenBlack se van actualizando constantemente, usaremos cron para ir actualizando tambión nuestro fichero hosts
sudo crontab -e
Cuando ejecutas el comando crontab -e entras en modo editor, que por defecto es VIM, basicamene necesitas saber:
- Tecla I o la tecla Insert para modo edición y comenzar a escribir
- Tecla ESC para salir del modo edición
- Tecla ESC si estamos en modo de edición y escribimos :w, o sea, dos puntos y una W. para guardar.
- Tecla ESC y escribimos :q es decir dos puntos y la Q saldremos del editor.
- Si lo que queremos es guardar y cerrar, escribimos :wq! es decir dos puntos la W la Q y el signo de cierre de admiración
Ahora que sabemos manejarnos con VIM añdimos el siguiente código
0 */12 * * * wget -O /etc/hosts https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts; cat /etc/hosts.bkp >> /etc/hosts
Para ver el crontab del usuario ejecuta
contrab -l
Como puedes ver, teniendo actualizada la lista de nuestro fichero /etc/hosts
podemos mantener limpios de publicidad los dispositivos conectados a nuestra red de una manera muy sencilla.
Referencia:
- https://lignux.com/bloqueando-toda-la-publicidad-con-el-fichero-hosts/
- http://www.hackplayers.com/2016/02/script-para-host-blacklisting.html
Espero que te haya gustado, pasa un buen día. 🐧