O Google Chrome foi atualizado recentemente para oferecer suporte a DNS assíncrono, o que tem o efeito colateral de quebrar bloqueadores de anúncios baseados em DNS. Veja aqui uma correção.
Recentemente, o Google adicionou suporte para um recurso conhecido como DNS assíncrono ao Google Chrome, que visa acelerar o tempo de carregamento da página, resolvendo o endereço IP de um site antes de você clicar no link. Ele funciona verificando uma página da web enquanto ela carrega, encontrando quaisquer nomes de domínio vinculados e usando um Servidor de Nomes de Domínio (DNS) para encontrar o endereço IP associado a cada um deles. O Google diz que deve respeitar o servidor DNS que o usuário configurou no dispositivo, mas em algumas ocasiões parece não ser o caso. Os usuários estão relatando que bloqueadores de anúncios baseados em DNS, como AdHell e DNS66, não funcionam mais corretamente na versão mais recente do Chrome.
Acontece que o Google nem sempre respeita o DNS configurado no dispositivo e volta ao seu próprio, por isso os usuários estão começando a ver anúncios novamente. Não se acredita que afete bloqueadores de anúncios que não usam DNS para bloquear anúncios, como o NetGuard, que usa seu próprio firewall.
No entanto, membro júnior do XDA tersono descobri que existe uma correção que pode ser aplicada facilmente no próprio aplicativo. Envolve editar a sinalização do Chrome para desativar o DNS assíncrono. Observe que é possível que os sites demorem um pouco mais para carregar, visto que o recurso que iremos a desativação é usada para que as páginas da web possam ser iniciadas mais rapidamente, mas terá apenas um impacto minúsculo - se houver algum de forma alguma.
Corrigindo bloqueadores de anúncios baseados em DNS no Google Chrome
Passo 1 – Desativando o recurso DNS assíncrono do Chrome
Primeiro, você precisará navegar até cromo: // sinalizadores na barra de URL, onde você será levado a um menu onde poderá ativar e desativar recursos no Chrome. Procure por “DNS” e desative o recurso intitulado “Async DNS Resolver”.
Passo 2 – Limpando o Cache DNS
A seguir, precisaremos limpar o cache DNS. Isso ocorre porque o Google ainda terá muitos nomes de domínio diferentes resolvidos para seus endereços IP e os armazenará em um arquivo. Isso significa que alternar esse recurso não é suficiente, pois se você já se deparou com algum anúncio até agora, o Google Chrome ainda terá seu endereço IP armazenado. Podemos limpar esse cache facilmente, basta navegar até chrome://net-internals. Navegue até a guia DNS e toque em “Limpar cache do host”.
Passo 3 – Reinicie o Chrome
Muito simples, basta reiniciar o Chrome deslizando-o no menu Recentes ou forçar o encerramento do aplicativo nas configurações de aplicativos do seu dispositivo.
Por que meus bloqueadores de anúncios baseados em DNS estão funcionando com o Google Chrome agora?
Com a recente mudança do Google, ele frequentemente usará o DNS do Google e não respeitará nenhum outro serviço DNS no dispositivo que esteja em execução. Isso afeta não apenas os bloqueadores de anúncios baseados em DNS, mas também qualquer pessoa que use uma VPN, pois qualquer solicitação de DNS vazará. Representa uma preocupação com a privacidade para muitos, e não apenas um incômodo para aqueles que não querem ver anúncios.
Desativamos esse novo recurso implementado no Google Chrome desativando o sinalizador e, portanto, o aplicativo será forçado a usar qualquer servidor DNS que o resto do sistema Android também esteja usando. Não se sabe se essa correção funcionará no futuro, pois é possível que o sinalizador seja totalmente removido quando o recurso for ativado por padrão em uma versão futura do Chrome.