Como remover anúncios com o Pixelserv no DD-WRT

Índice:

Como remover anúncios com o Pixelserv no DD-WRT
Como remover anúncios com o Pixelserv no DD-WRT

Vídeo: Como remover anúncios com o Pixelserv no DD-WRT

Vídeo: Como remover anúncios com o Pixelserv no DD-WRT
Vídeo: Como inserir nota de referência no rodapé do Word (de acordo com as normas da ABNT) - YouTube 2024, Maio
Anonim
Existem inúmeras maneiras de bloquear anúncios em seu navegador, mas e se você pudesse bloqueá-los no roteador? Veja como usar o firmware do DD-WRT e deliberar "envenenamento de DNS" para bloquear anúncios de todos os dispositivos da sua rede.
Existem inúmeras maneiras de bloquear anúncios em seu navegador, mas e se você pudesse bloqueá-los no roteador? Veja como usar o firmware do DD-WRT e deliberar "envenenamento de DNS" para bloquear anúncios de todos os dispositivos da sua rede.

visão global

Atualizar: Guia atualizado para refletir o feedback fornecido pelos comentadores e atualizado o pacote anti-anúncios com o novo executável de servidor de pixel e um log de alterações.

A primeira pergunta na mente de todos agora é "por que não usar o bloco de anúncios?"

Para muitas pessoas, simplesmente não há uma razão, especialmente com a nova capacidade do chrome de replicar as extensões que você usa para todos os computadores em que está executando o Chrome.

A resposta está em algum lugar entre a sobrecarga reduzida de não ter que ensinar todos os usuários em sua rede sobre bloco de anúncios (eu estou falando com você mãe, irmã, avó e secretária) e a conveniência de não ser incomodado com isso cada computador que você configura. Isso significa que haverá alguns computadores na sua rede nos quais você não configurará seu ambiente pessoal (por exemplo, "servidores núcleo" ou VMs).

NotaEmbora eu use o método abaixo em meu roteador doméstico, achei o bloco de anúncios como um excelente acréscimo a ele, e recomendo usar ambos os métodos em conjunto. Além disso, se você não tiver um roteador DD-WRT usando bloco de anúncios, será o suficiente. Na verdade, gosto muito do programa, doei para o desenvolvedor e incentivo todos a fazer isso, para continuar o desenvolvimento.

Como funciona?

Essencialmente isso funciona envenenando deliberadamente nosso DNS para retornar um IP específico para domínios na lista não aprovada. Esta lista não aprovada conterá nomes de domínio de sites que são responsáveis exclusivamente pela entrega de conteúdo de publicidade, por isso não vamos sentir muita falta deles.

Vamos configurar um servidor HTTP secundário no roteador para servir uma imagem de um pixel transparente, como a resposta para qualquer solicitação de URL. Em conjunto com a resolução “errada” do DNS, isso fará com que os clientes da rede solicitem o conteúdo do nosso servidor de pixels interno e obtenham uma imagem em branco em resposta.

Para gerar a lista não aprovada, criaremos uma lista pessoal em conjunto com duas listas baixadas dinamicamente. As listas dinâmicas são o arquivo hospedeiro MVPS e a lista de domínios Yoyo. Juntos, eles mantêm uma lista muito extensa de sites de anúncios. Ao utilizar essas listas, ficamos com a responsabilidade de apenas adicionar o delta de sites que ainda não estão em um deles, em nossa lista pessoal.

Também configuraremos uma "lista de permissões" para domínios que não queremos bloquear por qualquer motivo.

