Filtrage des publicités et traqueurs sur Android: Installation de DNSFilter
Vous connaissez peut-être déjà la liste de blocage DNS que je propose. Elle permet de bloquer la quasi-totalité des publicités et traqueurs dans les applications et sur le web. Voici une procédure pas à pas pour l'installer sur votre téléphone Android. L'installation prend moins de 10 minutes.
Pourquoi faire ?
Moins de publicité dans les applications et dans les pages web.
Moins de traçage de l'utilisateur.
Affichage plus rapide des pages web.
Réduction de l'utilisation de votre forfait.
Meilleure sécurité en évitant les sites malveillants.
(optionnellement) Meilleure protection de votre vie privée avec le chiffrement DNS.
Pré-requis: Avoir un téléphone sous Android 4.0 ou supérieur et une connexion internet active. Il n'y a pas besoin d'avoir un téléphone rooté.
C'est totalement réversible: Si le fonctionnement ne vous convient pas, il vous suffit de dé-installer l'application DNSFilter: Cela va immédiatement supprimer le filtrage.
Installation
Sur la
page chez F-Droid, téléchargez l'APK de la dernière version, par exemple:
Installez cet APK.
Lancez DNSFilter.
Il va vous demander l'autorisation d'accéder au stockage. C'est normal. Appuyez sur "Autoriser"

Android va aussi vous demander si vous autorisez DNSFilter à activer la fonction VPN. Acceptez.

Vous pouvez refermer le panneau "
Paramètres avancés", mais pensez bien à cocher "
Activer le blocage" et "
Démarrage auto", ensuite appuyez sur "
Redémarrer" et "
Actualiser le filtre" (Il est possible qu'Android vous prévienne que DNSFilter veut activer la fonction VPN. Acceptez.)

Problème avec certains Android: Beaucoup de constructeurs utilisent des versions modifiées d'Android qui posent des problèmes avec les applications en arrière-plan. Veillez donc à vous assurer que DNSFilter est exclu:
Et même comme cela, ce n'est pas une garantie. Ce n'est ni la faute à Android ni à DNSFilter, mais aux fabricants de téléphone qui font n'importe quoi pour avoir de bonnes notes en autonomie de leur téléphone en tuant les applications en arrière-plan comme DNSFilter. Si malgré vos efforts DNSFilter ne peut fonctionner de manière fiable sur votre téléphone, utilisez la solution alternative (en fin de document).
Pour une meilleure protection de votre vie privée
Avec ce système, les requêtes DNS qui sortent de votre téléphone sont encore en clair: Le fournisseur d'accès peut encore les écouter (et donc savoir quels sites vous voulez visiter). DNSFilter peut - optionnellement - chiffrer les requêtes DNS sortantes. Voici comment procéder:
Touchez le champ "DNS":

