Cómo eliminar anuncios con Pixelserv en DD-WRT

Existen numerosas formas de bloquear anuncios en su navegador, pero ¿qué pasaría si pudiera bloquearlos en el enrutador? Aquí se explica cómo usar el firmware DD-WRT y el envenenamiento de DNS deliberado para bloquear anuncios para cada dispositivo en su red.

Existen numerosas formas de bloquear anuncios en su navegador, pero ¿qué pasaría si pudiera bloquearlos en el enrutador? Aquí se explica cómo usar el firmware DD-WRT y el «envenenamiento de DNS» deliberado para bloquear anuncios para cada dispositivo en su red.

Visión general

Actualización : Guía actualizada para reflejar los comentarios proporcionados por los comentaristas y actualizada el paquete anti-anuncios con el nuevo ejecutable del servidor de píxeles y un registro de cambios.

La primera pregunta en la mente de todos en este momento es «¿por qué no solo usar bloque de anuncios?»

Para muchas personas simplemente no hay una razón, especialmente con la nueva capacidad de Chrome para replicar las extensiones que usa en cada computadora en la que está ejecutando Chrome.

La respuesta se encuentra en algún lugar entre la reducción de los gastos generales de no tener que enseñar a todos los usuarios de su red sobre el bloqueo de anuncios (estoy hablando con su madre, hermana, abuela y secretaria de la oficina) y la conveniencia de no molestarse con eso en cada computadora que configures. Eso supone que habrá algunas computadoras en su red en las que no va a configurar su entorno personal (por ejemplo, «servidores centrales» o máquinas virtuales).

Nota : aunque utilizo el siguiente método en mi enrutador doméstico, encontré que el bloqueo de anuncios es una excelente adición, y recomiendo usar ambos métodos en conjunto. Además, si no tiene un enrutador DD-WRT con Ad-Block, es más que suficiente. De hecho, me gusta mucho el programa, hice una donación a su desarrollador y animo a todos a que lo hagan para que continúe su desarrollo.

¿Como funciona?

Esencialmente, esto funciona envenenando deliberadamente nuestro DNS para devolver una IP específica para dominios en una lista no aprobada. Esta lista no aprobada contendrá nombres de dominio de sitios que son responsables exclusivamente de entregar contenido publicitario, por lo que no los extrañaremos mucho.

Configuraremos un servidor HTTP secundario en el enrutador para servir una imagen transparente de un píxel, como respuesta para cualquier solicitud de URL. Junto con la resolución «incorrecta» de DNS, esto hará que los clientes de la red soliciten el contenido de nuestro servidor de píxeles interno y obtengan una imagen en blanco en respuesta.

Para generar la lista no aprobada, crearemos una lista personal junto con dos listas descargadas dinámicamente. Las listas dinámicas son el archivo de host MVPS y la lista de dominios de Yoyo, juntas contienen una lista muy extensa de sitios de publicidad. Al aprovechar estas listas, nos queda la responsabilidad de simplemente agregar el delta de sitios que aún no están en uno de ellos, en nuestra lista personal.

También configuraremos una «lista blanca» para dominios que no queremos bloquear por ningún motivo.

Prerrequisitos y suposiciones

  • Paciencia joven, esta es una lectura larga.
  • Este procedimiento se creó y probó en DD-WRT (v24pre-sp2 10/12/10 mini r15437 ), por lo que ya debería tener esta versión o posterior instalada en su enrutador para usarla. Se terminó más información en el sitio DD-WRT.
  • Para facilitar las explicaciones, se asume que el enrutador ha sido restaurado a sus «valores predeterminados de fábrica» ​​o que la configuración utilizada no ha cambiado desde sus preajustes «listos para usar» desde entonces.
  • La computadora cliente está utilizando el enrutador como servidor DNS (este es el valor predeterminado).
  • Espacio para JFFS (en caso de duda, recomiendo usar la versión mini de DD-WRT).
  • Se supone que su red * ya está configurada y que es una clase C (una que tiene una subred de 255.255.255.0) ya que se asignará la última IP en esa red de clase C (xyz 254 ) para el programa de servidor de píxeles.
  • La disposición a instalar winSCP.

