DOOM Over DNS

(github.com)

163 points | by Venn1 3 days ago

23 comments

  • umvi 36 minutes ago
    > 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 15 minutes ago
      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 2 minutes ago
        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.
  • ktpsns 4 hours ago
    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.

    • drob518 4 hours ago
      Yup. A better title might be “Author discovers data can be stored in DNS TXT records which were created to store data.”
      • deathanatos 1 hour ago
        Data can be stored in A records, too, just less efficiently.

        (Or AAAA, or CNAME, or…)

    • akdev1l 4 hours ago
      Also we could probably achieve this by using dnsfs and regular doom install

      https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-st...

    • b112 4 hours ago
      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 3 hours ago
        > 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.

  • LetsGetTechnicl 4 hours ago
    This novel form of data storage reminds of me of this classic YouTube video, Harder Drive: https://www.youtube.com/watch?v=JcJSW7Rprio
    • Waterluvian 44 minutes ago
      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.
  • nasretdinov 4 hours ago
    Waiting for Doom over https://github.com/yarrick/pingfs next
    • wizardforhire 2 hours ago
      ^ This is amazing!

      Thanks for the share!

  • kgeist 2 hours ago
    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?

    • noman-land 1 hour ago
      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.
    • naultic 1 hour ago
      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
  • tombert 4 hours ago
    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.

    • FartyMcFarter 3 hours ago
      You were right to assume that in this case. DNS is not running doom here, it's just storing it.
      • tombert 1 hour ago
        That's fair. I guess "can it store DOOM?" is still an interesting question though.
        • antonvs 1 hour ago
          Is it? DNS has an explicit mechanism for storing data.
          • tombert 1 hour ago
            Ok well it was new to me ok!
    • bigwheels 4 hours ago
      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 4 hours ago
      “Run” is doing a lot of heavy lifting at this point.
      • mistyvales 4 hours ago
        I remember the pregnancy test Doom. Wasn't it "running" on the display only?
        • deathanatos 1 hour ago
          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 4 hours ago
      Coming up: playing doom on Ping-as-Storage
  • kaitari 3 hours ago
    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.
  • lxgr 3 hours ago
    A database storing data? Now I’ve seen everything!
  • Sajarin 1 hour ago
  • hhh 3 hours ago
    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

  • thestackfox 3 hours ago
    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.

  • ge96 2 hours ago
    Tangent, harder drives by suckerpinch
  • jjlane 41 minutes ago
    thank you for doing god’s work my friend.
  • jjlane 40 minutes ago
    thanks for doing god’s work my friend.
  • hun3 3 hours ago
    Finally, a DOOM download that bypasses captive portals
  • nimbius 1 hour ago
    blech...too much windows. bring me the Linux version and i might care ;)
  • nullbyte808 3 hours ago
    Malware could still use DNS records for storage and access to bootstrapped payloads correct?
    • thesuitonym 3 hours ago
      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.
    • k4rnaj1k 3 hours ago
      [dead]
  • vicapow 2 hours ago
    that SVG wow how?!
  • kuberwastaken 1 hour ago
    This is so peak
  • cat-turner 4 hours ago
    Super cool. Never thought of this. Would this be useful for seeding LLMs?
    • FartyMcFarter 3 hours ago
      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?

  • ethin 2 hours ago
    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 1 hour ago
      > 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 59 minutes ago
        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.