Certains point d'accès Wifi (notamment certains points d'accès Wifi publics gratuits) bloquent l'utilisation d'un DNS alternatif. Dans ce cas, décochez "Désactiver la découverte du serveur DNS" et appuyez sur "Redémarrer"
Pour une configuration DNS chiffré un peu plus complète, vous pouvez utiliser:
[9.9.9.9]::443::DOH::https://dns.quad9.net/dns-query
[149.112.112.112]::443::DOH::https://dns.quad9.net/dns-query
[9.9.9.9]::853::dot
[149.112.112.112]::853::dot
(Cela est utile et permet à DNSFilter de basculer automatiquement entre DOH (DNS-over-http) et DOT (DNS-over-TCP) si l'un est bloqué.)
FAQ
Je veux désactiver temporairement le filtrage !
Dans DNSFilter, appuyez simplement sur le bouton "Fermer". Il n'y a alors plus aucun filtrage.
Pour relancer le filtrage, relancez simplement DNSFilter.
Je veux retirer complètement le filtrage !
J'ai ce message d'erreur. C'est grave ?
Si vous avez le message «
failed to connect to dns.quad9.net/9.9.9.9 (port 853) after 15000ms: connect failed: ENETUNREACH (Network is unreachable) IO Error occured! Check network or DNS Config! » rassurez-vous ce n'est pas grave: Cela veut juste dire que DNSFilter n'a pas pu se connecter au DNS que vous avez spécifié, probablement parce que vous avez coupé votre connexion internet (Wifi ou 3G). Dès que vous réactiverez votre connexion, DSNFilter reprendra son travail.

Est-ce que ça me garantit que ça bloque TOUT ?
Pourquoi DNSFilter et pas Blokada ou DNS66 ?
DNSFilter:
est plus léger que les deux autres (DNS66: 3,8 Mo ; Blokada: 10,8 Mo ; DNSFilter: 446 ko) pour les mêmes fonctionnalités de filtrage.
fonctionne sur des versions Android plus anciennes (4.0 et supérieures)
permet de mieux voir les requêtes DNS qui passent et celles qui sont bloquées.
permet d'utiliser un DNS externe chiffré (DoT ou DoH).
fait de la résolution DNS CNAME récursive.
permet de bloquer tous les sous-domaines d'un domaine.
Moi j'ai un téléphone rooté !
Pourquoi ça active le VPN ? ça envoie mes données à un serveur ?
Pourquoi 9.9.9.9 (Quad9) et pas 8.8.8.8 (Google) ou 1.1.1.1 (CloudFlare) ?
9.9.9.9 semble avoir une politique de protection de la vie privée meilleure que celle de Google ou CloudFlare.
De plus 9.9.9.9 bloque dynamiquement les domaines liés aux malwares et botnets, ce qui offre une protection supplémentaire. Ils disposent de datacenters dans la plupart des pays du monde, ce qui assure une réponse rapide.
Mais rien ne vous empêche d'utiliser les DNS de votre choix. Voir
cette page.
Notez que même si vous spécifiez un serveur DNS, rien n'empêche un fournisseur d'accès de détourner vos requêtes DNS et de répondre à la place du serveur DNS que vous aurez spécifié.
Pourquoi ::853::DoT
?
Par défaut, les requêtes DNS qui sortent de votre téléphone ne sont pas chiffrées. Votre fournisseur d'accès (ou n'importe qui sur le même réseau) peut voir quels domaines vous essayez de contacter. DoT (DNS-over-TLS) permet de chiffrer vos requêtes DNS. Le serveur 9.9.9.9 supporte le chiffrement.
Notez qu'il est possible, sur certains points d'accès ou certains FAI, que l'utilisation du chiffrement DNS soit bloqué. Dans ce cas, utilisez la configuration 9.9.9.9
seule.
Pourquoi utiliser la liste de blocage sur sebsauvage.net et pas celles fournies par défaut ?
La liste de blocage fournie par défaut par DNSFilter est très légère (environ 2500 domaines). La mienne en bloque un peu plus de 300 000 sans être abusive.
Les autres listes de blocage sont à manier avec précautions, certaines étant abusives (par exemple certaines bloquent commentcamarche.net et mail.gandi.net). J'ai essayé de sélectionner des listes efficaces sans être abusives.
Est-ce que je peux ajouter manuellement des domaines à bloquer ? (blacklist)
Est-ce que je peux laisser passer quand même certains domaines malgré la liste de blocage ? (whitelist)
Est-ce que je peux laisser passer certaines applications en entier ?
Est-ce que DNSFilter est compatible avec mon VPN ?
Malheureusement DNSFilter et votre VPN utilisent tous les deux la fonction VPN d'Android. Un seul peut être actif à la fois. C'est donc soit votre VPN soit DNSFilter.
Si votre application VPN permet de configurer l'adresse des serveurs DNS, vous avez toute de même une solution alternative: Utiliser des résolveurs DNS qui filtrent la publicité. Certains
résolveurs DNS alternatifs comme
DNSForge ou
AdGuard filtrent les domaines liés aux tracking et à la publicité.
Sous Android 9 et supérieur, dans la configuration, allez dans "Réseau et internet", "DNS privé" et entrez dns.adguard.com
. Ce serveur DNS chiffré est publiquement accessible, et même si la liste de blocage n'est pas aussi complète que la mienne, il bloque la majorité des publicités et trackers. Ce fonctionnement est compatible avec l'utilisation d'un VPN quel qu'il soit.
Quand j'utilise un DNS externe, même quand une requête DNS est bloquée dans DNSFilter, je la vois sur le DNS externe. Pourquoi ?
En fait DNSFilter ne filtre pas les requêtes DNS sortantes du téléphone, mais patch en temps réel les réponses DNS reçues pour les marquer en "NXDOMAIN" (domaine non trouvé). Il bloque donc bien les domaines en fonction de sa liste, mais seulement au moment où la réponse DNS revient dans le téléphone.
Solution alternative
Il peut arriver que votre version d'Android ne laisse pas tourner DNSFilter correctement en tâche de fond. Dans ce cas, si votre appareil est sous Android 10 (ou plus récent), tout n'est pas perdu. À partir de la version 10, Android supporte DOT (DNS-over-TLS). Or il existe quelques services DNS publics qui bloquent la publicité à la manière de DNSFilter.
Avantage:
Inconvénients:
Mais il faut avouer que c'est une solution très rapide à mettre en place et efficace.
Voici comment procéder:
Dans les paramètres d'Android, allez dans "Réseau et internet"
Dans les préférences avancées, sélectionnez "DNS privé"
Choisissez "Nom d'hôte du fournisseurs DNS privé"
Entrez dnsforge.de
ou l'un des fournisseurs ci-dessous.
Appuyez sur "Enregistrer".
Voici quelques résolveurs DNS-over-TLS publics utilisables qui bloquent la publicité:
Fournisseur | adresse à utiliser | Remarques | Adresses IP traditionnelles (DNS non chiffré) |
DNSForge | dnsforge.de | Totalement gratuit. Limite: 100 requêtes/seconde, ce qui est largement suffisant pour un particulier. | 176.9.93.198 176.9.1.117
2a01:4f8:151:34aa::198 2a01:4f8:141:316d::117 |
AdGuard DNS | dns.adguard.com | Totalement gratuit. Sans limites. | 94.140.14.14 94.140.15.15
2a10:50c0::ad1:ff 2a10:50c0::ad2:ff |
AlternateDNS | dns.alternate-dns.com | Totalement gratuit. Sans limites. | 23.253.163.53 198.101.242.72
2001:4801:7825:103:be76:4eff:fe10:2e49 2001:4800:780e:510:a8cf:392e:ff04:8982 |
NextDNS | (adresse à aller chercher sur la page https://my.nextdns.io/start) | Limité à 300 000 requêtes par mois 2). Payant au delà. Possibilité de configurer les listes de blocage et voir les logs en se créant un compte. | |