Cómo eliminar anuncios con Pixelserv en DD-WRT

Perdón por la sorpresa de Wheezywaiter.



Existen numerosas formas de bloquear anuncios en su navegador, pero ¿y si pudiera bloquearlos en el enrutador? A continuación, se explica cómo utilizar DD-WRT firmware y envenenamiento deliberado de DNS para bloquear anuncios para cada dispositivo en su red.

Descripción general

Actualizar : Se actualizó la guía para reflejar los comentarios proporcionados por los comentaristas y se actualizó el paquete anti-anuncios con el ejecutable del servidor de píxeles más nuevo y un registro de cambios.





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

Para mucha gente, simplemente no hay una razón, especialmente con la nueva capacidad de Chrome para replicar las extensiones que usa en todas las computadoras en las que ejecuta Chrome.



La respuesta se encuentra en algún lugar entre la reducción de la sobrecarga de no tener que enseñar a todos los usuarios de su red sobre bloque de anuncios (Estoy hablando con usted, mamá, hermana, abuela y secretaria de la oficina) y la conveniencia de no ser molestado con él en cada computadora que configure. Eso es asumiendo que habrá algunas computadoras en su red en las que no va a configurar su entorno personal (por ejemplo, servidores centrales o VM).

Anuncio publicitario

Nota : Aunque utilizo el método siguiente en el enrutador de mi casa, encontré bloque de anuncios para ser una excelente adición, y recomiendo usar ambos métodos en conjunto. también si no tiene un enrutador DD-WRT usando bloque de anuncios es más ellos suficiente. De hecho, me gusta tanto el programa que le doné a su desarrollador y animo a todos a que lo hagan, para que continúe su desarrollo.

¿Como funciona?

Básicamente, esto funciona envenenando deliberadamente nuestro DNS para devolver una IP específica para los 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 ofrecer una imagen transparente de un píxel, como respuesta a 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 las MVPS archivo de host y el Lista de dominios yoyo , juntos tienen una lista muy extensa de sitios de publicidad. Al aprovechar estas listas, nos queda la responsabilidad de simplemente agregar el delta de los sitios que aún no están en uno de ellos, en nuestra lista personal.

También configuraremos una lista blanca para los dominios que no queremos que se bloqueen por ningún motivo.

Requisitos previos y supuestos

  • Paciencia joven, esta es una lectura larga.
  • Este procedimiento fue creado y probado en DD-WRT (v24pre-sp2 10/12/10 mini r15437 ), como tal, ya debe tener esta versión o una posterior instalada en su enrutador para usarla. Más información ha terminado en 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 entonces.
  • La computadora cliente está usando el enrutador como servidor DNS (este es el valor predeterminado).
  • Espacio para JFFS (en caso de duda, recomiendo usar el mini versión 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) como la última IP en esa red de clase C (x.y.z. 254 ) se asignará al programa servidor de píxeles.
  • La voluntad de instalar winSCP .

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

Creditos

Actualizar : 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 compatible con Atheros y la cita ;-) y Nate por ayudar con el control de calidad.

Anuncio publicitario

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

Pongamos manos a la obra

Habilite SSH para el 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 por la estructura de carpetas del enrutador (como veremos más adelante).

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

habilitar ssh

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

habilitar ssh1

Habilitar JFFS

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

Anuncio publicitario

* 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. como esto ejerce presión sobre los servidores que contienen las listas y ejecutables 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 Entrada wiki de DD-WRT sobre JFFS debería aclarar las cosas:

|_+_|

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

habilitar ssh2

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

habilitar ssh3

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

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

habilitar ssh5

Anuncio publicitario

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

Configuración del servidor de píxeles

Descargue y extraiga el paquete anti anuncios para el archivo zip dd-wrt que contiene el ejecutable del servidor de píxeles (no nos estamos atribuyendo el mérito, solo evitamos los enlaces activos), el script de bloqueo de anuncios (escrito por los suyos) y el dominio personal- lista creada por Mithridates Vii Eupator e I.

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

En la ventana principal, complete la información como esta:

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

Número de puerto: dejar sin cambios en 22

Nombre de usuario: raíz (incluso si cambió el nombre de usuario de la 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 pares de claves que no tenemos)

Protocolo de archivo: SCP

Anuncio publicitario

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 esta casilla marcada, encontrará mensajes de miedo cuando se conecte y guarde los archivos editados.

Seleccione Avanzado y luego desmarque Buscar grupos de usuarios.

Si bien es opcional, puede optar por guardar la configuración ahora para usarla más adelante. Si elige guardar la configuración que se recomienda, también se recomienda (a pesar de los gritos rotundos del asilo paranoico de seguridad de que estamos profanando la existencia misma de SSH) que guarde la contraseña.

Luego, 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 en rojo, haga clic en la casilla de verificación No volver a mostrar este banner y en Continuar.

Una vez conectado, navegue hasta la carpeta de nivel superior (también conocido como root /) y luego vuelva a / jffs, ya que ese es el único lugar de escritura permanente en el sistema de archivos del enrutador (/ tmp no sobrevive a los reinicios y el resto se lee- solo).

Anuncio publicitario

Cree una nueva carpeta presionando F7 o haciendo clic con el botón derecho en un espacio en blanco, coloque el cursor sobre Nuevo y haga clic en Directorio.

Nombra el nuevo directorio dns. Creamos este directorio para mantener las cosas en el directorio jffs organizadas para uso futuro y porque en su mayoría estamos cambiando cómo 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 de inserción), presionando F5 y luego Copiar.

