Menu
PT (BR)

AdGuard DNS v2.11: filtrando páginas pré-carregadas no Chrome

Os navegadores estão constantemente se esforçando para melhorar seu desempenho. Isso é compreensível: quanto mais rápido as páginas carregam, menos usuários insatisfeitos eles precisam lidar. No entanto, os métodos utilizados às vezes interferem no processo de filtragem.

O Chrome oferece um recurso de pré-carregamento de páginas, que pode ser encontrado em Configurações do navegador → Desempenho. Se ativado, o Chrome pré-carregará as páginas que ele acredita que você pode visitar em seguida.

Por exemplo, ao ler um artigo, o navegador analisa todos os links na página e prevê quais você pode querer clicar. Para garantir que a próxima página seja aberta imediatamente, o Chrome pré-carrega seu conteúdo. Para impedir que o site de destino veja o seu endereço IP, o Chrome utiliza um recurso chamado proxy de pré-carregamento privado. O conteúdo é carregado através desse servidor proxy, e o site vê o endereço IP do proxy, em vez do seu. E aqui está o problema: se o site for carregado por meio do proxy, o AdGuard DNS não vê a solicitação. Como resultado, não pode filtrá-la.

No entanto, o Chrome oferece uma solução — um sinal que informa ao navegador que o usuário ou administrador do sistema deseja que as solicitações DNS sejam transparentes. Veja como funciona: quando você inicia o Chrome ou troca de rede, o navegador envia uma solicitação DNS para dns-tunnel-check.googlezip.net. Se nenhum endereço IP for retornado (por exemplo, a resposta for NXDOMAIN), o Chrome ativa o modo de pré-verificação. Nesse modo, quando o usuário está prestes a visitar uma página pré-carregada, o Chrome faz uma solicitação DNS adicional — desta vez para o servidor configurado no sistema. No nosso caso, é o AdGuard DNS. Se o site estiver na lista de bloqueio, o navegador impedirá o acesso, e o conteúdo pré-carregado não será usado.

Como isso é feito? Adicionamos um recurso chamado Forçar o modo de pré-verificação para pré-carregamento no Chrome. Você pode encontrá-lo em Configurações do servidor. Tecnicamente, esse recurso utiliza uma regra dnsrewrite:

|dns-tunnel-check.googlezip.net^$dnsrewrite=NXDOMAIN

Essa regra retorna uma resposta NXDOMAIN para dns-tunnel-check.googlezip.net, sinalizando ao Chrome que todas as solicitações, inclusive para páginas pré-carregadas, devem passar pelo AdGuard DNS.

Importante: essa configuração não desativa o pré-carregamento de páginas nem impede que o navegador analise seu comportamento em sites. Se você quiser desativar o pré-carregamento, pode fazê-lo manualmente: Configurações → Desempenho → Pré-carregar páginas.

Seu feedback é sempre bem-vindo

Esse recurso foi adicionado graças a uma solicitação no GitHub. Valorizamos muito o seu feedback — se você souber de algo mais que podemos melhorar, nos informe pelas redes sociais ou no GitHub.Os navegadores estão constantemente se esforçando para melhorar seu desempenho. Isso é compreensível: quanto mais rápido as páginas carregam, menos usuários insatisfeitos eles precisam lidar. No entanto, os métodos utilizados às vezes interferem no processo de filtragem.

O Chrome oferece um recurso de pré-carregamento de páginas, que pode ser encontrado em Configurações do navegador → Desempenho. Se ativado, o Chrome pré-carregará as páginas que ele acredita que você pode visitar em seguida.

Por exemplo, ao ler um artigo, o navegador analisa todos os links na página e prevê quais você pode querer clicar. Para garantir que a próxima página seja aberta imediatamente, o Chrome pré-carrega seu conteúdo. Para impedir que o site de destino veja o seu endereço IP, o Chrome utiliza um recurso chamado proxy de pré-carregamento privado. O conteúdo é carregado através desse servidor proxy, e o site vê o endereço IP do proxy, em vez do seu. E aqui está o problema: se o site for carregado por meio do proxy, o AdGuard DNS não vê a solicitação. Como resultado, não pode filtrá-la.

No entanto, o Chrome oferece uma solução — um sinal que informa ao navegador que o usuário ou administrador do sistema deseja que as solicitações DNS sejam transparentes. Veja como funciona: quando você inicia o Chrome ou troca de rede, o navegador envia uma solicitação DNS para dns-tunnel-check.googlezip.net. Se nenhum endereço IP for retornado (por exemplo, a resposta for NXDOMAIN), o Chrome ativa o modo de pré-verificação. Nesse modo, quando o usuário está prestes a visitar uma página pré-carregada, o Chrome faz uma solicitação DNS adicional — desta vez para o servidor configurado no sistema. No nosso caso, é o AdGuard DNS. Se o site estiver na lista de bloqueio, o navegador impedirá o acesso, e o conteúdo pré-carregado não será usado.

Como isso é feito? Adicionamos um recurso chamado Forçar o modo de pré-verificação para pré-carregamento no Chrome. Você pode encontrá-lo em Configurações do servidor. Tecnicamente, esse recurso utiliza uma regra dnsrewrite:

|dns-tunnel-check.googlezip.net^$dnsrewrite=NXDOMAIN

Essa regra retorna uma resposta NXDOMAIN para dns-tunnel-check.googlezip.net, sinalizando ao Chrome que todas as solicitações, inclusive para páginas pré-carregadas, devem passar pelo AdGuard DNS.

Importante: essa configuração não desativa o pré-carregamento de páginas nem impede que o navegador analise seu comportamento em sites. Se você quiser desativar o pré-carregamento, pode fazê-lo manualmente: Configurações → Desempenho → Pré-carregar páginas.

Seu feedback é sempre bem-vindo

Esse recurso foi adicionado graças a uma solicitação no GitHub. Valorizamos muito o seu feedback então, se você souber de algo mais que podemos melhorar, nos informe pelo GitHub.

Gostou deste post?