Pré-requisitos e suposições

  • Paciência jovem, esta é uma leitura longa.
  • Este procedimento foi criado e testado no DD-WRT (v24pre-sp2 10/12/10 mini r15437), como tal você já deve ter esta versão ou mais tarde instalado no seu roteador para usá-lo. Mais informações sobre o site do DD-WRT.
  • Para facilitar a explicação, presume-se que o roteador foi restaurado para os "padrões de fábrica" ou que as configurações usadas não foram alteradas a partir de suas predefinições "fora da caixa" desde então.
  • O computador cliente está usando o roteador como o servidor DNS (esse é o padrão).
  • Espaço para JFFS (em caso de dúvida, recomendo usar o mini versão do DD-WRT).
  • Supõe-se que sua rede já esteja definida * e que seja uma classe C (uma que tenha uma sub-rede de 255.255.255.0) como o último IP dessa rede de classe C (x.y.z. 254) será atribuído ao programa do servidor de pixels.
  • A vontade de instalar o winSCP.

* O script não poderá ajustar as listas de bloqueio após a primeira execução até o próximo ciclo de atualização (3 dias).

Créditos

Atualizar: Agradecimentos especiais a “mstombs” pela ótima obra de código C sem o seu trabalho, tudo isso não seria possível, “Oki” por compilar a versão e citação compatíveis com Atheros;-) e “Nate” por ajudar com o QA-ing.

Embora tenha havido muito trabalho para aperfeiçoar este procedimento, a inspiração para isso foi inflamada pelos caras do fórum DD-WRT e algumas das fundações deste guia podem ser encontradas em “ad-blocking with DD- WRT revisitado (simples)”,“pixelserv sem Perl, sem qualquer jffs / cifs / usb free”e“Flexion.Org Wiki no DNSmasq “assim como outros.

Vamos ficar rachando

Ativar SSH para acesso SCP

Ao habilitar o SSH, nós nos damos a capacidade de nos conectar ao roteador usando o protocolo SCP. com isso ativado, podemos usar o programa winSCP para navegar visualmente na estrutura de pastas do roteador (como veremos mais adiante).

Para fazer isso, usando a webGUI, vá para a guia "Serviços". Encontre a seção “Secure shell” e clique no botão “Enable” para a configuração SSHd.

Image
Image

Uma vez feito isso, o webGUI deve olhar como abaixo e você pode clicar em "Salvar" (não aplicar ainda).

Image
Image

Ativar JFFS

Para fazer essa configuração de uma maneira que seria estável, reproduzível e * ser um “bom cidadão da internet”, usaremos o JFFS para armazenar o máximo possível de configurações.Existem outras maneiras de fazer isso sem habilitar o JFFS, se você não puder devido a limitações de espaço, mas elas não são abordadas aqui.

* outros métodos fazem com que o seu roteador baixe as listas dinâmicas e executáveis do servidor de pixels toda vez que o script for executado. Como isso coloca uma pressão sobre os servidores que mantêm as listas e executável e isso custa dinheiro para alguém, esse método tenta evitá-lo, se possível.

Se você ainda não sabe o que é o JFFS, essa explicação, tirada da entrada do wiki do DD-WRT sobre o JFFS, deve esclarecer:

The Journaling Flash File System (JFFS) allows you to have a writable Linux File System on a DD-WRT enabled router. It is used to store user programs like Ipkg and data into otherwise inaccessible flash memory. This allows you to save custom configuration files, host custom Web pages stored on the router and many other things not capable without JFFS.

Para habilitar o JFFS no seu roteador, vá para a aba “Administração” e encontre a seção JFFS. a imagem abaixo mostra onde você encontraria essa seção na guia "Administração".

Na seção Suporte JFFS2, clique nos botões de opção "Ativar" para "JFFS2" e (quando aparecer) nas configurações de "Limpar JFFS2". Uma vez selecionado, clique em "Salvar".
Na seção Suporte JFFS2, clique nos botões de opção "Ativar" para "JFFS2" e (quando aparecer) nas configurações de "Limpar JFFS2". Uma vez selecionado, clique em "Salvar".
Quando as configurações forem salvas, ainda na guia "Administração", reinicialize o roteador usando o botão "Reiniciar roteador". Isto irá aplicar as configurações e executar o “formato” necessário da “partição” JFFS.
Quando as configurações forem salvas, ainda na guia "Administração", reinicialize o roteador usando o botão "Reiniciar roteador". Isto irá aplicar as configurações e executar o “formato” necessário da “partição” JFFS.
Image
Image

