Ir para o conteúdo principal

Extensão CaptainDNS para o navegador

MX, SPF e DMARC do site aberto, num clique.

Em qualquer site, clique no ícone da CaptainDNS: a janela da extensão indica se o domínio recebe correio e se protege os envios. Sem conta, sem chave, sem nada para configurar.

Brevemente na Chrome Web Store, no Edge Add-ons e no Firefox Add-ons.

Janela da extensão CaptainDNS em captaindns.com: MX, SPF e DMARC a verde, e o botão para a auditoria completa.

O que a janela mostra

A extensão lê o nome do site do separador ativo e sobe até ao domínio raiz: em www.example.com ou app.example.com, consulta example.com, exceto nos casos descritos mais abaixo. Depois pede três registos ao DNS. O MX indica que servidores recebem o correio do domínio. O SPF enumera os servidores autorizados a enviar em seu nome. O DMARC define o que os fornecedores de correio devem fazer com uma mensagem que falha essas verificações.

Cada linha recebe uma cor segundo regras fixas:

RegistoVerdeLaranjaVermelhoCinzento
MXpelo menos um servidor de correionenhum MX publicado, ou um Null MX misturado com outros MXNull MX (0 .): o domínio recusa todo o correio
SPF~all ou -all?all, sem all, ou delegação por redirect=ausente, vários registos, ou +all
DMARCp=quarantine ou p=rejectp=noneausente, vários registos, p= em falta ou desconhecido

Um SPF dividido em várias cadeias de 255 caracteres é reunido antes de ser lido, tal como fazem os servidores de correio.

O que não verifica

O DKIM exige um seletor que a extensão não consegue adivinhar. MTA-STS, BIMI, listas negras e a cadeia de include: do SPF exigem mais consultas do que uma janela de extensão deve fazer. O botão no fundo da janela abre a auditoria completa do domínio na CaptainDNS, com o domínio já preenchido.

Numa página interna do navegador (chrome://, about:), num ficheiro local, num endereço IP ou em localhost, a janela mostra uma mensagem em vez de resultados. O mesmo acontece se o domínio não existir no DNS público (NXDOMAIN) ou se o resolver não responder (SERVFAIL), com um botão para tentar de novo.

Há dois limites conhecidos, porque a extensão não inclui a Public Suffix List, que teria de ser atualizada em cada versão. Um subdomínio delegado numa zona DNS própria, com SOA próprio, é tratado como domínio raiz: se app.example.com tiver zona própria, a janela verifica app.example.com e não example.com. Num site alojado sob o domínio de uma plataforma, como utilizador.github.io ou projeto.vercel.app, a janela mostra os registos da plataforma (github.io, vercel.app) e não os do site.

O mesmo código funciona no Chrome, no Microsoft Edge e no Firefox 140 ou posterior. A janela existe em francês e em inglês; num navegador em português aparece em inglês. O código não é compilado nem minificado: o que é instalado pode ser lido tal como está.

Privacidade

A extensão pede uma única permissão, activeTab. Lê o endereço do separador ativo quando clica no ícone, e só nesse momento. Não tem script em segundo plano e não lê o conteúdo das páginas nem o seu histórico de navegação.

Para consultar o DNS, envia o nome completo do site (incluindo subdomínios, por exemplo staging.example.com) ao resolver público da Cloudflare (1.1.1.1), através de DNS over HTTPS em cloudflare-dns.com. O caminho da página nunca é enviado. Como em qualquer pedido de rede, a Cloudflare também vê o seu endereço IP. A Cloudflare descreve os seus compromissos para este resolver na política de privacidade do resolver 1.1.1.1 (em inglês), incluindo a eliminação dos registos do resolver no prazo de 25 horas.

Nada é enviado à CaptainDNS: sem telemetria, sem conta, nada guardado no seu computador. Se clicar no botão de auditoria, o navegador abre captaindns.com com o domínio no endereço e aplica-se a política de privacidade do site.

É por isso que as fichas das lojas declaram dados de navegação («Web history» no formulário do Chrome, «browsing activity» no Firefox): a extensão não lê o seu histórico, mas o nome completo do site visitado sai do navegador para a Cloudflare.