Como Parei de Lutar com as Configurações de DNS no Android
Situação familiar: você decide configurar um servidor DNS pessoal para se livrar dos anúncios em apps e navegador. Você vai às configurações do Android, se perde nas profundezas do menu de conexões, procura a opção "DNS Privado", digita o endereço do host... E isso toda vez que precisa verificar se algum site ou app "quebrou" por causa do DNS. No Android essa configuração está tão escondida, como se o Google estivesse protegendo intencionalmente as receitas de anúncios.
Recentemente encontrei um pequeno utilitário chamado adns do desenvolvedor eyalm2000. É uma ferramenta open-source que faz uma coisa simples: coloca o toggle de DNS do sistema direto na tela inicial ou na sombra de notificações.
Qual é o benefício
O problema com a maioria dos bloqueadores de anúncios no Android é que eles funcionam como um serviço VPN local ou como um serviço em segundo plano. Isso inevitavelmente "drena" a bateria, ocupa espaço nas notificações e às vezes entra em conflito com clientes VPN reais.
adns funciona de forma diferente. Ele não executa nenhum processo em segundo plano. Essencialmente, é uma GUI leve para a configuração de DNS Privado do sistema que apareceu no Android 9. O app simplesmente alterna uma variável global do sistema.
Para quem isso é útil:
- Usuários do NextDNS (para eles é praticamente um paraíso com integração direta)
- Quem usa AdGuard DNS, Cloudflare ou seus próprios servidores Pi-hole/AdGuard Home
- Desenvolvedores que precisam trocar rapidamente o DNS para testar sites
Alguns cliques e internet limpa
A coisa mais conveniente do app é a integração com o NextDNS. Se você tem uma conta, pode fazer login diretamente no app, selecionar o perfil que precisa e alterar suas configurações em tempo real. Se você está usando um serviço diferente, basta especificar o hostname (por exemplo, dns.adguard.com).
Recursos que gostei:
- Tile nas Configurações Rápidas. Agora você pode desativar o filtro em um segundo sem minimizar o app atual.
- Sem consumo de bateria. O app "dorme" 99% do tempo e só acorda quando você pressiona o botão.
- Design Material 3. Parece uma parte nativa do sistema, não um hack da era do Android Gingerbread.
Como fazer funcionar
Como o Android protege suas configurações como a maçã do olho, nenhum app pode alterar o DNS do sistema assim tão facilmente. Para o adns funcionar, você precisa conceder a ele a permissão WRITE_SECURE_SETTINGS.
Existem dois caminhos. O mais fácil para quem não quer mexer com o console é usar o Shizuku. Esse app faz a ponte das permissões do ADB para outros programas. Se o Shizuku já estiver configurado, basta pressionar um botão na interface do adns.
A segunda opção é o ADB clássico. Conecte seu celular ao computador e execute o comando:
adb shell pm grant com.eyalm.adns android.permission.WRITE_SECURE_SETTINGS
Depois disso, a mágica começa a funcionar.
Lado técnico
O projeto é escrito em Kotlin usando Jetpack Compose. O código é surpreendentemente limpo e compacto. Se você faz desenvolvimento mobile, recomendo dar uma olhada no repositório — é um ótimo exemplo de como trabalhar com configurações de sistema Android usando métodos modernos. O app é leve e não exige permissões desnecessárias (exceto as necessárias para o DNS).
Vale a pena tentar
Se você usa ativamente DNS personalizado e está cansado de navegar pelos menus de configurações — com certeza sim. Esse é um daqueles casos em que um pequeno utilitário resolve um "ponto de dor" específico e faz isso de forma elegante.
O único ponto negativo que encontrei: a instalação exige uma configuração única com ADB ou Shizuku. Mas essa é a política de segurança do Android, o desenvolvedor não pode fazer nada sobre isso. Mas uma vez configurado — você esquece dos anúncios para sempre.
Você pode pegar o APK na seção Releases no GitHub ou no catálogo IzzyOnDroid.
Projetos relacionados