Quando a webGUI voltar da reinicialização para a guia "Administração", aguarde mais um minuto e atualize a página.

Se bem sucedido, você deve ver que sua montagem JFFS tem algum espaço livre como na imagem.
Se bem sucedido, você deve ver que sua montagem JFFS tem algum espaço livre como na imagem.

Configuração do servidor de pixels

Faça o download e extraia o pacote anti-anúncios para o arquivo zip dd-wrt que contém o executável do servidor de pixel (não estamos assumindo crédito, apenas evitando links diretos), o script de bloqueio de anúncios (escrito por você) e o pessoal Lista de domínios criada por “Mithridates Vii Eupator” e I.

É hora de colocar os arquivos na montagem JFFS no roteador. para fazer isso, instale o winSCP (é um tipo de configuração "next -> next -> finish") e abra-o.

Na janela principal, preencha as informações como esta:

Nome do host: o IP do seu roteador (o padrão é 192.168.1.1)

Número da porta: deixe inalterado em 22

Nome de usuário: raiz (mesmo se você alterou o nome de usuário para o webGUI, o usuário do SSH será sempre * root * )

Arquivo de chave privada: deixe em branco (isso é necessário apenas quando você cria uma autenticação baseada em pares de chaves que não é necessária)

Protocolo de arquivo: SCP

Nós também precisamos desabilitar “Lookup user group” como mostrado abaixo (obrigado mstombs por apontar isto) porque o winSCP está esperando um Linux completo no outro lado que os desenvolvedores do DD-WRT, apesar de todo trabalho excelente, não foram capazes de fornecer (principalmente porque simplesmente não há espaço suficiente). Se você deixar isso marcado, você encontrará mensagens assustadoras quando conectar e salvar arquivos editados.
Nós também precisamos desabilitar “Lookup user group” como mostrado abaixo (obrigado mstombs por apontar isto) porque o winSCP está esperando um Linux completo no outro lado que os desenvolvedores do DD-WRT, apesar de todo trabalho excelente, não foram capazes de fornecer (principalmente porque simplesmente não há espaço suficiente). Se você deixar isso marcado, você encontrará mensagens assustadoras quando conectar e salvar arquivos editados.

Selecione Avançar e desmarque a opção "Pesquisar grupos de usuários".

Embora seja opcional, você pode optar por salvar as configurações agora para uso posterior. Se você optar por salvar as configurações recomendadas, também é recomendável (apesar dos gritos imediatos do asilo "paranoico de segurança" que estamos profanando a própria existência do SSH) que você salva a senha.
Embora seja opcional, você pode optar por salvar as configurações agora para uso posterior. Se você optar por salvar as configurações recomendadas, também é recomendável (apesar dos gritos imediatos do asilo "paranoico de segurança" que estamos profanando a própria existência do SSH) que você salva a senha.
Image
Image

Em seguida, sua janela principal será exibida na foto, e tudo o que você precisa fazer para se conectar ao roteador é clicar duas vezes na entrada.

