[HN Gopher] DOOM Over DNS
       ___________________________________________________________________
        
       DOOM Over DNS
        
       Author : Venn1
       Score  : 170 points
       Date   : 2026-03-23 15:17 UTC (3 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | tombert wrote:
       | Gotta admit that it didn't occur to me that "can it run DOOM?"
       | would stretch all the way to DNS.
       | 
       | At this point I am wondering if people will somehow port DOOM
       | over to the MONIAC.
        
         | bigwheels wrote:
         | Which is more ambitious, targeting the MONIAC platform or
         | ENIAC?
         | 
         | https://en.wikipedia.org/wiki/ENIAC
         | 
         | https://en.wikipedia.org/wiki/Phillips_Machine (MONIAC)
         | 
         | I'd say both are looking increasingly doable.
        
         | sssilver wrote:
         | "Run" is doing a lot of heavy lifting at this point.
        
           | mistyvales wrote:
           | I remember the pregnancy test Doom. Wasn't it "running" on
           | the display only?
        
             | deathanatos wrote:
             | Yes, I think it was, but that was also b/c, IIRC, the
             | pregnancy tester had a CPU, too. A CPU can actually run
             | things.
             | 
             | DNS ... cannot, and that's why the person upthread is
             | criticizing the use of the word "run" here. DNS ran
             | nothing.
        
         | TZubiri wrote:
         | Coming up: playing doom on Ping-as-Storage
        
         | FartyMcFarter wrote:
         | You were right to assume that in this case. DNS is not running
         | doom here, it's just storing it.
        
           | tombert wrote:
           | That's fair. I guess "can it store DOOM?" is still an
           | interesting question though.
        
             | antonvs wrote:
             | Is it? DNS has an explicit mechanism for storing data.
        
               | tombert wrote:
               | Ok well it was new to me ok!
        
       | LetsGetTechnicl wrote:
       | This novel form of data storage reminds of me of this classic
       | YouTube video, Harder Drive:
       | https://www.youtube.com/watch?v=JcJSW7Rprio
        
         | Waterluvian wrote:
         | Harder Drives is such a great watch. It's also the source of a
         | personal epiphany over the idea that you can store data in the
         | space between you and a reflective surface or retransmittor or
         | whatnot.
        
       | ktpsns wrote:
       | To clarify, a good title would be "Loading Doom entirely from DNS
       | records"
       | 
       | Neither one plays Doom over DNS nor is the first paragraph in the
       | README correct, because DNS is only abused for storage, not for
       | computing/processing/executing instructions:
       | 
       | > At some point, a reasonable person asked "DNS resolves names to
       | IP addresses, what else can it do?" The answer, apparently, is
       | run DOOM.
        
         | b112 wrote:
         | You make me wonder if it is possible. All you need to do is to
         | programmatically change bits, and you have compute. Some cache
         | monkeying or somethong.
         | 
         | Of course, I imagine it would be incredibly slow.
        
           | testaccount28 wrote:
           | > All you need to do is to programmatically change bits, and
           | you have compute.
           | 
           | all you need is to rapidly push off one foot and land on the
           | other, and you have running.
        
         | drob518 wrote:
         | Yup. A better title might be "Author discovers data can be
         | stored in DNS TXT records which were created to store data."
        
           | deathanatos wrote:
           | Data can be stored in A records, too, just less efficiently.
           | 
           | (Or AAAA, or CNAME, or...)
        
         | akdev1l wrote:
         | Also we could probably achieve this by using dnsfs and regular
         | doom install
         | 
         | https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-st...
        
       | nasretdinov wrote:
       | Waiting for Doom over https://github.com/yarrick/pingfs next
        
         | wizardforhire wrote:
         | ^ This is amazing!
         | 
         | Thanks for the share!
        
           | lidder86 wrote:
           | SDo its Friday why not ask Claude do something dumb!
           | http://github.com/elmobp/ping-doom Doom over pure icmp you
           | need root though the other one it spat out was doom over git
        
       | cat-turner wrote:
       | Super cool. Never thought of this. Would this be useful for
       | seeding LLMs?
        
         | FartyMcFarter wrote:
         | This is a data storage system, so I guess yes, data is useful
         | to train LLMs?
         | 
         | Why does everything get turned into an LLM discussion?
        
           | michaelsshaw wrote:
           | Does this LLM discussion support LLMs?
        
       | kaitari wrote:
       | I never stop being impressed by these "<something-crazy> running
       | Doom" posts. AFAIC, whenever we get to Mars, we won't truly have
       | arrived until someone is playing Doom on Mars, and without
       | wasting valuable resources by doing so. Running Doom, the
       | canonical measurement of truly mastering a thing's capabilities.
        
         | lthi747 wrote:
         | I am still waiting someone to port Doom on CSS
        
           | gnabgib wrote:
           | Someone delivered that 2 years ago:
           | https://codepen.io/cobra_winfrey/pen/oNOMRav
        
             | cwnyth wrote:
             | Oddly, it doesn't work on my browser (Firefox on Gnome).
        
       | hun3 wrote:
       | Finally, a DOOM download that bypasses captive portals
        
       | hhh wrote:
       | very cool, i did something similar but turning the doom frame
       | running on a server into ascii (with colour) and then a small
       | shim to give inputs via subdomains
       | 
       | https://www.youtube.com/watch?v=GoPWuJR6Npc
       | 
       | without the colour i did it in a worse way for bad apple
       | 
       | https://www.youtube.com/watch?v=AJ2Q12vYojY
        
       | lxgr wrote:
       | A database storing data? Now I've seen everything!
        
       | nullbyte808 wrote:
       | Malware could still use DNS records for storage and access to
       | bootstrapped payloads correct?
        
         | thesuitonym wrote:
         | Yes, but it's not a problem, any more than downloading any
         | arbitrary text is. You'd still have to have something execute
         | the binary.
        
       | thestackfox wrote:
       | Respect. But also ... WHY????
       | 
       | Now let's do
       | 
       | (1) A DNS file drop: Split small files into TXT records and
       | rebuild them client-side. Useless for big files, perfect for
       | config blobs, tiny payloads, and cursed demos. Also someone can
       | write an S3-compatible client.
       | 
       | (2) Redis DNS:
       | 
       | - GET foo.cache.example.com -> TXT record returns value chunks
       | 
       | - TTL is the eviction policy
       | 
       | - Cache invalidation becomes even more of a hate crime.
        
       | kgeist wrote:
       | I once had this silly idea to create distributed storage of
       | arbitrary data by exploiting a range of completely unrelated
       | sites. Say, when you want to upload your file to the System, it
       | may store one encrypted chunk as an image on a free image hosting
       | site, another chunk as an encoded blog post on a random forum
       | about farming (or in the user profile?), another chunk as a
       | youtube video, etc. Imagine having something like hundreds or
       | thousands of such "backends". Every chunk would be stored in 3
       | places for high durability of course. Free storage, hidden in
       | plain sight :) Although, I didn't think through how to store the
       | index reliably, and, because a moderator on a random farmers'
       | site may delete our record(s), there needs to be a system which
       | continously validates the integrity and reuploads the chunks.
       | 
       | Maybe such a silly project already exists?
        
         | naultic wrote:
         | lol now I wanna build this. It's like the dark web but without
         | user or in this case, site consent. This could be a fun few
         | weekend project
        
         | noman-land wrote:
         | I've had this exact idea. Would need to be error encoded to
         | account for chubks disappearing. There would be a rot rate as
         | sites die or change.
        
         | sillysaurusx wrote:
         | You might enjoy reading through the original Google FS papers.
         | I forget what they're called but it addresses the durability
         | problems.
         | 
         | Ah, I couldn't remember the name because it's literally named
         | Google File System.
         | https://static.googleusercontent.com/media/research.google.c...
         | 
         | I seem to remember bigtable also being interesting.
         | 
         | More than that, you might enjoy MIT's distributed systems
         | course. It's all freely available online. I went through it for
         | fun a decade ago or so, and it's worthwhile for reasoning
         | through hard problems like this.
         | 
         | People have definitely (ab)used YouTube as a filesystem though.
         | And that's probably your best bet for durability and
         | performance.
        
       | ethin wrote:
       | I read this title, did a double-take, then had to go look at the
       | git hub because it still didn't click for me. Because this sounds
       | absolutely amazing, and absurd, and weird, all at the same time.
       | Like..... Wow? Talk about turning protocols into pretzels...
        
         | Sohcahtoa82 wrote:
         | > had to go look at the git hub because it still didn't click
         | for me
         | 
         | Obviously it still didn't click for you or you're lying about
         | looking at the GitHub, because if you did, you'd have learned
         | that it's not using DNS to _run_ DOOM, only to _store_ it.
         | Which...shouldn 't really be a surprise to anybody who knows
         | that DNS TXT records exist.
        
           | ethin wrote:
           | And obviously your forgetting that doing this is from my
           | perspective a very novel idea and I didn't consider a TXT
           | record as a data storage system. Good grief.
        
       | ge96 wrote:
       | Tangent, harder drives by suckerpinch
        
       | vicapow wrote:
       | that SVG wow how?!
        
       | kuberwastaken wrote:
       | This is so peak
        
       | Sajarin wrote:
       | There's a writeup here:
       | 
       | https://blog.rice.is/post/doom-over-dns/
        
       | nimbius wrote:
       | blech...too much windows. bring me the Linux version and i might
       | care ;)
        
       | jjlane wrote:
       | thank you for doing god's work my friend.
        
       | jjlane wrote:
       | thanks for doing god's work my friend.
        
       | umvi wrote:
       | > Cloudflare will serve them globally, for free, cached at the
       | edge, to anyone who asks. They are not a file storage system.
       | They were not designed to be a file storage system. Nobody at the
       | IETF was thinking about them being used as a file storage system
       | when they wrote RFC 1035. And yet here we are.
       | 
       | Yeah these types of hacker stories kind of bug me. They are sort
       | of in the same vein as "you can eat for free by going to
       | McDonald's and eating a pint of ketchup without ordering
       | anything" or "How I drank and showered for a year using public
       | water fountains" . Or put another way "just because you can
       | doesn't mean you should". Trustless societies kind of suck and
       | forcing society to lower trust by abusing trust kind of makes
       | things incrementally suckier ("trust" here being "it's on the
       | honor system to not abuse DNS to serve static content").
        
         | Wowfunhappy wrote:
         | Look, if this was a project on using DNS to replace Dropbox or
         | something, I'd agree with you.
         | 
         | But the Doom demo really isn't that large, this isn't going to
         | use or cost anyone substantial bandwidth. Cloudflare will
         | gladly host significantly larger files for free the "normal"
         | way using Cloudflare Pages/Workers. It's clearly just a fun
         | proof of concept.
        
           | montyanne wrote:
           | I've heard rumors that DNS records are also sometimes used in
           | some steganography-type communications. Great way of passing
           | small messages in a ubiquitous and innocuous system, unlikely
           | to be blocked or raise eyebrows by accessing.
        
       | didip wrote:
       | What is the serialization format? Base64?
        
       | anthk wrote:
       | Another fake Doom run, like the predictor one. This doesn't
       | actually run Doom. Sorry. Meanwhile, other esoteric platforms
       | actually _run_ the software.
       | 
       | There's the Infocom ZMachine with Zork I-III, Tristam Island,
       | Calypso (Z machine v3 games) and many more which can be run
       | starting from a PostScript file to a pen, a simple FPGA machine,
       | an Amiga, the original Game Boy and who knows what.
       | 
       | If you can port a libre interpreter, you can run it. Old PDA's,
       | Smartphones, JS browsers, Windows 95 machines with Winfrotz, DOS,
       | Raspberry Pies with GNU/Linux, Riscos... There are emulators even
       | written in Perl, Python, Lua, tons of them. It's text based
       | output and the Z machine format it's documented.
       | 
       | Maybe I can adapt the PostScript one to Eforth under the Subleq
       | VM, PS' syntax maps slightly ok to EForth...
       | 
       | With Asterisks and some old modules you can even play it over a
       | VOIP client and listen to the output with Flite/Festival/Espeak-
       | nG or any compatible TTS software, such as PicoTTS. The voice
       | input it's done with CMU Sphinx.
       | 
       | Something Doom can't do at all.
        
       ___________________________________________________________________
       (page generated 2026-03-26 23:00 UTC)