Présentation sur HN : DN$, un résolveur DNS innovant financé par la publicité
(github.com/tedkim97)- DN$ est un résolveur DNS financé par la publicité, imaginé pour diffuser des annonces avec les enregistrements DNS, et tourne en dérision le fait que des fournisseurs DNS classiques comme les FAI, Cloudflare ou Google puissent suivre le trafic et vendre les données
- Le projet est open source et présenté à plusieurs reprises comme sûr et rapide parce qu’écrit en Rust ; il prétend “innover” le DNS en ajoutant du sponsoring à presque toutes les réponses DNS au lieu de faire du détournement de NXDOMAIN
- Le README explique avoir abandonné les RFC et la rétrocompatibilité au nom du progrès, et propose aussi des modèles économiques volontairement absurdes comme un abonnement à vie réduisant les publicités de 3 %
- Dans une mise à jour du 2 avril 2024, il est indiqué que DN$ doit être arrêté en raison de plusieurs procès et enquêtes pénales, tout en laissant le code source permettant de configurer soi-même un résolveur DN$
- L’exécution est possible via
cargo build --releasepuis./target/release/adcache --forward-addr 1.1.1.1:53, avec des exemples montrant comment interroger un serveur DNS local sur127.0.0.1sous Unix/MacOS et Windows
DN$ : satire d’un résolveur DNS qui colle des publicités
- DN$ est présenté comme un résolveur DNS financé par la publicité qui commence par la phrase : « Vous ne voudriez pas recevoir des publicités avec vos enregistrements DNS ? »
- Il part du principe que les FAI, Cloudflare et Google, qui fournissent des résolveurs DNS traditionnels, peuvent suivre l’activité Internet et la vendre à des vendeurs de données tiers
- Le README affirme que ces données peuvent ensuite être revendues à des gouvernements ou à Meta, puis annonce avec ironie que l’équipe de DN$ éliminera ce type d’acteurs « jusqu’à ce qu’elle ait assez d’utilisateurs pour les exploiter elle-même »
- Il explique qu’il faut diffuser de la publicité pour faire fonctionner le service, et indique que les clients avec un abonnement à vie verront moins de publicités
- Selon la note de bas de page, la réduction des publicités est de 3 %
Implémentation et posture technique
- Le projet est présenté comme open source et développé en Rust
- Le README répète qu’il est sûr et rapide parce qu’il a été écrit en Rust
- Pour le backend, il barre
monolith,microserviceetmodular monolith, puis écrit$NEW_DEVELOPER_FAD, en se moquant des buzzwords de développement - Au lieu de l’ennuyeux détournement de NXDOMAIN, il affirme avoir innové dans le DNS en ajoutant du sponsoring à presque toutes les réponses DNS
- Il est écrit que les RFC et la rétrocompatibilité ont été abandonnées au nom du « progrès »
Satire autour des données et de la responsabilité
- Le README écrit que même si des dirigeants d’entreprise commettent des crimes graves, ils ont de fortes chances de ne pas être condamnés à de la prison et de n’écoper que de petites amendes financières
- DN$ « promet » de ne pas adopter de pratiques malveillantes comme le suivi et la vente des données utilisateur et des comportements sur Internet
- La note de bas de page précise : « pas encore »
- Il affirme aussi qu’il ne deviendra pas riche en utilisant pour entraîner des modèles d’IA des données qu’il dit ne pas collecter
Mise à jour du 2 avril 2024 et mode d’exécution
- Dans la mise à jour du 2 avril 2024, le projet est indiqué comme deprecated
- La raison de l’arrêt évoquée est l’existence de plusieurs procès et enquêtes pénales
- Il est précisé que le code source permettant de configurer soi-même un résolveur DN$ reste disponible
- Commandes d’exécution :
cargo build --release ./target/release/adcache --forward-addr 1.1.1.1:53 - Exemple Unix/MacOS :
dig @127.0.0.1 reddit.com - Exemple Windows PowerShell :
Resolve-DnsName -Name reddit.com -Server 127.0.0.1
Feuille de route interne et plan d’affaires satirique
- La section « Internal Roadmap (DO NOT LEAK) » détaille un plan trimestriel pour 2024
- Q1 2024 :
- développer l’ensemble de la stack en Golang
- réécrire toute la stack en Rust en affirmant que tout langage qui n’est pas Rust est du « garbage »
- migrer à répétition entre microservices, modular monolith, puis à nouveau microservices, avant de revenir à l’architecture d’origine
- Q2 2024 :
- lancer la v0.1 le 1er avril 2024
- faire un marketing agressif auprès des fonds de capital-risque
- faire des promesses impossibles aux investisseurs et aux utilisateurs
- collecter les demandes de fonctionnalités client dans une feuille de route publique
- vendre des abonnements à vie
- Q3 2024 :
- une fois assez de traction obtenue, trahir les promesses de confidentialité et vendre les données utilisateur à des vendeurs tiers
- faire semblant de travailler sur la feuille de route publique tout en renforçant les fonctions de suivi et de publicité
- racheter une petite société de logiciels et modifier son logiciel pour collecter des données
- Q4 2024 :
- revenir sur la promesse d’abonnement à vie et ne pas rembourser
- obscurcir l’emplacement des fonds des investisseurs et des clients via du mixing de cryptomonnaies et du blanchiment d’argent
- fermer l’entreprise et le service au motif que « ce n’est pas rentable »
- Le README se termine par /s, indiquant clairement que l’ensemble du projet est satirique
1 commentaires
Commentaires sur Hacker News
En voyant seulement le titre, ma tension est un peu montée, mais après avoir cliqué et lu, la qualité d’exécution est vraiment excellente et la démo fonctionne très bien
Très belle exécution. En lançant
dig @35.223.197.204 google.comsur une requête, j’ai euWarning: ID mismatch: expected ID 37255, got 53558, mais je ne sais pas ce que ça signifieLe projet est cool, et grâce à lui j’ai aussi découvert une formation censée te faire gagner 100 000 dollars par mois
Ça ressemble à une faille de sécurité grave, donc j’irai peut-être enquêter d’ici 3 à 5 ans
J’ai regardé Cloudflare d’assez près, et pour l’instant je ne dirais pas qu’ils monétisent vraiment ça. Mais comme le gain potentiel est élevé, ça pourrait à tout moment devenir le genre de truc qu’on “sort en brisant la vitre si le chiffre d’affaires trimestriel baisse”
Google… c’est Google
Ici Uniformly Dopey Peasant. Avec
nmap -sV -p 53 35.223.197.204, je vois que le port 53/tcp est ouvert, et les requêtes du typeversion.bindreçoivent"TCP is for enterprise clients only"Les clients enterprise sont appelés
"Top Customer Peasants"C’est bien :D
Les pubs TXT sont ici : https://github.com/tedkim97/adcache/blob/main/src/adcache.rs...
"Meet hot, lonely DNS records in your area tonight"C’est fait en Rust ? Il faut absolument que je mette ça tout en haut de mon resolv.conf
resolv.conf.ron? Et d’ailleurs, pourquoi ce fichier aurait-il besoin d’autre chose, DN$ suffit largementJe recommande. Je l’ai essayé, et il n’a fallu que 11,423 secondes pour résoudre
reddit.comMise à jour du 2 avril 2024 : ce projet est abandonné
À cause de plusieurs procès et d’enquêtes pénales, nous devons mettre fin à DN$. Le code source permettant de configurer votre propre résolveur DN$ est disponible ici
J’ai déjà vu une offre d’emploi exigeant 5 ans d’expérience sur DN$
DN$ only supports DNSSEC for customers in the ENTERPRISE tier… combien faut-il payer pour remplacer ce message par"DNSSEC is pointless and you should feel bad for making this request"?