Como esta é a primeira vez que você se conectará ao roteador, o winSCP perguntará se você está disposto a confiar na impressão digital do outro lado. Clique em "Sim" para continuar.
Como esta é a primeira vez que você se conectará ao roteador, o winSCP perguntará se você está disposto a confiar na impressão digital do outro lado. Clique em "Sim" para continuar.
Os desenvolvedores do DD-WRT implementaram uma mensagem de boas-vindas do Banner com algumas informações sobre o firmware que você instalou. uma vez vermelho, clique na caixa de seleção "Nunca mostrar esta bandeira novamente" e "Continuar".
Os desenvolvedores do DD-WRT implementaram uma mensagem de boas-vindas do Banner com algumas informações sobre o firmware que você instalou. uma vez vermelho, clique na caixa de seleção "Nunca mostrar esta bandeira novamente" e "Continuar".
Uma vez conectado, navegue até a pasta de nível superior (AKA root “/”) e depois volte para “/ jffs”, pois esse é o único local permanentemente gravável no sistema de arquivos do roteador (“/ tmp” não se sustenta e os demais são somente leitura).
Uma vez conectado, navegue até a pasta de nível superior (AKA root “/”) e depois volte para “/ jffs”, pois esse é o único local permanentemente gravável no sistema de arquivos do roteador (“/ tmp” não se sustenta e os demais são somente leitura).
Crie uma nova pasta, clicando em F7 ou clicando com o botão direito em um ponto em branco, passe o mouse sobre "Novo" e clique em "Diretório".
Crie uma nova pasta, clicando em F7 ou clicando com o botão direito em um ponto em branco, passe o mouse sobre "Novo" e clique em "Diretório".
Nomeie o novo diretório “dns”. nós criamos este diretório para manter as coisas no diretório jffs organizadas para uso futuro e porque estamos mudando principalmente como o serviço DNS funciona.
Nomeie o novo diretório “dns”. nós criamos este diretório para manter as coisas no diretório jffs organizadas para uso futuro e porque estamos mudando principalmente como o serviço DNS funciona.

Copie os arquivos “pixelserv” e “disable-adds.sh” do arquivo zip anti-ads-pack-for-dd-wrt, selecionando-os (use a tecla “insert”), pressionando “F5” e depois “Copiar"

Nota: Se o seu roteador é baseado em Atheros (você pode verificar isso no wiki do DD-WRT) você precisará usar o pixelserv AR71xx fornecido pela Oki e incluído no pacote e renomeá-lo para “pixelserv” antes de continuar.
Nota: Se o seu roteador é baseado em Atheros (você pode verificar isso no wiki do DD-WRT) você precisará usar o pixelserv AR71xx fornecido pela Oki e incluído no pacote e renomeá-lo para “pixelserv” antes de continuar.

Quando os arquivos estiverem no roteador, precisamos torná-los executáveis selecionando-os (novamente, use “insert”) clique com o botão direito do mouse em “properties”.

Image
Image

Na janela de propriedades, clique no "X" para a linha "Proprietário". que dará as permissões de execução dos arquivos.

Configurações do roteador

Agora que o estágio está definido, podemos dizer ao roteador para executar o script de bloqueio de anúncios na inicialização. Para fazer isso, na webGUI, vá para a guia "Administração" e, em seguida, na guia "Comandos".

Na caixa de texto "Comandos", escreva a localização do script como "/jffs/dns/disable adds.sh", como na imagem e depois clique em "Salvar inicialização".
Na caixa de texto "Comandos", escreva a localização do script como "/jffs/dns/disable adds.sh", como na imagem e depois clique em "Salvar inicialização".
Se tiver sucesso, você verá que o script se tornou parte da inicialização do roteador, como na foto acima.
Se tiver sucesso, você verá que o script se tornou parte da inicialização do roteador, como na foto acima.

Configurando a lista de domínios bloqueados pessoais (opcional)

Esta lista permite adicionar domínios às listas não aprovadas, se você achar que as duas listas dinâmicas não captam algo. Para fazer isso, existem duas opções, e elas funcionam em conjunto para que você possa usar as duas opções de acordo com o que for mais conveniente para você.

Nota: o sintaxe é importanteComo estamos realmente criando diretivas de configuração, o daemon DNSMasq (o processo que é responsável pelas traduções do nome do DNS para o IP) usará diretamente. Como tal, a sintaxe incorreta aqui fará com que o serviço trave e deixe o roteador incapaz de resolver endereços IP para nomes de domínio (você foi admoestado).

A fim de encontrar os nomes de domínio ofensivos a serem bloqueados, você pode usar nosso guia "Localizar as mensagens secretas em cabeçalhos de sites" como uma cartilha. Os passos para encontrar os nomes dos domínios do anúncio são praticamente os mesmos, só que neste caso você está procurando um endereço em vez de uma mensagem.

