Bloqueo de anuncios a nivel de sistema

Una pequeña guía para tener un “adblock” a nivel de sistema sin gastar recursos.
Todos los sistemas operativos tienen un archivo hosts, que sirve para mapear IPs a sitios webs, pero esto es actualmente complementado con DNS. Pero mediante el podemos bloquear conexiones a páginas webs, y usaremos esto para bloquear las webs de anuncios.
En todos los hijos de Unix el archivo lo encontramos en /etc/hosts, simplemente lo abrimos con permisos de root en un editor de texto, se verá algo como esto, pero el mío ya está muy editado, el default es mucho más simple, normalmente solo trayendo el localhost y poco más.


Para bloquear una web solo le asignamos la ip 0.0.0.0, que no es una conexión válida, lo que impide el acceso. Con esto podemos bloquear cualquier página que queramos, pero para bloquear anuncios sería muy tedioso, pues son cientos de miles de páginas.
Pero hay listas con las webs de anuncios bloqueadas que podemos simplemente añadir a hosts. El recopilador más famoso es Steven Black, quien tiene listas enormes de estas webs.
En este ejemplo yo usaré la lista para bloquear anuncios, trackers y pornografía.
Lo descargamos, yo usé wget. Una vez el archivo esté listo, simplemente usamos cat con permiso root sobre el archivo, redireccionando el output a /etc/hosts, y con esto quedaría listo.


Este fue el método manual, pero existe uno aún más fácil con un programa de terminal que hace nuestro trabajo automáticamente, utilizando multiples listas para cubrir más webs. Para este método solo usamos esta herramienta, hblock. No sé cuantas distros ofrecen un paquete de ella, pero solo es un shell script, así que no es difícil conseguirla directamente del github. Una vez lo tengamos solo la ejecutamos y listo. HBLOCK REEMPLAZA DESDE CERO NUESTRO ARCHIVO HOSTS. TENGAN UN BACKUP SI TENÍAN ALGO IMPORTANTE AHÍ.

sudo hblock 

Y serán bloqueadas todas las webs de las listas definidas para el script. Mi hosts fue generado por hblock junto a algunas modificaciones manuales mías como el bloqueo de las webs porno.

9 Me gusta

Addendum: Me equivoqué es cat, no echo, error mío, perdón

Muy buen aporte, yo llevo bloqueando diferentes sitios web de publicidad, porno y redes de control social a través de la configuración del fichero hosts. ¡Recomendado!

3 Me gusta

Es algo tan simple que normalmente se pasa por alto, pero es increíble lo que se puede hacer con hosts. Si no me equivoco es hasta posible hacer un bloqueo a nivel de router con ello.

1 me gusta

Supongo que si, además los router suelen tener un mini GNU con Linux instalado.

Te recomiendo mucho que le eches un ojo a ControlD, tiene opciones pagas y gratuitas. Es un servidor DNS que se puede usar en Firefox y está enfocado en la privacidad.
Es una de las primeras opciones a la hora de hacer DNS over HTTPS.

Justamente lo que uso para bloquear facebook, x, netflix y otros a los oficinistas de la empresa. Como es un DNS para la red interna también aproveche para redireccionar esas paginas a un vídeo de rickrolling y otro del troleo de southpark.

4 Me gusta

Se vé interesante… probablemente eso se pueda automatizar fácilmente por medio de un script ya que es simple texto plano… podría intentar algún día.

Se puede hacer simplemente asignando un comando o cadenas de comandos a un alias, con imput de usuario y todo.

1 me gusta

Llego tarde al tema, pero igual hago la pregunta.

Se supone que se puede hacer esto mismo en el router. ¿Alguna guía para hacerlo que tengan en mente?

Le comenté a mi familia que hay forma deshacerse de la publicidad de YT sin pagar y ya no me dejan en paz.

Capáz puedes intentar hacer tu propio router si es wifi por antena…

Simplemente agarras el cable de ethernet y conectas la laptop, le aplicas el “adblock” y con activar el servidor WIFI ya tendrías un router casero, en el cual puedes cambiarle la contraseña y demás cuabdo te plazca.

En entornos de escritorio el proceso es pan comido, no sé como se hará en low-level con TTY. :\

Supongo que intentaré eso, porque entré al router y no supe qué hacer :sweat_smile:

Yo lo hice con una Raspberry Pi 4 usando OpenWRT en una ocasión y PiHole en otra. En ambos casos, los bloqueadores solo cubren a nivel de red, no a nivel de aplicación, por lo que no sirve para los anuncios de YouTube, por ejemplo.

:c

Eso parece. Estuve leyendo que Google inserta los anuncios directamente a los videos y que los filtros DNS no quitan esos, pero sí los banners. Supongo que te refieres a que los segundos son los que funcionan a nivel de red.

Tendré que ofrecerle a mi gente ponerles las listas de bloqueos en cada máquina hasta que consiga una Raspberry.

La mejor manera de bloquear anuncios es usar un navegador basado en Firefox como Librewolf o Mullvad y usar add-ons como uBlock y Privacy Badger.

Esos sí los conozco y los uso, pero supuse que con lo del DNS podía matar varios pájaros de un tiro: quitar los anuncios de celulares/móviles, del Smart TV y mejorar la seguridad en general. Todo eso sin pedirles que dejen de usar la app de YT.

1 me gusta

Todo esto es un ejemplo de lo importante que es la base a la hora de estudiar o trabajar en temas como las redes de internet y la informática en general.
Esto de lo que estamos hablando parte desde el modelo OSI y el modelo TCP/IP. Entender bien cada capa y como ocurren las comunicaciones ayuda a entender por qué en estos casos, una medida tomada solo funciona para algunas cosas.

Me alegra que el tema se de para que pueda ser usado de ejemplo.

1 me gusta