Aller au contenu principal

Extension navigateur CaptainDNS

MX, SPF et DMARC du site ouvert, en un clic.

Sur n'importe quel site, cliquez sur l'icône CaptainDNS : la popup indique si le domaine reçoit du courrier et s'il protège ses envois. Pas de compte, pas de clé, rien à configurer.

Bientôt sur le Chrome Web Store, Edge Add-ons et Firefox Add-ons.

Popup de l'extension CaptainDNS sur captaindns.com : MX, SPF et DMARC en vert, et le bouton vers l'audit complet.

Ce que la popup affiche

L'extension lit le nom du site de l'onglet actif et remonte au domaine racine : sur www.exemple.fr ou app.exemple.fr, elle interroge exemple.fr, sauf dans les cas décrits plus bas. Elle demande ensuite trois enregistrements au DNS. Le MX dit quels serveurs reçoivent le courrier du domaine. Le SPF liste les serveurs autorisés à envoyer en son nom. Le DMARC fixe ce que les messageries doivent faire d'un message qui échoue aux contrôles.

Chaque ligne reçoit une couleur selon des règles fixes :

EnregistrementVertOrangeRougeGris
MXau moins un serveur de messagerieaucun MX publié, ou Null MX mélangé à d'autres MXNull MX (0 .) : le domaine refuse tout courrier
SPF~all ou -all?all, pas de all, ou délégation par redirect=absent, plusieurs enregistrements, ou +all
DMARCp=quarantine ou p=rejectp=noneabsent, plusieurs enregistrements, p= manquant ou inconnu

Un SPF découpé en plusieurs chaînes de 255 caractères est recollé avant d'être lu, comme le font les serveurs de messagerie.

Ce qu'elle ne vérifie pas

DKIM demande un sélecteur que la popup ne peut pas deviner. MTA-STS, BIMI, les listes noires et la chaîne des include: du SPF demandent plus de requêtes qu'une popup ne doit en faire. Le bouton en bas de la popup ouvre l'audit complet du domaine sur CaptainDNS, avec le domaine déjà rempli.

Sur une page interne du navigateur (chrome://, about:), un fichier local, une adresse IP ou localhost, la popup affiche un message à la place des résultats. Même chose si le domaine n'existe pas dans le DNS public (NXDOMAIN) ou si le résolveur ne répond pas (SERVFAIL), avec un bouton pour relancer.

Deux limites connues viennent de ce que l'extension n'embarque pas la liste des suffixes publics, qui demanderait une mise à jour à chaque version. Un sous-domaine délégué dans sa propre zone DNS, avec son propre SOA, est traité comme un domaine racine : si app.exemple.fr a sa propre zone, la popup vérifie app.exemple.fr et non exemple.fr. Un site hébergé sous le domaine d'une plateforme, comme utilisateur.github.io ou projet.vercel.app, affiche les enregistrements de la plateforme (github.io, vercel.app) et non ceux du site.

Le même code tourne sur Chrome, Microsoft Edge et Firefox 140 ou plus récent. La popup est en français ou en anglais selon la langue du navigateur. Le code n'est ni compilé ni minifié : ce qui est installé est lisible tel quel.

Confidentialité

L'extension demande une seule permission, activeTab. Elle lit l'adresse de l'onglet actif au moment où vous cliquez sur son icône, et seulement à ce moment-là. Elle n'a pas de script en arrière-plan et ne lit ni le contenu des pages ni votre historique de navigation.

Pour interroger le DNS, elle envoie le nom complet du site (sous-domaines compris, par exemple staging.exemple.fr) au résolveur public de Cloudflare (1.1.1.1), en DNS over HTTPS sur cloudflare-dns.com. Le chemin de la page n'est jamais envoyé. Comme pour toute requête réseau, Cloudflare voit aussi votre adresse IP. Ses engagements pour ce résolveur sont décrits dans la politique de confidentialité du résolveur 1.1.1.1 ; Cloudflare y indique supprimer les journaux du résolveur sous 25 heures.

Rien ne part chez CaptainDNS : pas de télémétrie, pas de compte, rien n'est stocké sur votre ordinateur. Si vous cliquez sur le bouton d'audit, votre navigateur ouvre captaindns.com avec le domaine dans l'adresse, et la politique de confidentialité du site s'applique.

C'est pour cette raison que les fiches des boutiques déclarent une donnée de navigation (« Historique Web » dans le formulaire de Chrome, « activité de navigation » chez Firefox) : l'extension ne lit pas votre historique, mais le nom complet du site consulté sort du navigateur, vers Cloudflare.