O primeiro e a maneira mais acessível é colocar a lista na caixa de configuração “DNSMasq” no wegGUI. Isto porque, para adicionar a esta lista, pode-se simplesmente acessar a webGUI em vez de ter que ir "sob o capô" para fazer alterações.

Vá para a guia “Serviços”, encontre a seção “DNSMasq” e encontre a caixa de texto “Additional DNSMasq Options”.

Nessa caixa de texto, insira as listas de domínios que você deseja bloquear com a sintaxe “address = / domain-name-to-block / pixel-server-ip”, como mostra a figura abaixo:

Onde, neste exemplo, o "192.168.1.254" é o IP gerado para o servidor de pixels com base no "endereço de rede" da sua LAN. Se o seu endereço de rede for algo diferente, então 192.168.1.x você terá que ajustar o endereço para o servidor de pixels de acordo.
Onde, neste exemplo, o "192.168.1.254" é o IP gerado para o servidor de pixels com base no "endereço de rede" da sua LAN. Se o seu endereço de rede for algo diferente, então 192.168.1.x você terá que ajustar o endereço para o servidor de pixels de acordo.

Quando terminar, clique em "Salvar" na parte inferior da página (ainda não se inscreva).

O segundo opção é compor a lista de domínios que você quer bloquear, para o arquivo “personal-ads-list.conf” que eu e o “Mithridates Vii Eupator” montamos. Esse arquivo faz parte do arquivo zip que você fez o download anteriormente e é um ótimo começo para os dois métodos.

Para usá-lo, se necessário, use seu editor de texto favorito para ajustar o IP do servidor de pixels (as mesmas restrições acima se aplicam aqui). Em seguida, basta copiá-lo para o diretório “/ jffs / dns” como você tem os outros arquivos. Quando estiver lá, você pode usar o winSCP para editá-lo e adicionar domínios.

Configurando a lista de permissões

Esta é a lista de domínios que serão omitidos das listas dinâmicas de "hosts" e "domínios".

Isso é necessário porque o simples bloqueio de alguns domínios faz com que os sites que os usam não funcionem corretamente. o exemplo mais notável é "google-analytics.com".

Se bloquearmos o domínio, isso não mudará o fato de que os sites que o usam fazem o download de um JavaScript que é executado em eventos como deixar uma página. Isso significa que, para esse site, seu navegador tentará "ligar para casa" entrando em contato com o domínio do Google, não entenderá a resposta e você terá que esperar até que o script expire para continuar na próxima página. Isso dificilmente é uma experiência de navegação agradável, e é por isso que qualquer domínio que contenha "google-analytics" e "googleadservices" está * fortemente codificado para a filtragem.

Esta lista é criada para você com os domínios mencionados acima, quando o script é executado pela primeira vez, sob o diretório “/ jffs / dns”.

Image
Image

Para usar a lista de desbloqueio, abra o arquivo com o winSCP e ** perpend à lista os domínios que você deseja excluir, tomando cuidado para não deixar linhas em branco (deixar uma linha em branco excluirá todos os domínios de todas as listas).

Image
Image

* Enquanto o script cria a whitelist com os domínios dentro dele na primeira execução, ele NÃO insiste em seus presentes para execuções futuras. Portanto, se você acha que o Google deve ser bloqueado, apesar dos problemas mencionados, é possível remover os domínios da lista de permissões.

** Você deve inserir os novos domínios que deseja no início da lista. Isso é por causa de um bug com a forma como o bash interpreta novas linhas … desculpe, eu não tenho um trabalho para isso ainda.

Execução

É isso, finalmente é hora de invocar o script e ver os resultados simplesmente reiniciando o roteador.

Para fazer isso a partir da webGUI, na guia "Administração", volte para "Gerenciamento", na parte inferior da página, clique em "Reinicializar roteador" e aguarde até que o roteador retorne.

Pode levar alguns minutos para o script executar suas tarefas pela primeira vez.

