Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    190comments
  2. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    120comments
  3. Laya the open source version of Jev(convaiinnovations.com ↗)
    9comments
  4. “The Secret Life of Circuits” is here(coredump.cx ↗)
    29comments
  5. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    87comments
  6. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    111comments
  7. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    462comments
  8. San Francisco Onion Futures Company(onionfutures.com ↗)
    78comments
  9. Communication by means of modulated Johnson noise(pnas.org ↗)
    3comments
  10. Cloudflare Quick Tunnels(cloudflare.com ↗)
    290comments
  11. Show HN: I wrote a custom assembler for CHIP-8 in C++(github.com/tackx ↗)
    discuss
  12. How to Write with an LLM(sockpuppet.org ↗)
    343comments
  13. SDCC – Small Device C Compiler(sourceforge.net ↗)
    20comments
  14. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    19comments
  15. Science Is Open Software(jepedersen.dk ↗)
    40comments
  16. Saving another 100TB of RAM(cloudflare.com ↗)
    83comments
  17. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    33comments
  18. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    1comments
  19. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  20. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    4comments
  21. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    98comments
  22. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    108comments
  23. OpenJev(openjev.com ↗)
    273comments
  24. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    89comments
  25. Goroutine Leak Profiles(go.dev ↗)
    5comments
  26. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    73comments
  27. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    14comments
  28. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    84comments
  29. Veronese's Dogs(publicdomainreview.org ↗)
    1comments
  30. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    103comments

Show HN: Wikipedia over DNS

215 pointsby 6y agowpodns.adtac.in
47 comments
6y agoHN ↗

I love those!

The most impressive one I saw, was IP over DNS.

6y agoHN ↗

At some point I had a binary for the iodine client stored as DNS records, and another DNS record with a shell script that would fetch and decode them.

6y agoHN ↗

That's well known in exfiltration botnets.

6y agoHN ↗

I read about it years ago. Someone used a free Microsoft internet connection to activate their Windows.

The connection only allowed access to MS activation servers, but also DNS.

The DNS would resolve any domain, even the ones that don't belonged to MS, so they could use it to get data out.

I told this story to a few people in my time, all working in IT, and all thought I was bullshitting them, like I was some crazy conspiracy theorist.

And now I'm reading that this is a well known technique and there are even libraries doing this.

6y agoHN ↗

I wouldn't say it's the opposite. It sounds the opposite from the title, but this actually returns Wikipedia content. The other one fetches a link to a site.

6y agoHN ↗