Nota: Si su enrutador está basado en Atheros (puede verificar esto en el Wiki de DD-WRT ) deberá utilizar el pixelserv_AR71xx proporcionado por Oki e incluido en el paquete y cambiarle el nombre a pixelserv antes de continuar.

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

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

Configuración del enrutador

Anuncio publicitario

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 la secuencia de comandos se ha convertido en parte del inicio del enrutador, como se muestra en la imagen de arriba.

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

Esta lista le permite agregar dominios a las listas no aprobadas, si encuentra que las dos listas dinámicas no detectan algo.
Para hacer esto, hay dos opciones, y funcionan en conjunto, por lo que puede usar ambas según lo que le resulte más conveniente.

Nota: El 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 que el enrutador no pueda resolver las direcciones IP de los nombres de dominio (ha sido amonestado).

Para encontrar los nombres de dominio infractores para bloquear, es posible que desee utilizar nuestro Encuentre los mensajes secretos en los encabezados de sitios web guía como imprimación. Los pasos para encontrar los nombres de los dominios publicitarios son prácticamente los mismos, solo que en este caso buscas una dirección en lugar de un mensaje.

Anuncio publicitario

La primera y es cierto que una forma más accesible es poner la lista en el cuadro de configuración DNSMasq en wegGUI. Esto se debe a que para agregar a esta lista, uno puede simplemente acceder a la webGUI en lugar de tener que ir debajo del capó para hacer cambios.

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

En este cuadro de texto ingrese las listas de dominios que desea bloquear con la sintaxis dirección = / nombre-de-dominio-a-bloquear / pixel-server-ip como se muestra en la siguiente imagen:

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 (no aplique todavía).

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

Anuncio publicitario

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 ya que tiene los otros archivos. Una vez que esté allí, puede usar winSCP para editarlo y agregar dominios.

Configurar la lista blanca

Esta es la lista de dominios que se omitirán de las listas de dominios y hosts dinámicos.

Esto es necesario porque el simple hecho de bloquear algunos dominios hace que los sitios que los utilizan 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 el abandono de una página. Esto significa que para un sitio de este tipo, 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 de la secuencia de comandos para pasar a la página siguiente. No es una experiencia de navegación agradable y es por eso que cualquier dominio que contenga google-analytics y googleadservices está * codificado de forma rígida y 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 ** perpiaño a la lista los dominios que desea excluir, teniendo cuidado de no dejar líneas en blanco (dejar una línea en blanco eliminará todos los dominios de todas las listas).

Anuncio publicitario

* 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. por lo que si cree que Google debería estar bloqueado a pesar de los problemas antes mencionados, puede eliminar los dominios de la lista blanca.

** Debes ingresar los nuevos dominios que desees al inicio de la lista. Esto se debe a un error con la forma en que bash interpreta las 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 el enrutador y espere a que el enrutador vuelva a funcionar.

Es posible que el guión tarde un par de minutos en realizar sus funciones por primera vez.

En el tipo de enrutadores WRT54Gx, sabrá cuándo el script ha terminado de ejecutarse porque Hacer parpadear el LED naranja de Cisco en la parte frontal del enrutador (otros enrutadores deben tener un letrero de cola similar).

Anuncio publicitario

Actualización: esta parte se * eliminó después de que se descubrió que era una característica no 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 excelente 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 comprobar qué salió mal.

  1. Pruebe que el dominio de publicidad esté resuelto en la IP de pixelserv.
    Puede hacer esto 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 una respuesta normal desbloqueada se vería así:

  2. Rehacer.
    Para asegurarse de que nada de la configuración de su enrutador entre en conflicto con la configuración del bloque de anuncios, restaure el enrutador a los valores predeterminados de fábrica y vuelva a intentarlo. Una vez que tenga éxito, agregue los cambios personalizados con la esperanza de que no vuelvan a entrar en conflicto.
  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á usando el cliente. Si la IP no es la misma que la del enrutador, ha encontrado el problema.
  4. Borre la caché de DNS de sus máquinas personales.
    Esto se debe a que, de lo contrario, es posible que todavía vea los anuncios en el sitio con el que está probando, simplemente porque su computadora ya sabe cómo obtener el contenido del anuncio por sí mismo sin consultar el DNS. En Windows, sería ipconfig / flushdns.
  5. Cierra el navegador.
    A veces, el navegador guarda 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 hacer esto, vaya a la pestaña Servicios y habilite el demonio syslog como se muestra en la siguiente imagen:

    Nota: El servidor remoto se utiliza cuando tiene un servidor syslog escuchando en otra máquina (como con kiwi ) si no tiene uno, simplemente déjelo en blanco.

    Una vez habilitado, puede ver los mensajes de depuración mirando el / var / logs / messages archivar en un terminal .
    * Para ver TODOS los mensajes desde el inicio, puede usar más / var / log / messages.
    * Para ver solo los mensajes del script en el registro, use el alias de obstrucción.
    * Para ver los mensajes a medida que llegan, en tiempo real, use tail -f / var / log / messages o por su alias tlog.
  8. Comprende el guión.
    Aunque he hecho este video de YouTube para una versión anterior de esta guía y el guión, todavía contiene muchas verdades y explicaciones que son aplicables al funcionamiento de la versión nueva y mejorada.
Descarga el paquete anti-anuncios.

Que los dioses del enrutador estén a tu favor

LEER SIGUIENTE

Artículos De Interés