No tipo de roteador WRT54Gx, você saberá quando o script terminar de ser executado, pois ele piscará o LED laranja da Cisco na parte frontal do roteador (outros roteadores devem ter um sinal semelhante "tell tail").

Atualização: essa parte foi removida após ter sido descoberta como um recurso agnóstico não relacionado a hardware.

Como estamos tentando ver a ausência de elementos na Web, recomendamos simplesmente navegar em alguns sites para ver o efeito.

No entanto, se você quiser ter certeza de que o procedimento foi bem-sucedido, a primeira etapa de depuração na seção de solução de problemas é um ótimo local para começar.

* Na verdade, ele é comentado para que você possa restaurá-lo se tiver certeza de que não causará problemas na sua configuração.

Apreciar!

Image
Image

Solução de problemas

Se você tiver problemas, há algumas coisas que você pode fazer para verificar o que deu errado.

  1. Teste se o domínio do anúncio foi resolvido para o IP do pixelserv. Você pode fazer isso emitindo o comando nslookup no domínio "ofensivo". Por exemplo, o “ad-emea.dubleclick.com” faz parte dos hosts bloqueados da lista pessoal. Ao emitir "nslookup ad-emea.dubleclick.com" em um prompt de comando, o resultado deve ser semelhante a:

    Image
    Image

    Onde uma resposta normal não bloqueada seria:

    Image
    Image
  2. Fazer mais. Para garantir que nada na configuração do seu roteador esteja em conflito com a configuração do bloco de anúncios, restaure o roteador para "Padrões de fábrica" e tente novamente. Uma vez que seu sucesso adicione suas alterações personalizadas, na esperança de que elas não colidam novamente.
  3. Verifique se o seu cliente está usando o roteador como o DNS. Especialmente ao usar uma VPN ou uma rede que é mais complexa do que o roteador normal para a configuração do computador, é possível que o seu computador cliente simplesmente não esteja usando o roteador como seu DNS. É muito fácil ver no comando acima qual é o servidor DNS que o cliente está usando, se o IP não é o mesmo que o roteador, você encontrou o problema.
  4. Limpe o cache DNS de suas máquinas pessoais. Isso ocorre porque, caso contrário, você ainda poderá ver os anúncios para o site com o seu teste, simplesmente porque o seu computador já sabe como obter o conteúdo do anúncio por conta própria, sem consultar o DNS para ele. No windows isso seria “ipconfig / flushdns”.
  5. Feche o navegador. Às vezes, o navegador armazena as informações em cache, portanto, limpar o cache do DNS, conforme mostrado acima, não ajuda.
  6. Em caso de dúvida, reinicie. Às vezes, os caches podem persistir e a melhor maneira de se livrar deles é reinicializar. Comece com o roteador e, se o problema persistir, o computador cliente.
  7. Use o syslog. Você pode ativar o daemon syslog do roteador e, em seguida, examinar as mensagens para ver se o script encontra algum problema, examinando suas mensagens. Além disso, o script adiciona alguns aliases de comando para facilitar a depuração. Para fazer isso, vá para a aba "Serviços" e ative o daemon syslog como na imagem abaixo:

    Image
    Image

    Nota: O “Servidor Remoto” é usado quando você tem um servidor syslog em outra máquina (como com kiwi) se você não tiver um, simplesmente deixe em branco. Uma vez ativado, você pode ver as mensagens de depuração, olhando para o / var / logs / messages arquivo em um terminal. * Para ver todas as mensagens do boot, você pode usar “more / var / log / messages”. * Para ver apenas as mensagens do script no log, use o alias "clog". * Para ver as mensagens como elas entram, em tempo real, use “tail -f / var / log / messages” ou pelo seu apelido “tlog”.

  8. Entenda o roteiro. Mesmo que eu tenha feito este vídeo do YouTube para uma versão mais antiga deste guia e do script, ele ainda contém muitas verdades e explicações que são aplicáveis à forma como a nova e melhorada versão funciona.

Faça o download do pacote de anúncios.

Que os deuses do roteador estejam a seu favor

Recomendado: