Outils pour utilisateurs

Outils du site


dnsfilter

Ceci est une ancienne révision du document !


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 5 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: 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é.

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.
    • Il est possible que pour cela vous deviez activer l'option "Sources non sûres". Cela permet d'installer des applications hors du magasin GooglePlay. Vous pouvez y aller avec confiance: Les applications venant de F-Droid sont plus sûres que celles de GooglePlay.
  • 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.
  • Dans l'écran principal, appuyez sur "Paramètres avancés" puis "Configurer la mise à jour du filtre".
  • Ensuite désactivez toutes les listes actuellement actives (à gauche), puis appuyez sur le petit crayon (à droite) à la ligne "<new>":
  • Vous pouvez refermer le panneau "Paramètres avancés", mais pensez bien à cocher "Activer le blocage" et "Démarrage auto", ensuite appuyez sur "Actualiser le filtre" et "Redémarrer" (Il est possible qu'Android vous prévienne que DNSFilter veut activer la fonction VPN. Acceptez.)
  • Vous êtes paré·e !
  • Vous devriez déjà voir DNSFilter filtrer des requêtes DNS:
    • Celles qui ont une croix (X) ont été bloquées par DNSFilter. DNSFilter a répondu à l'application que le domaine n'existait pas. Les applications ne pourront pas contacter ces domaines et serveurs.
    • Celles qui ont une coche (√) sont passées. DNSFilter les a envoyées au serveur DNS (indiqué par le point d'accès Wifi) et a laissé la réponse revenir.
  • Si vous ne voyez pas la zone qui affiche la liste des domaines bloqués, pensez à bien décocher cette case:
  • Vous n'avez plus à vous en occuper.
    • DNSFilter démarre en même temps que votre téléphone et filtre immédiatement. 1)
    • DNSFilter est actif aussi bien en WiFi qu'en data (2G/3G/4G).
    • DNSFilter met à jour la liste de blocage automatiquement toutes les semaines.
Beaucoup de constructeurs (Samsung, Huawei…) ont des versions modifiées d'Android qui tuent de manière très aggressive les applications en arrière-plan. Veillez à aller dans la configuration du téléphone, section batterie ou économie d'énergie, et désactiver l'économie d'énergie pour DNSFilter pour éviter que l'application soit fermée par Android.

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 sortante. Voici comment procéder:

  • Touchez le champ "DNS":
  • Dans la fenêtre qui s'affiche:
    • Activez la case "Désactiver découverte du serveur DNS - Serveurs DNS manuels ci-dessous:"
    • Supprimez les adresses 8.8.8.8 et 8.8.4.4 et remplacez par 9.9.9.9::853::DoT
    • Pensez ensuite à appuyer sur "Redémarrer".
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 !
    • Dé-installez simplement l'application DNSFilter et le filtrage disparaît.
  • 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.
      • Par contre si cette erreur se produit alors que votre connexion internet est fonctionnelle, cela veut sans doute dire que votre fournisseur d'accès bloque l'accès au serveur DNS.
  • Est-ce que ça me garantit que ça bloque TOUT ?
    • Non, il n'y a aucun garantie que cela bloque 100% des publicités, traqueurs et logiciels malveillants. Mais cela devrait quasiment tout éliminer.
  • Pourquoi DNSFilter et pas Blokada ou DNS66 ?
    • DNSFilter:
      • est plus léger que les deux autres (DNS66: 3,2 Mo ; Blokada: 11 Mo ; DNSFilter: 208 ko) pour les mêmes fonctionnalités.
      • 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é !
    • Alors vous n'avez pas besoin de l'application DNSFilter. Copiez juste le fichier hosts dans /etc/system (Pensez à le mettre à jour de temps en temps).
    • Vous pouvez aussi utiliser le logiciel AdGuard qui peut mettre à jour votre fichier hosts de manière régulière.
  • Pourquoi ça active le VPN ? ça envoie mes données à un serveur ?
    • La fonction VPN est le seul moyen pour une application Android de recevoir tout le trafic réseau des autres applications. DNSFilter en a besoin pour pouvoir filtrer les requêtes DNS localement sur votre téléphone. Rassurez-vous: Votre trafic réseau n'est envoyé à aucun serveur VPN et le filtrage est entièrement réalisé dans votre téléphone.
  • 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 250 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)
    • Sans problème ! Vous avez deux manières de le faire:
      • Faites un appuis long sur un domaine dans la liste qui s'affiche > "Ajouter au filtre" et c'est bon !
      • Vous pouvez aussi l'ajouter manuellement dans "Paramètres avancés" > "Configurer des hôtes supplémentaires".
        • Notez que vous pouvez bloquer un domaine précis et/ou tous les sous-domaines d'un domaine. Par exemple:
          • toto.com bloquera toto.com, mais pas api.toto.com
          • api.toto.com bloquera api.toto.com, mais pas toto.com
          • *.toto.com bloquera toto.com ET api.toto.com
  • Est-ce que je peux laisser passer quand même certains domaines malgré la liste de blocage ? (whitelist)
    • Sans problème ! Allez dans "Paramètres avancés" > "Configurer des hôtes supplémentaires" et mettez le domaine que vous voulez laisser passer avec un point d'exclamation devant. Exemple:
      • !google-analytics.com
  • Est-ce que je peux laisser passer certaines applications en entier ?
    • C'est possible si vous êtes sous Android 5 ou supérieur. Allez dans "Paramètres avancés" > "Liste blanche d'application" et sélectionnez les applications que vous voulez laisser passer systématiquement.
  • 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 AdGuard filtrent les domaines liés aux tracking et à la publicité (176.103.130.130/176.103.130.131).
      • 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 "patch" en temps réel les réponses DNS 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.
1)
Sous Android 4, il est possible qu'il vous faille valider l'autorisation VPN après chaque redémarrage de votre téléphone.
dnsfilter.1595927314.txt.gz · Dernière modification : 2020/07/28 10:08 de sebsauvage