* El script no podrá ajustar las listas de bloqueo después de la primera ejecución hasta el siguiente ciclo de actualización (3 días).

Créditos

Actualización : Un agradecimiento especial a «mstombs» por la gran pieza de código C sin su trabajo, todo esto no sería posible, «Oki» por compilar la versión y cita compatibles con Atheros 😉 y «Nate «Por ayudar con el control de calidad.

Si bien hubo mucho trabajo para perfeccionar este procedimiento por mi parte, la inspiración fue iniciada por los muchachos en el foro DD-WRT y algunos de los fundamentos de esta guía se pueden encontrar en «bloqueo de anuncios con DD- WRT revisited (simple) «,» pixelserv sin Perl, sin jffs/cifs/usb free «y» Flexion.Org Wiki en DNSmasq «, así como otros.

Pongamos manos a la obra

Habilitar SSH para acceso SCP

Al habilitar SSH, a su vez nos damos la posibilidad de conectarnos al enrutador utilizando el protocolo SCP. con eso habilitado, podemos usar el programa winSCP para navegar visualmente la estructura de carpetas del enrutador (como veremos más adelante).

Para hacer esto, usando webGUI, vaya a la pestaña «Servicios».Busque la sección «Shell seguro» y haga clic en el botón de opción «Activar» para la configuración SSHd.

Una vez hecho esto, la webGUI debería verse como se muestra a continuación y puede hacer clic en «Guardar» ( no aplicar aún).

Habilitar JFFS

Para hacer esta configuración de una manera que sea estable , reproducible y * sea un «buen ciudadano de Internet», utilizaremos JFFS para almacenar la mayor cantidad de configuraciones posible. Hay otras formas de hacer esto sin habilitar JFFS, si no puede debido a limitaciones de espacio, pero no se tratan aquí.

* otros métodos hacen que su enrutador descargue las listas dinámicas y ejecutables del servidor de píxeles cada vez que se ejecuta el script. ya que esto ejerce presión sobre los servidores que contienen las listas y el ejecutable y esto le cuesta dinero a alguien, este método intenta evitarlo si es posible.

Si aún no sabe qué es JFFS, esta explicación, tomada de la entrada wiki de DD-WRT sobre JFFS debería aclarar las cosas:

El Sistema de archivos Flash de registro en diario (JFFS) le permite tener un Sistema de archivos Linux grabable en un enrutador habilitado DD-WRT. Se utiliza para almacenar programas de usuario como Ipkg y datos en una memoria flash inaccesible. Esto le permite guardar archivos de configuración personalizados, alojar páginas web personalizadas almacenadas en el enrutador y muchas otras cosas que no son capaces sin JFFS.

Para habilitar JFFS en su enrutador, vaya a la pestaña «Administración» y busque la sección JFFS. la imagen a continuación muestra dónde encontraría esta sección dentro de la pestaña «Administración».

En la sección Soporte de JFFS2, haga clic en los botones de opción «Activar» para «JFFS2» y (cuando aparezca) la configuración «Limpiar JFFS2». Una vez seleccionado, haga clic en «Guardar».

Cuando se haya guardado la configuración, aún en la pestaña «Administración», reinicie el enrutador utilizando el botón «Reiniciar enrutador». Esto aplicará la configuración y realizará el «formato» necesario de la «partición» JFFS.

Cuando webGUI regrese del reinicio a la pestaña «Administración», espere medio minuto adicional y actualice la página.

Si tiene éxito, debería ver que su montaje JFFS tiene algo de espacio libre como en la imagen.

Configuración del servidor de píxeles

Descargue y extraiga el paquete anti ads para el archivo zip dd-wrt que contiene el ejecutable del servidor de píxeles (no nos estamos dando crédito, solo evitamos los «enlaces activos»), el script de bloqueo de anuncios (escrito por los suyos verdaderamente) y el personal- lista de dominios creada por «Mithridates Vii Eupator» y I.

Es hora de colocar los archivos en el soporte JFFS del enrutador. para hacer esto, instale winSCP (es un tipo de configuración «siguiente -> siguiente -> finalizar») y ábralo.

En la ventana principal, complete la información de esta manera:

Nombre de host: la IP de su enrutador (el valor predeterminado es 192.168.1.1)

Número de puerto: dejar sin cambios a las 22

Nombre de usuario: root (incluso si cambió el nombre de usuario para webGUI, el usuario SSH siempre será * root * )

Archivo de clave privada: déjelo en blanco (esto solo es necesario cuando crea una autenticación basada en un par de claves que no tenemos)

Protocolo de archivo: SCP

También necesitamos deshabilitar el «Grupo de usuarios de búsqueda» como se muestra a continuación (gracias a mstombs por señalar esto) porque winSCP espera un Linux completo en el otro lado que los desarrolladores de DD-WRT, a pesar de todo su excelente trabajo, no pudieron proporcionar (principalmente porque simplemente no hay suficiente espacio). Si deja esto marcado, encontrará mensajes de miedo cuando se conecte y guarde los archivos editados.

Seleccione Avanzar y luego desmarque «Buscar grupos de usuarios».

Si bien es opcional, puede optar por guardar la configuración ahora para su uso posterior. Si elige guardar la configuración que se recomienda, también se recomienda (a pesar de los gritos directos del asilo «paranoico de seguridad» que estamos profanando la existencia misma de SSH) que guarde la contraseña.

Entonces su ventana principal se verá como en la imagen, y todo lo que tendrá que hacer para conectarse al enrutador es hacer doble clic en la entrada.

Como esta es la primera vez que se conectará al enrutador, winSCP le preguntará si está dispuesto a confiar en la huella digital del otro lado. Haga clic en «Sí» para continuar.

Los desarrolladores de DD-WRT han implementado un mensaje de bienvenida de Banner con información sobre el firmware que ha instalado. una vez rojo, haga clic en la casilla de verificación «Nunca volver a mostrar este banner» y «Continuar».

Una vez conectado, navegue hasta la carpeta de nivel superior (también conocida como raíz «/») y luego vuelva a «/ jffs», ya que es el único lugar de escritura permanente en el sistema de archivos del enrutador («/ tmp» no sobrevive a los reinicios y el resto son de solo lectura).

Cree una nueva carpeta, presionando F7 o haciendo clic derecho en un espacio en blanco, desplace el cursor sobre «Nuevo» y haga clic en «Directorio».

Nombre el nuevo directorio «dns». creamos este directorio para mantener las cosas en el directorio jffs organizadas para uso futuro y porque estamos cambiando principalmente la forma en que funciona el servicio DNS.

Copie los archivos «pixelserv» y «disable-adds.sh» del archivo zip anti-ads-pack-for-dd-wrt, seleccionándolos (use la tecla «insertar»), presionando «F5» y luego «Copiar «.

Nota: Si su enrutador está basado en Atheros (puede verificar esto en el wiki DD-WRT), necesitará usar los píxeles serv_AR71xx proporcionados por Oki e incluidos en el paquete y cambiarle el nombre a «píxeles serv» antes de continuar.

Una vez que los archivos están en el enrutador, necesitamos hacerlos ejecutables seleccionándolos (nuevamente use «insertar») haga clic derecho y luego en «propiedades».

En la ventana de propiedades, haga clic en la «X» para la fila «Propietario». eso le dará a los archivos permisos de ejecución.

Configuración del enrutador

Ahora que el escenario está listo, podemos decirle al enrutador que ejecute el script de bloqueo de anuncios al inicio.
Para hacer esto, en la webGUI vaya a la pestaña «Administración» y luego a la pestaña «Comandos».

En el cuadro de texto «Comandos», escriba la ubicación del script como «/jffs/dns/disable_adds.sh», como en la imagen y luego haga clic en «Guardar inicio».

Si tiene éxito, debería ver que el script se ha convertido en parte del inicio del enrutador como en la imagen de arriba.

Configuración de la lista de dominios personales bloqueados (opcional)

Esta lista le permite agregar dominios a las listas no aprobadas, si encuentra que las dos listas dinámicas no captan algo.
Para hacer esto, hay dos opciones, y funcionan en conjunto, por lo que puede usar ambas de acuerdo con lo que sea más conveniente para usted.

Nota: la sintaxis es importante , ya que en realidad estamos creando directivas de configuración que el demonio DNSMasq (el proceso responsable de las traducciones de nombres DNS a IP) utilizará directamente. Como tal, la sintaxis incorrecta aquí hará que el servicio se bloquee y deje al enrutador incapaz de resolver las direcciones IP de los nombres de dominio (se le ha advertido).

Para encontrar los nombres de dominio ofensivos para bloquear, puede utilizar nuestra guía «Buscar los mensajes secretos en los encabezados del sitio web» como guía. Los pasos para encontrar los nombres de los dominios publicitarios son prácticamente los mismos, solo que en este caso está buscando una dirección en lugar de un mensaje.

La primera forma y ciertamente más accesible es poner la lista en el cuadro de configuración «DNSMasq» en la wegGUI. Esto se debe a que para agregar a esta lista, uno simplemente puede acceder a la webGUI en lugar de tener que pasar «bajo el capó» para realizar cambios.

Vaya a la pestaña «Servicios», busque la sección «DNSMasq» y encuentre el cuadro de texto «Opciones de DNSMasq adicionales».

En este cuadro de texto, ingrese las listas de dominios que desea bloquear con la sintaxis «address =/domain-name-to-block/pixel-server-ip» como se muestra en la imagen a continuación:

Donde en este ejemplo, «192.168.1.254» es la IP que se genera para el servidor de píxeles en función de la «dirección de red» de su LAN. Si su dirección de red es diferente a 192.168.1.x, tendrá que ajustar la dirección del servidor de píxeles en consecuencia.

Cuando termine, haga clic en «Guardar» en la parte inferior de la página (todavía no se aplica).

La segunda opción es componer la lista de dominios que desea bloquear, en el archivo «personal-ads-list.conf» que yo y «Mithridates Vii Eupator» hemos reunido. Este archivo es parte del archivo zip que descargó anteriormente y es un gran comienzo para ambos métodos.

Para usarlo, si es necesario, use su editor de texto favorito para ajustar la IP del servidor de píxeles (las mismas restricciones que las anteriores se aplican aquí). Luego, simplemente cópielo en el directorio «/ jffs/dns» como tiene los otros archivos. Una vez que esté allí, puede usar winSCP para editarlo y agregar dominios.

Configuración de la lista blanca

Esta es la lista de dominios que se omitirá de las listas dinámicas de «hosts» y «dominios».

Esto es necesario porque simplemente bloquear algunos dominios hace que los sitios que los usan no funcionen correctamente. El ejemplo más notable es «google-analytics.com».

Si bloqueamos su dominio, no cambiará el hecho de que los sitios que lo usan hagan que su navegador descargue un JavaScript que se ejecuta en eventos como salir de una página. Esto significa que para dicho sitio, su navegador intentará «llamar a casa» poniéndose en contacto con el dominio de Google, no entenderá la respuesta y tendrá que esperar hasta que se agote el tiempo de espera del script para continuar con la página siguiente. Esa no es una experiencia de navegación agradable y es por eso que cualquier dominio que contenga «google-analytics» y «googleadservices» está * estrictamente exento de filtrado.

Esta lista se crea para usted con los dominios mencionados anteriormente, cuando el script se ejecuta por primera vez, en el directorio «/ jffs/dns».

Para usar la lista blanca, abra el archivo con winSCP y ** perpend a la lista de los dominios que desea excluir, teniendo cuidado de no dejar ninguna línea en blanco (dejar una línea en blanco eliminará todos los dominios de todas las listas).

* Si bien el script crea la lista blanca con los dominios dentro de ella en la primera ejecución, NO insiste en sus regalos para futuras ejecuciones. así que si cree que Google debería estar bloqueado a pesar de los problemas mencionados anteriormente, puede eliminar los dominios de la lista blanca.

** Debe ingresar los nuevos dominios que desea al comienzo de la lista. Esto se debe a un error con la forma en que bash interpreta nuevas líneas … lo siento, todavía no tengo una solución para eso.

Ejecución

Esto es todo, finalmente es hora de invocar el script y ver los resultados simplemente reiniciando el enrutador.

Para hacer esto desde webGUI, en la pestaña «Administración», vuelva a «Administración», en la parte inferior de la página, haga clic en «Reiniciar enrutador» y espere a que el enrutador vuelva a funcionar.

El guión puede tardar un par de minutos en realizar sus tareas por primera vez.

En el tipo de enrutadores WRT54Gx, sabrá cuándo la secuencia de comandos ha terminado de ejecutarse porque parpadeará el LED naranja de Cisco en la parte frontal del enrutador (otros enrutadores deben tener un signo similar de «decir cola»).

Actualización: esta parte se eliminó * después de que se descubrió que era una función independiente del hardware.

Como estamos tratando de ver la ausencia de elementos en la web, recomiendo simplemente navegar a un par de sitios para ver el efecto.

Sin embargo, si desea asegurarse de que el procedimiento fue exitoso, el primer paso de depuración en la sección de solución de problemas es un buen lugar para comenzar.

* En realidad está comentado para que pueda restaurarlo si está seguro de que no causará problemas en su configuración.

¡Disfrutar!

Solución de problemas

Si tiene problemas, hay un par de cosas que puede hacer para verificar qué salió mal.

  1. Pruebe que el dominio publicitario se resuelva en la IP de píxeles de servicio.
    Puede hacerlo emitiendo el comando nslookup contra el dominio «infractor». Por ejemplo, «ad-emea.dubleclick.com» es parte de los hosts bloqueados de la lista personal. Al emitir «nslookup ad-emea.dubleclick.com» en un símbolo del sistema, el resultado debería verse así:

    Donde se vería una respuesta normal desbloqueada:
  2. Hacer de nuevo.
    Para asegurarse de que nada con la configuración de su enrutador esté en conflicto con la configuración del bloque de anuncios, restaure el enrutador a «Valores predeterminados de fábrica» ​​e intente nuevamente. Una vez que tenga éxito, agregue sus cambios personalizados con la esperanza de que no vuelvan a chocar.
  3. Asegúrese de que su cliente esté utilizando el enrutador como DNS.
    Especialmente cuando se usa una VPN o una red que es más compleja que la configuración normal del enrutador a la computadora, es posible que su computadora cliente simplemente no esté usando el enrutador como su DNS. Es muy fácil ver en el comando anterior cuál es el servidor DNS que está utilizando el cliente. Si la IP no es la misma que el enrutador, ha encontrado el problema.
  4. Borre el caché DNS de sus máquinas personales.
    Esto se debe a que, de lo contrario, es posible que aún vea los anuncios en el sitio con el que realiza la prueba, simplemente porque su computadora ya sabe cómo obtener el contenido publicitario por sí solo sin consultar el DNS. En Windows esto sería «ipconfig/flushdns».
  5. Cierre el navegador.
    A veces, el navegador almacena la información en caché, por lo que borrar la caché de DNS como se muestra arriba no ayuda.
  6. En caso de duda, reinicie.
    A veces, los cachés pueden persistir y la mejor manera de deshacerse de ellos es reiniciar. Comience con el enrutador y, si el problema persiste, la computadora cliente.
  7. Utilice syslog.
    Puede activar el demonio syslog del enrutador y luego mirar los mensajes para ver si el script encuentra algún problema, examinando sus mensajes. Además, el script agrega algunos alias de comandos para facilitar la depuración.
    Para hacerlo, vaya a la pestaña «Servicios» y active el demonio syslog como se muestra en la imagen a continuación:

    Nota: El «Servidor remoto» se usa cuando tiene un servidor de syslog en otra máquina (como con kiwi ) si no tener uno, simplemente déjelo en blanco.

    Una vez habilitado, puede ver los mensajes de depuración mirando el archivo /var/logs/messages en un terminal.
    * Para ver TODOS los mensajes desde el arranque, puede usar «more/var/log/messages».
    * Para ver solo los mensajes del script en el registro, use el alias «clog».
    * Para ver los mensajes a medida que entran, en tiempo real, utilice «tail -f/var/log/messages» o por su alias «tlog».
  8. Comprende el guión.
    Aunque hice este video de YouTube para una versión anterior de esta guía y el guión, aún contiene muchas verdades y explicaciones que son aplicables a cómo funciona la versión nueva y mejorada.

Descargue el paquete anti-ads.

Que los dioses enrutadores estén a tu favor

Rate article
labsfabs.com
Add a comment