{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-16-the-dns-museum/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "DNS Museum · 49 entries\n\nA reference for the odd, inventive, and always impractical things people have done with DNS.\n\n![Screenshot used in the talk for American Pie traceroute](https://dns.museum/static/images/talk/thumbnails/slide-10.webp)\n\nA predictable traceroute path uses PTR records on its routers to spell lines from “American Pie”, turning reverse DNS into a lyric display.\n\n[Read more](https://dns.museum/exhibits/american-pie-traceroute)\n\n![Screenshot used in the talk for Bad Horse traceroute](https://dns.museum/static/images/talk/thumbnails/slide-12.webp)\n\nA traceroute to bad.horse spells lyrics through reverse-DNS names; signed.bad.horse adds a separate Easter egg in its TLS certificate chain.\n\n[Read more](https://dns.museum/exhibits/bad-horse-traceroute)\n\n![Screenshot used in the talk for Christmas traceroute](https://dns.museum/static/images/talk/thumbnails/slide-13.webp)\n\nA static traceroute uses reverse-DNS names to reveal a Christmas tree, with each hop adding another branch to the seasonal picture.\n\n[Read more](https://dns.museum/exhibits/christmas-traceroute)\n\n![Screenshot used in the talk for Euro 2020 traceroute](https://dns.museum/static/images/talk/thumbnails/slide-9.webp)\n\nA traceroute display used live Euro 2020 scores, pairing a controlled route with DNS names to turn network diagnostics into a changing scoreboard.\n\n[Read more](https://dns.museum/exhibits/euro-2020-traceroute)\n\n![Screenshot used in the talk for IPv6 hop expansion](https://dns.museum/static/images/talk/thumbnails/slide-8.webp)\n\nAn IPv6 traceroute uses reverse-DNS names to draw a hand; raising the hop limit reveals more of the picture one numbered hop at a time.\n\n[Read more](https://dns.museum/exhibits/ipv6-hop-expansion)\n\n![Screenshot used in the talk for Singing traceroute](https://dns.museum/static/images/talk/thumbnails/slide-13.webp)\n\nA traceroute spells out lyrics from “Let It Snow” in the reverse-DNS names returned for each hop.\n\n[Read more](https://dns.museum/exhibits/singing-traceroute)\n\n![Screenshot used in the talk for Star Wars traceroute](https://dns.museum/static/images/talk/thumbnails/slide-7.webp)\n\nA predictable static route sends probes through selected IP addresses whose PTR records spell a Star Wars story in ordinary traceroute output.\n\n[Read more](https://dns.museum/exhibits/star-wars-traceroute)\n\n![Screenshot used in the talk for DNS over DONUTS](https://dns.museum/static/images/talk/thumbnails/slide-24.webp)\n\nDONUTS expands to “DNS over normal, unencrypted TCP streams”: a deliberately literal reminder that DNS can run over a simple stream transport.\n\n[Read more](https://dns.museum/exhibits/dns-over-donuts)\n\n![Screenshot used in the talk for DNS over IRC](https://dns.museum/static/images/talk/thumbnails/slide-18.webp)\n\nIRC carries hostname and IP mappings that a local cache and libc Name Service Switch use to resolve names without publishing them through DNS.\n\n[Read more](https://dns.museum/exhibits/dns-over-irc)\n\n![Screenshot used in the talk for DNS over Mastodon](https://dns.museum/static/images/talk/thumbnails/slide-21.webp)\n\nA Mastodon bot connects federated social messaging with DNS queries and reports whether the returned DNS data passed DNSSEC validation.\n\n[Read more](https://dns.museum/exhibits/dns-over-mastodon)\n\n![Screenshot used in the talk for DNS over phone](https://dns.museum/static/images/talk/thumbnails/slide-23.webp)\n\nDialDNS lets a caller ask a recursive resolver questions by telephone, turning spoken interaction into a novel DNS client interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-phone)\n\n![Screenshot used in the talk for DNS over ping](https://dns.museum/static/images/talk/thumbnails/slide-20.webp)\n\nThis project carries DNS questions and answers inside ICMP ping packets, using ping as the transport for DNS lookups.\n\n[Read more](https://dns.museum/exhibits/dns-ping)\n\n![Screenshot used in the talk for DNS over Signal](https://dns.museum/static/images/talk/thumbnails/slide-19.webp)\n\nA Signal conversation presents DNS questions and answers as secure messages, exposing the resolver exchange through a familiar chat interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-signal)\n\n![Screenshot used in the talk for DNS over SMS](https://dns.museum/static/images/talk/thumbnails/slide-15.webp)\n\nSMS carries a compact representation of DNS questions and replies, demonstrating a constrained alternative to the usual UDP or TCP exchange.\n\n[Read more](https://dns.museum/exhibits/dns-over-sms)\n\n![Screenshot used in the talk for DNS over Telegram](https://dns.museum/static/images/talk/thumbnails/slide-17.webp)\n\nA Telegram bot accepts a DNS question in chat and returns the resolver’s answer as a message, placing lookup behind a messaging interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-telegram)\n\n![Screenshot used in the talk for DNS over Twitter](https://dns.museum/static/images/talk/thumbnails/slide-16.webp)\n\nA short-lived social account accepted DNS lookup requests and posted answers, using a platform API as the client interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-twitter)\n\n![Screenshot used in the talk for DNS over XMPP](https://dns.museum/static/images/talk/thumbnails/slide-22.webp)\n\nXEP-0418 describes how XMPP can carry DNS requests and responses, bringing resolver lookups into a formal messaging extension.\n\n[Read more](https://dns.museum/exhibits/dns-over-xmpp)\n\n![Screenshot used in the talk for Blogging via DNS](https://dns.museum/static/images/talk/thumbnails/slide-36.webp)\n\ntxtrex stores blog posts in TXT records: query one name to list posts and another to retrieve a post, making publishing possible with DNS alone.\n\n[Read more](https://dns.museum/exhibits/blogging-via-dns)\n\n![Screenshot used in the talk for DNS calculator](https://dns.museum/static/images/talk/thumbnails/slide-26.webp)\n\nA Reverse Polish calculator accepts operands in a DNS name and returns a dynamically computed answer, a small service you can query with dig.\n\n[Read more](https://dns.museum/exhibits/dns-calculator)\n\n![Screenshot used in the talk for DNS geocaching](https://dns.museum/static/images/talk/thumbnails/slide-32.webp)\n\nA carefully formed DNS query retrieves a geocaching clue in TXT data, turning the resolver into a lightweight interface for a field game.\n\n[Read more](https://dns.museum/exhibits/dns-geocaching)\n\n![Screenshot used in the talk for DNS text adventure](https://dns.museum/static/images/talk/thumbnails/slide-33.webp)\n\nPlayers issue DNS queries as game actions and read story text in the answers; round-robin responses can add chance to the adventure.\n\n[Read more](https://dns.museum/exhibits/dns-text-adventure)\n\n![Screenshot used in the talk for DNS TXT toys](https://dns.museum/static/images/talk/thumbnails/slide-40.webp)\n\nThese TXT-record experiments return ASCII art, mazes, QR codes, music, and games, showing how one textual answer format can support many toys.\n\n[Read more](https://dns.museum/exhibits/multiple-dns-toys)\n\n![Screenshot used in the talk for DNS weather](https://dns.museum/static/images/talk/thumbnails/slide-35.webp)\n\nThe Drink DNS server returns current or next-day weather in TXT answers; encode a city and time in the queried name to retrieve the report.\n\n[Read more](https://dns.museum/exhibits/dns-weather)\n\n![Screenshot used in the talk for dns.toys](https://dns.museum/static/images/talk/thumbnails/slide-31.webp)\n\ndns.toys exposes small utilities through crafted DNS names, including currency conversion, world time, IP echo, number-to-words, and usable CIDR range calculations.\n\n[Read more](https://dns.museum/exhibits/dns-toys)\n\n![Screenshot used in the talk for Drink DNS server](https://dns.museum/static/images/talk/thumbnails/slide-34.webp)\n\nDrink is Stéphane Bortzmeyer’s experimental authoritative DNS server: query different names and record types for dynamic answers such as greetings, client addresses, and diagnostics.\n\n[Read more](https://dns.museum/exhibits/dns-drink)\n\n![Screenshot used in the talk for Google DNS cartoon](https://dns.museum/static/images/talk/thumbnails/slide-28.webp)\n\nThis comic imagines Google focusing on its 8.8.8.8 public resolver, a cultural snapshot of how visible public DNS became.\n\n[Read more](https://dns.museum/exhibits/google-dns-lookup)\n\n![Screenshot used in the talk for HTML over DNS](https://dns.museum/static/images/talk/thumbnails/slide-38.webp)\n\nA web client retrieves page content from DNS answers while a conventional server supplies the surrounding page, blurring lookup and content delivery.\n\n[Read more](https://dns.museum/exhibits/html-over-dns)\n\n![Screenshot used in the talk for IP to ASN](https://dns.museum/static/images/talk/thumbnails/slide-29.webp)\n\nTeam Cymru maps an IP address to its autonomous system number through a structured DNS query, giving network operators a scriptable routing lookup.\n\n[Read more](https://dns.museum/exhibits/ip-to-asn)\n\n![Screenshot used in the talk for ISS location](https://dns.museum/static/images/talk/thumbnails/slide-30.webp)\n\nA DNS LOC record publishes an approximate location for the International Space Station, updated every 15 minutes on a best-effort basis.\n\n[Read more](https://dns.museum/exhibits/iss-location)\n\n![Screenshot used in the talk for My IP over DNS](https://dns.museum/static/images/talk/thumbnails/slide-27.webp)\n\nA resolver query reports the client address visible to the DNS service, which can differ from the address configured on the device.\n\n[Read more](https://dns.museum/exhibits/my-ip-over-dns)\n\n![Screenshot used in the talk for Wikipedia over DNS](https://dns.museum/static/images/talk/thumbnails/slide-37.webp)\n\nA DNS query triggers a Wikipedia lookup and returns the result in an answer, using DNS as a text retrieval path for clients with limited connectivity.\n\n[Read more](https://dns.museum/exhibits/wikipedia-over-dns)\n\n![Screenshot used in the talk for Wordle over DNS](https://dns.museum/static/images/talk/thumbnails/slide-39.webp)\n\nEach DNS query submits a Wordle-style guess and the answer reports game state, expressing an interactive loop in short DNS messages.\n\n[Read more](https://dns.museum/exhibits/wordle-over-dns)\n\n![Screenshot used in the talk for Browser data over DNS](https://dns.museum/static/images/talk/thumbnails/slide-44.webp)\n\nBrowsertunnel sends arbitrary browser data through DNS prefetch requests. The channel is one-way because browser JavaScript cannot read the DNS answers.\n\n[Read more](https://dns.museum/exhibits/http-over-dns)\n\n![Screenshot used in the talk for DNS tunnelling](https://dns.museum/static/images/talk/thumbnails/slide-42.webp)\n\nDNS tunnelling encodes data in query names and answers to create a constrained communications channel, a pattern with both legitimate and harmful uses.\n\n[Read more](https://dns.museum/exhibits/dns-tunnelling)\n\n![Screenshot used in the talk for dnscat2](https://dns.museum/static/images/talk/thumbnails/slide-47.webp)\n\ndnscat2 provides an encrypted command-and-control channel over DNS, with support for shells, file transfers, and TCP port forwarding.\n\n[Read more](https://dns.museum/exhibits/dnscat2)\n\n![Screenshot used in the talk for File transfer over DNS](https://dns.museum/static/images/talk/thumbnails/slide-45.webp)\n\nFToDNS transfers files through DNS queries and answers, splitting data across a transport with strict size and timing limits. It does not implement the FTP protocol.\n\n[Read more](https://dns.museum/exhibits/ftp-over-dns)\n\n![Screenshot used in the talk for IP over DNS](https://dns.museum/static/images/talk/thumbnails/slide-43.webp)\n\niodine builds an IP tunnel between two endpoints over DNS, so other IP traffic can use the link, with low throughput and DNS-shaped constraints.\n\n[Read more](https://dns.museum/exhibits/ip-over-dns)\n\n![Screenshot used in the talk for VPN over DNS](https://dns.museum/static/images/talk/thumbnails/slide-46.webp)\n\nThe Android app SlowDNS presents a VPN carried over DNS, an inventive option for networks that allow DNS but restrict other traffic.\n\n[Read more](https://dns.museum/exhibits/vpn-over-dns)\n\n![Screenshot used in the talk for AI chatbot over DNS](https://dns.museum/static/images/talk/thumbnails/slide-58.webp)\n\nAn experimental chatbot accepts conversational requests as DNS lookups, trading a familiar interface for DNS-sized questions and answers.\n\n[Read more](https://dns.museum/exhibits/ai-chatbot-over-dns)\n\n![Screenshot used in the talk for BIMI records](https://dns.museum/static/images/talk/thumbnails/slide-51.webp)\n\nBIMI uses DNS records to point mail systems to brand logos; the talk notes that DMARC must be configured before the logo display can be used.\n\n[Read more](https://dns.museum/exhibits/bimi-records)\n\n![Screenshot used in the talk for CatDNS](https://dns.museum/static/images/talk/thumbnails/slide-52.webp)\n\nCatDNS is an intentionally playful authoritative DNS server: ask it for a name and it answers with a cat-themed result.\n\n[Read more](https://dns.museum/exhibits/catdns)\n\n![Screenshot used in the talk for DNS configuration management](https://dns.museum/static/images/talk/thumbnails/slide-49.webp)\n\nA Route 53 proposal puts machine configuration in DNS records, using lookups in place of tools such as Puppet, Ansible, or Chef.\n\n[Read more](https://dns.museum/exhibits/dns-configuration-management)\n\n![Screenshot used in the talk for DNS key-value store](https://dns.museum/static/images/talk/thumbnails/slide-54.webp)\n\nDNSKV is a generic public key-value service: names identify keys and DNS answers return values, backed by caches distributed across recursive resolvers.\n\n[Read more](https://dns.museum/exhibits/dns-key-value-store)\n\n![Screenshot used in the talk for DNS NoSQL store](https://dns.museum/static/images/talk/thumbnails/slide-50.webp)\n\nA NoSQL experiment treats names in a DNS zone as hierarchical keys and their records as values, while inheriting DNS caching and update semantics.\n\n[Read more](https://dns.museum/exhibits/dns-nosql)\n\n![Screenshot used in the talk for DNSFS cache](https://dns.museum/static/images/talk/thumbnails/slide-56.webp)\n\nDNSFS layers filesystem operations over DNS and resolver caches; its author demonstrated the design by streaming an MP3 through the DNS-backed filesystem.\n\n[Read more](https://dns.museum/exhibits/dnsfs)\n\n![Screenshot used in the talk for Images in DNS](https://dns.museum/static/images/talk/thumbnails/slide-55.webp)\n\nThis experiment divides image data into DNS-sized fragments and reassembles them at the client, stretching a lookup protocol into bulk transfer.\n\n[Read more](https://dns.museum/exhibits/images-in-dns)\n\n![Screenshot used in the talk for Malware in DNS records](https://dns.museum/static/images/talk/thumbnails/slide-59.webp)\n\nMalicious software can retrieve payload fragments stored in DNS TXT records, using DNS as a delivery channel. This is a defensive case study.\n\n[Read more](https://dns.museum/exhibits/malware-in-dns-records)\n\n![Screenshot used in the talk for MP3 over DNS](https://dns.museum/static/images/talk/thumbnails/slide-57.webp)\n\nA shell pipeline requests encoded audio fragments through DNS, rebuilds the bytes, and plays them: an intentionally inefficient media transport.\n\n[Read more](https://dns.museum/exhibits/mp3-over-dns)\n\n![Screenshot used in the talk for NUM contacts database](https://dns.museum/static/images/talk/thumbnails/slide-53.webp)\n\nNUM built a DNS data protocol with an SDK and npm modules; its Yellow Pages example retrieves structured company contacts through public resolver infrastructure.\n\n[Read more](https://dns.museum/exhibits/dns-contacts-database)\n",
  "authors": [
    "zdw"
  ],
  "captured_at": "2026-10-19T12:57:26.464953148+00:00",
  "category": "news",
  "content_html": "<p>DNS Museum · 49 entries</p>\n<p>A reference for the odd, inventive, and always impractical things people have done with DNS.</p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-10.webp\" alt=\"Screenshot used in the talk for American Pie traceroute\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A predictable traceroute path uses PTR records on its routers to spell lines from “American Pie”, turning reverse DNS into a lyric display.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/american-pie-traceroute\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-12.webp\" alt=\"Screenshot used in the talk for Bad Horse traceroute\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A traceroute to bad.horse spells lyrics through reverse-DNS names; signed.bad.horse adds a separate Easter egg in its TLS certificate chain.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/bad-horse-traceroute\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-13.webp\" alt=\"Screenshot used in the talk for Christmas traceroute\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A static traceroute uses reverse-DNS names to reveal a Christmas tree, with each hop adding another branch to the seasonal picture.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/christmas-traceroute\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-9.webp\" alt=\"Screenshot used in the talk for Euro 2020 traceroute\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A traceroute display used live Euro 2020 scores, pairing a controlled route with DNS names to turn network diagnostics into a changing scoreboard.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/euro-2020-traceroute\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-8.webp\" alt=\"Screenshot used in the talk for IPv6 hop expansion\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>An IPv6 traceroute uses reverse-DNS names to draw a hand; raising the hop limit reveals more of the picture one numbered hop at a time.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/ipv6-hop-expansion\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-13.webp\" alt=\"Screenshot used in the talk for Singing traceroute\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A traceroute spells out lyrics from “Let It Snow” in the reverse-DNS names returned for each hop.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/singing-traceroute\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-7.webp\" alt=\"Screenshot used in the talk for Star Wars traceroute\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A predictable static route sends probes through selected IP addresses whose PTR records spell a Star Wars story in ordinary traceroute output.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/star-wars-traceroute\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-24.webp\" alt=\"Screenshot used in the talk for DNS over DONUTS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>DONUTS expands to “DNS over normal, unencrypted TCP streams”: a deliberately literal reminder that DNS can run over a simple stream transport.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-donuts\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-18.webp\" alt=\"Screenshot used in the talk for DNS over IRC\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>IRC carries hostname and IP mappings that a local cache and libc Name Service Switch use to resolve names without publishing them through DNS.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-irc\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-21.webp\" alt=\"Screenshot used in the talk for DNS over Mastodon\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A Mastodon bot connects federated social messaging with DNS queries and reports whether the returned DNS data passed DNSSEC validation.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-mastodon\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-23.webp\" alt=\"Screenshot used in the talk for DNS over phone\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>DialDNS lets a caller ask a recursive resolver questions by telephone, turning spoken interaction into a novel DNS client interface.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-phone\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-20.webp\" alt=\"Screenshot used in the talk for DNS over ping\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>This project carries DNS questions and answers inside ICMP ping packets, using ping as the transport for DNS lookups.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-ping\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-19.webp\" alt=\"Screenshot used in the talk for DNS over Signal\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A Signal conversation presents DNS questions and answers as secure messages, exposing the resolver exchange through a familiar chat interface.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-signal\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-15.webp\" alt=\"Screenshot used in the talk for DNS over SMS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>SMS carries a compact representation of DNS questions and replies, demonstrating a constrained alternative to the usual UDP or TCP exchange.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-sms\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-17.webp\" alt=\"Screenshot used in the talk for DNS over Telegram\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A Telegram bot accepts a DNS question in chat and returns the resolver’s answer as a message, placing lookup behind a messaging interface.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-telegram\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-16.webp\" alt=\"Screenshot used in the talk for DNS over Twitter\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A short-lived social account accepted DNS lookup requests and posted answers, using a platform API as the client interface.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-twitter\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-22.webp\" alt=\"Screenshot used in the talk for DNS over XMPP\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>XEP-0418 describes how XMPP can carry DNS requests and responses, bringing resolver lookups into a formal messaging extension.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-over-xmpp\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-36.webp\" alt=\"Screenshot used in the talk for Blogging via DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>txtrex stores blog posts in TXT records: query one name to list posts and another to retrieve a post, making publishing possible with DNS alone.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/blogging-via-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-26.webp\" alt=\"Screenshot used in the talk for DNS calculator\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A Reverse Polish calculator accepts operands in a DNS name and returns a dynamically computed answer, a small service you can query with dig.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-calculator\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-32.webp\" alt=\"Screenshot used in the talk for DNS geocaching\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A carefully formed DNS query retrieves a geocaching clue in TXT data, turning the resolver into a lightweight interface for a field game.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-geocaching\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-33.webp\" alt=\"Screenshot used in the talk for DNS text adventure\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>Players issue DNS queries as game actions and read story text in the answers; round-robin responses can add chance to the adventure.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-text-adventure\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-40.webp\" alt=\"Screenshot used in the talk for DNS TXT toys\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>These TXT-record experiments return ASCII art, mazes, QR codes, music, and games, showing how one textual answer format can support many toys.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/multiple-dns-toys\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-35.webp\" alt=\"Screenshot used in the talk for DNS weather\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>The Drink DNS server returns current or next-day weather in TXT answers; encode a city and time in the queried name to retrieve the report.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-weather\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-31.webp\" alt=\"Screenshot used in the talk for dns.toys\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>dns.toys exposes small utilities through crafted DNS names, including currency conversion, world time, IP echo, number-to-words, and usable CIDR range calculations.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-toys\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-34.webp\" alt=\"Screenshot used in the talk for Drink DNS server\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>Drink is Stéphane Bortzmeyer’s experimental authoritative DNS server: query different names and record types for dynamic answers such as greetings, client addresses, and diagnostics.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-drink\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-28.webp\" alt=\"Screenshot used in the talk for Google DNS cartoon\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>This comic imagines Google focusing on its 8.8.8.8 public resolver, a cultural snapshot of how visible public DNS became.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/google-dns-lookup\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-38.webp\" alt=\"Screenshot used in the talk for HTML over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A web client retrieves page content from DNS answers while a conventional server supplies the surrounding page, blurring lookup and content delivery.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/html-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-29.webp\" alt=\"Screenshot used in the talk for IP to ASN\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>Team Cymru maps an IP address to its autonomous system number through a structured DNS query, giving network operators a scriptable routing lookup.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/ip-to-asn\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-30.webp\" alt=\"Screenshot used in the talk for ISS location\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A DNS LOC record publishes an approximate location for the International Space Station, updated every 15 minutes on a best-effort basis.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/iss-location\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-27.webp\" alt=\"Screenshot used in the talk for My IP over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A resolver query reports the client address visible to the DNS service, which can differ from the address configured on the device.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/my-ip-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-37.webp\" alt=\"Screenshot used in the talk for Wikipedia over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A DNS query triggers a Wikipedia lookup and returns the result in an answer, using DNS as a text retrieval path for clients with limited connectivity.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/wikipedia-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-39.webp\" alt=\"Screenshot used in the talk for Wordle over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>Each DNS query submits a Wordle-style guess and the answer reports game state, expressing an interactive loop in short DNS messages.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/wordle-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-44.webp\" alt=\"Screenshot used in the talk for Browser data over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>Browsertunnel sends arbitrary browser data through DNS prefetch requests. The channel is one-way because browser JavaScript cannot read the DNS answers.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/http-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-42.webp\" alt=\"Screenshot used in the talk for DNS tunnelling\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>DNS tunnelling encodes data in query names and answers to create a constrained communications channel, a pattern with both legitimate and harmful uses.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-tunnelling\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-47.webp\" alt=\"Screenshot used in the talk for dnscat2\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>dnscat2 provides an encrypted command-and-control channel over DNS, with support for shells, file transfers, and TCP port forwarding.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dnscat2\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-45.webp\" alt=\"Screenshot used in the talk for File transfer over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>FToDNS transfers files through DNS queries and answers, splitting data across a transport with strict size and timing limits. It does not implement the FTP protocol.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/ftp-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-43.webp\" alt=\"Screenshot used in the talk for IP over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>iodine builds an IP tunnel between two endpoints over DNS, so other IP traffic can use the link, with low throughput and DNS-shaped constraints.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/ip-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-46.webp\" alt=\"Screenshot used in the talk for VPN over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>The Android app SlowDNS presents a VPN carried over DNS, an inventive option for networks that allow DNS but restrict other traffic.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/vpn-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-58.webp\" alt=\"Screenshot used in the talk for AI chatbot over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>An experimental chatbot accepts conversational requests as DNS lookups, trading a familiar interface for DNS-sized questions and answers.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/ai-chatbot-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-51.webp\" alt=\"Screenshot used in the talk for BIMI records\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>BIMI uses DNS records to point mail systems to brand logos; the talk notes that DMARC must be configured before the logo display can be used.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/bimi-records\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-52.webp\" alt=\"Screenshot used in the talk for CatDNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>CatDNS is an intentionally playful authoritative DNS server: ask it for a name and it answers with a cat-themed result.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/catdns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-49.webp\" alt=\"Screenshot used in the talk for DNS configuration management\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A Route 53 proposal puts machine configuration in DNS records, using lookups in place of tools such as Puppet, Ansible, or Chef.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-configuration-management\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-54.webp\" alt=\"Screenshot used in the talk for DNS key-value store\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>DNSKV is a generic public key-value service: names identify keys and DNS answers return values, backed by caches distributed across recursive resolvers.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-key-value-store\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-50.webp\" alt=\"Screenshot used in the talk for DNS NoSQL store\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A NoSQL experiment treats names in a DNS zone as hierarchical keys and their records as values, while inheriting DNS caching and update semantics.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-nosql\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-56.webp\" alt=\"Screenshot used in the talk for DNSFS cache\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>DNSFS layers filesystem operations over DNS and resolver caches; its author demonstrated the design by streaming an MP3 through the DNS-backed filesystem.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dnsfs\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-55.webp\" alt=\"Screenshot used in the talk for Images in DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>This experiment divides image data into DNS-sized fragments and reassembles them at the client, stretching a lookup protocol into bulk transfer.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/images-in-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-59.webp\" alt=\"Screenshot used in the talk for Malware in DNS records\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>Malicious software can retrieve payload fragments stored in DNS TXT records, using DNS as a delivery channel. This is a defensive case study.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/malware-in-dns-records\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-57.webp\" alt=\"Screenshot used in the talk for MP3 over DNS\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>A shell pipeline requests encoded audio fragments through DNS, rebuilds the bytes, and plays them: an intentionally inefficient media transport.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/mp3-over-dns\">Read more</a></p>\n<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://dns.museum/static/images/talk/thumbnails/slide-53.webp\" alt=\"Screenshot used in the talk for NUM contacts database\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p>NUM built a DNS data protocol with an SDK and npm modules; its Yellow Pages example retrieves structured company contacts through public resolver infrastructure.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://dns.museum/exhibits/dns-contacts-database\">Read more</a></p>\n",
  "content_markdown": "DNS Museum · 49 entries\n\nA reference for the odd, inventive, and always impractical things people have done with DNS.\n\n![Screenshot used in the talk for American Pie traceroute](https://dns.museum/static/images/talk/thumbnails/slide-10.webp)\n\nA predictable traceroute path uses PTR records on its routers to spell lines from “American Pie”, turning reverse DNS into a lyric display.\n\n[Read more](https://dns.museum/exhibits/american-pie-traceroute)\n\n![Screenshot used in the talk for Bad Horse traceroute](https://dns.museum/static/images/talk/thumbnails/slide-12.webp)\n\nA traceroute to bad.horse spells lyrics through reverse-DNS names; signed.bad.horse adds a separate Easter egg in its TLS certificate chain.\n\n[Read more](https://dns.museum/exhibits/bad-horse-traceroute)\n\n![Screenshot used in the talk for Christmas traceroute](https://dns.museum/static/images/talk/thumbnails/slide-13.webp)\n\nA static traceroute uses reverse-DNS names to reveal a Christmas tree, with each hop adding another branch to the seasonal picture.\n\n[Read more](https://dns.museum/exhibits/christmas-traceroute)\n\n![Screenshot used in the talk for Euro 2020 traceroute](https://dns.museum/static/images/talk/thumbnails/slide-9.webp)\n\nA traceroute display used live Euro 2020 scores, pairing a controlled route with DNS names to turn network diagnostics into a changing scoreboard.\n\n[Read more](https://dns.museum/exhibits/euro-2020-traceroute)\n\n![Screenshot used in the talk for IPv6 hop expansion](https://dns.museum/static/images/talk/thumbnails/slide-8.webp)\n\nAn IPv6 traceroute uses reverse-DNS names to draw a hand; raising the hop limit reveals more of the picture one numbered hop at a time.\n\n[Read more](https://dns.museum/exhibits/ipv6-hop-expansion)\n\n![Screenshot used in the talk for Singing traceroute](https://dns.museum/static/images/talk/thumbnails/slide-13.webp)\n\nA traceroute spells out lyrics from “Let It Snow” in the reverse-DNS names returned for each hop.\n\n[Read more](https://dns.museum/exhibits/singing-traceroute)\n\n![Screenshot used in the talk for Star Wars traceroute](https://dns.museum/static/images/talk/thumbnails/slide-7.webp)\n\nA predictable static route sends probes through selected IP addresses whose PTR records spell a Star Wars story in ordinary traceroute output.\n\n[Read more](https://dns.museum/exhibits/star-wars-traceroute)\n\n![Screenshot used in the talk for DNS over DONUTS](https://dns.museum/static/images/talk/thumbnails/slide-24.webp)\n\nDONUTS expands to “DNS over normal, unencrypted TCP streams”: a deliberately literal reminder that DNS can run over a simple stream transport.\n\n[Read more](https://dns.museum/exhibits/dns-over-donuts)\n\n![Screenshot used in the talk for DNS over IRC](https://dns.museum/static/images/talk/thumbnails/slide-18.webp)\n\nIRC carries hostname and IP mappings that a local cache and libc Name Service Switch use to resolve names without publishing them through DNS.\n\n[Read more](https://dns.museum/exhibits/dns-over-irc)\n\n![Screenshot used in the talk for DNS over Mastodon](https://dns.museum/static/images/talk/thumbnails/slide-21.webp)\n\nA Mastodon bot connects federated social messaging with DNS queries and reports whether the returned DNS data passed DNSSEC validation.\n\n[Read more](https://dns.museum/exhibits/dns-over-mastodon)\n\n![Screenshot used in the talk for DNS over phone](https://dns.museum/static/images/talk/thumbnails/slide-23.webp)\n\nDialDNS lets a caller ask a recursive resolver questions by telephone, turning spoken interaction into a novel DNS client interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-phone)\n\n![Screenshot used in the talk for DNS over ping](https://dns.museum/static/images/talk/thumbnails/slide-20.webp)\n\nThis project carries DNS questions and answers inside ICMP ping packets, using ping as the transport for DNS lookups.\n\n[Read more](https://dns.museum/exhibits/dns-ping)\n\n![Screenshot used in the talk for DNS over Signal](https://dns.museum/static/images/talk/thumbnails/slide-19.webp)\n\nA Signal conversation presents DNS questions and answers as secure messages, exposing the resolver exchange through a familiar chat interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-signal)\n\n![Screenshot used in the talk for DNS over SMS](https://dns.museum/static/images/talk/thumbnails/slide-15.webp)\n\nSMS carries a compact representation of DNS questions and replies, demonstrating a constrained alternative to the usual UDP or TCP exchange.\n\n[Read more](https://dns.museum/exhibits/dns-over-sms)\n\n![Screenshot used in the talk for DNS over Telegram](https://dns.museum/static/images/talk/thumbnails/slide-17.webp)\n\nA Telegram bot accepts a DNS question in chat and returns the resolver’s answer as a message, placing lookup behind a messaging interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-telegram)\n\n![Screenshot used in the talk for DNS over Twitter](https://dns.museum/static/images/talk/thumbnails/slide-16.webp)\n\nA short-lived social account accepted DNS lookup requests and posted answers, using a platform API as the client interface.\n\n[Read more](https://dns.museum/exhibits/dns-over-twitter)\n\n![Screenshot used in the talk for DNS over XMPP](https://dns.museum/static/images/talk/thumbnails/slide-22.webp)\n\nXEP-0418 describes how XMPP can carry DNS requests and responses, bringing resolver lookups into a formal messaging extension.\n\n[Read more](https://dns.museum/exhibits/dns-over-xmpp)\n\n![Screenshot used in the talk for Blogging via DNS](https://dns.museum/static/images/talk/thumbnails/slide-36.webp)\n\ntxtrex stores blog posts in TXT records: query one name to list posts and another to retrieve a post, making publishing possible with DNS alone.\n\n[Read more](https://dns.museum/exhibits/blogging-via-dns)\n\n![Screenshot used in the talk for DNS calculator](https://dns.museum/static/images/talk/thumbnails/slide-26.webp)\n\nA Reverse Polish calculator accepts operands in a DNS name and returns a dynamically computed answer, a small service you can query with dig.\n\n[Read more](https://dns.museum/exhibits/dns-calculator)\n\n![Screenshot used in the talk for DNS geocaching](https://dns.museum/static/images/talk/thumbnails/slide-32.webp)\n\nA carefully formed DNS query retrieves a geocaching clue in TXT data, turning the resolver into a lightweight interface for a field game.\n\n[Read more](https://dns.museum/exhibits/dns-geocaching)\n\n![Screenshot used in the talk for DNS text adventure](https://dns.museum/static/images/talk/thumbnails/slide-33.webp)\n\nPlayers issue DNS queries as game actions and read story text in the answers; round-robin responses can add chance to the adventure.\n\n[Read more](https://dns.museum/exhibits/dns-text-adventure)\n\n![Screenshot used in the talk for DNS TXT toys](https://dns.museum/static/images/talk/thumbnails/slide-40.webp)\n\nThese TXT-record experiments return ASCII art, mazes, QR codes, music, and games, showing how one textual answer format can support many toys.\n\n[Read more](https://dns.museum/exhibits/multiple-dns-toys)\n\n![Screenshot used in the talk for DNS weather](https://dns.museum/static/images/talk/thumbnails/slide-35.webp)\n\nThe Drink DNS server returns current or next-day weather in TXT answers; encode a city and time in the queried name to retrieve the report.\n\n[Read more](https://dns.museum/exhibits/dns-weather)\n\n![Screenshot used in the talk for dns.toys](https://dns.museum/static/images/talk/thumbnails/slide-31.webp)\n\ndns.toys exposes small utilities through crafted DNS names, including currency conversion, world time, IP echo, number-to-words, and usable CIDR range calculations.\n\n[Read more](https://dns.museum/exhibits/dns-toys)\n\n![Screenshot used in the talk for Drink DNS server](https://dns.museum/static/images/talk/thumbnails/slide-34.webp)\n\nDrink is Stéphane Bortzmeyer’s experimental authoritative DNS server: query different names and record types for dynamic answers such as greetings, client addresses, and diagnostics.\n\n[Read more](https://dns.museum/exhibits/dns-drink)\n\n![Screenshot used in the talk for Google DNS cartoon](https://dns.museum/static/images/talk/thumbnails/slide-28.webp)\n\nThis comic imagines Google focusing on its 8.8.8.8 public resolver, a cultural snapshot of how visible public DNS became.\n\n[Read more](https://dns.museum/exhibits/google-dns-lookup)\n\n![Screenshot used in the talk for HTML over DNS](https://dns.museum/static/images/talk/thumbnails/slide-38.webp)\n\nA web client retrieves page content from DNS answers while a conventional server supplies the surrounding page, blurring lookup and content delivery.\n\n[Read more](https://dns.museum/exhibits/html-over-dns)\n\n![Screenshot used in the talk for IP to ASN](https://dns.museum/static/images/talk/thumbnails/slide-29.webp)\n\nTeam Cymru maps an IP address to its autonomous system number through a structured DNS query, giving network operators a scriptable routing lookup.\n\n[Read more](https://dns.museum/exhibits/ip-to-asn)\n\n![Screenshot used in the talk for ISS location](https://dns.museum/static/images/talk/thumbnails/slide-30.webp)\n\nA DNS LOC record publishes an approximate location for the International Space Station, updated every 15 minutes on a best-effort basis.\n\n[Read more](https://dns.museum/exhibits/iss-location)\n\n![Screenshot used in the talk for My IP over DNS](https://dns.museum/static/images/talk/thumbnails/slide-27.webp)\n\nA resolver query reports the client address visible to the DNS service, which can differ from the address configured on the device.\n\n[Read more](https://dns.museum/exhibits/my-ip-over-dns)\n\n![Screenshot used in the talk for Wikipedia over DNS](https://dns.museum/static/images/talk/thumbnails/slide-37.webp)\n\nA DNS query triggers a Wikipedia lookup and returns the result in an answer, using DNS as a text retrieval path for clients with limited connectivity.\n\n[Read more](https://dns.museum/exhibits/wikipedia-over-dns)\n\n![Screenshot used in the talk for Wordle over DNS](https://dns.museum/static/images/talk/thumbnails/slide-39.webp)\n\nEach DNS query submits a Wordle-style guess and the answer reports game state, expressing an interactive loop in short DNS messages.\n\n[Read more](https://dns.museum/exhibits/wordle-over-dns)\n\n![Screenshot used in the talk for Browser data over DNS](https://dns.museum/static/images/talk/thumbnails/slide-44.webp)\n\nBrowsertunnel sends arbitrary browser data through DNS prefetch requests. The channel is one-way because browser JavaScript cannot read the DNS answers.\n\n[Read more](https://dns.museum/exhibits/http-over-dns)\n\n![Screenshot used in the talk for DNS tunnelling](https://dns.museum/static/images/talk/thumbnails/slide-42.webp)\n\nDNS tunnelling encodes data in query names and answers to create a constrained communications channel, a pattern with both legitimate and harmful uses.\n\n[Read more](https://dns.museum/exhibits/dns-tunnelling)\n\n![Screenshot used in the talk for dnscat2](https://dns.museum/static/images/talk/thumbnails/slide-47.webp)\n\ndnscat2 provides an encrypted command-and-control channel over DNS, with support for shells, file transfers, and TCP port forwarding.\n\n[Read more](https://dns.museum/exhibits/dnscat2)\n\n![Screenshot used in the talk for File transfer over DNS](https://dns.museum/static/images/talk/thumbnails/slide-45.webp)\n\nFToDNS transfers files through DNS queries and answers, splitting data across a transport with strict size and timing limits. It does not implement the FTP protocol.\n\n[Read more](https://dns.museum/exhibits/ftp-over-dns)\n\n![Screenshot used in the talk for IP over DNS](https://dns.museum/static/images/talk/thumbnails/slide-43.webp)\n\niodine builds an IP tunnel between two endpoints over DNS, so other IP traffic can use the link, with low throughput and DNS-shaped constraints.\n\n[Read more](https://dns.museum/exhibits/ip-over-dns)\n\n![Screenshot used in the talk for VPN over DNS](https://dns.museum/static/images/talk/thumbnails/slide-46.webp)\n\nThe Android app SlowDNS presents a VPN carried over DNS, an inventive option for networks that allow DNS but restrict other traffic.\n\n[Read more](https://dns.museum/exhibits/vpn-over-dns)\n\n![Screenshot used in the talk for AI chatbot over DNS](https://dns.museum/static/images/talk/thumbnails/slide-58.webp)\n\nAn experimental chatbot accepts conversational requests as DNS lookups, trading a familiar interface for DNS-sized questions and answers.\n\n[Read more](https://dns.museum/exhibits/ai-chatbot-over-dns)\n\n![Screenshot used in the talk for BIMI records](https://dns.museum/static/images/talk/thumbnails/slide-51.webp)\n\nBIMI uses DNS records to point mail systems to brand logos; the talk notes that DMARC must be configured before the logo display can be used.\n\n[Read more](https://dns.museum/exhibits/bimi-records)\n\n![Screenshot used in the talk for CatDNS](https://dns.museum/static/images/talk/thumbnails/slide-52.webp)\n\nCatDNS is an intentionally playful authoritative DNS server: ask it for a name and it answers with a cat-themed result.\n\n[Read more](https://dns.museum/exhibits/catdns)\n\n![Screenshot used in the talk for DNS configuration management](https://dns.museum/static/images/talk/thumbnails/slide-49.webp)\n\nA Route 53 proposal puts machine configuration in DNS records, using lookups in place of tools such as Puppet, Ansible, or Chef.\n\n[Read more](https://dns.museum/exhibits/dns-configuration-management)\n\n![Screenshot used in the talk for DNS key-value store](https://dns.museum/static/images/talk/thumbnails/slide-54.webp)\n\nDNSKV is a generic public key-value service: names identify keys and DNS answers return values, backed by caches distributed across recursive resolvers.\n\n[Read more](https://dns.museum/exhibits/dns-key-value-store)\n\n![Screenshot used in the talk for DNS NoSQL store](https://dns.museum/static/images/talk/thumbnails/slide-50.webp)\n\nA NoSQL experiment treats names in a DNS zone as hierarchical keys and their records as values, while inheriting DNS caching and update semantics.\n\n[Read more](https://dns.museum/exhibits/dns-nosql)\n\n![Screenshot used in the talk for DNSFS cache](https://dns.museum/static/images/talk/thumbnails/slide-56.webp)\n\nDNSFS layers filesystem operations over DNS and resolver caches; its author demonstrated the design by streaming an MP3 through the DNS-backed filesystem.\n\n[Read more](https://dns.museum/exhibits/dnsfs)\n\n![Screenshot used in the talk for Images in DNS](https://dns.museum/static/images/talk/thumbnails/slide-55.webp)\n\nThis experiment divides image data into DNS-sized fragments and reassembles them at the client, stretching a lookup protocol into bulk transfer.\n\n[Read more](https://dns.museum/exhibits/images-in-dns)\n\n![Screenshot used in the talk for Malware in DNS records](https://dns.museum/static/images/talk/thumbnails/slide-59.webp)\n\nMalicious software can retrieve payload fragments stored in DNS TXT records, using DNS as a delivery channel. This is a defensive case study.\n\n[Read more](https://dns.museum/exhibits/malware-in-dns-records)\n\n![Screenshot used in the talk for MP3 over DNS](https://dns.museum/static/images/talk/thumbnails/slide-57.webp)\n\nA shell pipeline requests encoded audio fragments through DNS, rebuilds the bytes, and plays them: an intentionally inefficient media transport.\n\n[Read more](https://dns.museum/exhibits/mp3-over-dns)\n\n![Screenshot used in the talk for NUM contacts database](https://dns.museum/static/images/talk/thumbnails/slide-53.webp)\n\nNUM built a DNS data protocol with an SDK and npm modules; its Yellow Pages example retrieves structured company contacts through public resolver infrastructure.\n\n[Read more](https://dns.museum/exhibits/dns-contacts-database)\n",
  "dateCreated": "2026-10-19T12:57:26.464953148+00:00",
  "date_created": "2026-10-16T22:21:34+00:00",
  "date_modified": "2026-10-16T22:21:34+00:00",
  "date_published": "2026-10-16T22:21:34+00:00",
  "description": "DNS Museum · 49 entries A reference for the odd, inventive, and always impractical things people have done with DNS. A predictable traceroute path uses PTR records on its routers to spell lines from “American Pie”, turning reverse DNS into…",
  "external_url": "https://dns.museum/",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/hnrss-org/2026/10/2026-10-16-the-dns-museum.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/hnrss-org/2026/10/2026-10-16-the-dns-museum.md"
  },
  "id": "urn:aggr:item:dc7d0c44b8cc6cdeb19846cdafa7d0c0d0225c31",
  "isBasedOn": {
    "@id": "https://dns.museum/"
  },
  "mainEntity": {
    "@id": "https://dns.museum/",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-16-the-dns-museum/#webpage"
    },
    "author": [
      {
        "@type": "Person",
        "name": "zdw"
      }
    ],
    "dateModified": "2026-10-16T22:21:34+00:00",
    "datePublished": "2026-10-16T22:21:34+00:00",
    "headline": "The DNS Museum",
    "image": {
      "@type": "ImageObject",
      "caption": "Screenshot used in the talk for American Pie traceroute",
      "height": 90,
      "url": "https://dns.museum/static/images/talk/thumbnails/slide-10.webp",
      "width": 160
    },
    "timeRequired": "PT6M",
    "url": "https://dns.museum/",
    "wordCount": 1212
  },
  "name": "Archived snapshot: The DNS Museum",
  "preview": {
    "alt": "Screenshot used in the talk for American Pie traceroute",
    "color": null,
    "height": 90,
    "placeholder": {
      "data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=",
      "hash": ""
    },
    "url": "https://dns.museum/static/images/talk/thumbnails/slide-10.webp",
    "width": 160
  },
  "reading_minutes": 6,
  "replicated_at": null,
  "source": "hnrss-org",
  "source_name": "Hacker News: Front Page",
  "summary": null,
  "tags": [],
  "temporalCoverage": "2026-10-19T12:57:26.464953148+00:00",
  "title": "The DNS Museum",
  "url": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-16-the-dns-museum/",
  "word_count": 1212
}