I just meant opposite in the most trivial sense:

  (reverse '("Wikipedia" "over" "DNS"))
  => ("DNS" "over" "Wikipedia")
6y agoHN ↗

finally my lisp class has aided me in a real-life scenario

6y agoHN ↗

I never had a lisp class, so I'm sitting here wondering why there is one single quote.

6y agoHN ↗

Otherwise the single-unquoted ( would be treated as a function call.

6y agoHN ↗

That's a reader macro to make it quoted.

What that means is 'don't try to evaluate this as a function call'.

Basically it's a data list.

6y agoHN ↗

Out of curiosity, did the sibling replies to your comment (all of which are accurate!) answer your question, in the sense that you now understand?

6y agoHN ↗

I'm glad my functional programming classes used Haskell instead:

  Hugs> reverse ["Wikipedia", "over", "DNS"]
  ["DNS","over","Wikipedia"]
6y agoHN ↗

But! That solution made http requests (obviously), however you can in theory replace its queries with the thing in the current post and have true DNS-over-Wikipedia via the DNS protocol.

6y agoHN ↗

Would it be possible to support returning a larger excerpt of the article within a single TXT record?

You should be able to get up to 64 KiB (minus a few bytes for headers, etc) within a TXT record. The lookup will have to use TCP though.

6y agoHN ↗

Large single record seems to work fine testing from BIND via Windows nslookup as long as you obey the 255 character per line rule i.e. split strings "like" "this" at least every 255 characters.

6y agoHN ↗

Who knows, maybe we'll have DNS over Wikipedia over DNS one day.

Looks like my weekend got more interesting

6y agoHN ↗

$ dig dns.wpodns.adtac.in txt

dns.wpodns.adtac.in. 3600 IN TXT "The Domain Name System (DNS) is a hierarchical and decentralized naming system for computers, services, or other resources..."

6y agoHN ↗

Couldn’t this actually be useful in countries that block Wikipedia?

6y agoHN ↗

Not really, since it only returns a small section of the queried article.

6y agoHN ↗

Those countries would just block adtac.in recursively when they noticed.

And if you decide to work around that by setting up more domains to do this, then you could just as well use those domains to front regular proxy servers.

6y agoHN ↗

bing search returns wikipedia articles too. i suppose this works because bing is doing the filtering, and it can block based on content

6y agoHN ↗

A while back I showed how you could drop data into a server log file, and jokingly called it CurlyTP. I have thought many times about embedding a website directly into DNS.

https://miscdotgeek.com/curlytp-every-web-server-is-a-dead-d...

Anybody up for the challenge? With some scripting you could do a dig on a TXT record, parse it, and display it right in a web page.

6y agoHN ↗

For some reasons I always had the idea of using HTTP headers and server logs to pass data. It can, e.g., be an alternative way of passing request/query input to a server, instead of using URLs or HTML forms. The server can read filtered input from a log file stored on RAM disk.

I did the TXT record as HTML idea many years ago by modifying djb's dnstxt to output valid HTTP header. The idea was to use tinydns and dnscache as a "back-end" database to store millions of tiny "webpages".

A true Rube Golberg machine.

6y agoHN ↗

Nice. Now let’s get Wireguard over DNS and be done with it.

6y agoHN ↗

How about WireGuard over DNSSEC and call it a day?

6y agoHN ↗

this is great. DNS TXT records are under appreciated. It's a distributed key value store with distributed caching

6y agoHN ↗

I had never thought of it that way. What is a practical use for using TXT records a distributed KV store?

6y agoHN ↗

Great start, but plain text in 2020?

I propose we design a markup language so this can be parsed. How about DTML? And maybe some styling rules as well, we can call it DSS. And we can't forget a basic scripting language called DJS.

I'll start working on the parser, we can call it a drowser.

6y agoHN ↗

I'll contribute only if it allows third party cookies and all kinds of tracking

6y agoHN ↗

How do we approach embedding of proprietary content formats? We need some DDRM right?

6y agoHN ↗

I'll have to say that DTML seems to be a mess and missing the point and suggest we start working on XDTML.

6y agoHN ↗

XDTML 2.0 you mean? XDTML 1.0 is merely a serialisation of DTML. With XDTML 2.0 in place, the real fun can start!

6y agoHN ↗

I think plain text is OK. There is also Markdown, MediaWiki format, etc, although a simple readable format is best, so that includes plain text (and possibly Markdown too).

And even if another format is made, we should avoid the mistakes of HTML, such as scripting and styling and some other stuff.

6y agoHN ↗

Now do it for stack exchange sites :)

dig how-do-i-block-edit-in-vim.wpodns.adtac.in txt

6y agoHN ↗

I think you meant how-do-i-exit-vim.wpodns.adtac.in

6y agoHN ↗

:exec system("dig how-do-i-exit-vim.wpodns.adtac.in txt +short| tr -d '\"'")

6y agoHN ↗

The other day, while I was messing with Letsencrypt TXTDNS auth I was wondering:

Is there a problem with updating DNS TXT records too often?

It could become an interesting way to create a "decentralized" microblogging network.

6y agoHN ↗

That’s really cool ! A security teacher told me a long time ago about these possibilities and I love the concept, I love Wikipedia and I love plain text, so thanks a lot for this !