8 ms·
Show HN: Wikipedia over DNS
- tonymet 7y agothis is great. DNS TXT records are under appreciated. It's a distributed key value store with distributed caching
- caseyohara 7y agoI had never thought of it that way. What is a practical use for using TXT records a distributed KV store?
- tonymet 7y agodistributed config.
- geocrasher 7y agoA 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-drop/ 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.
- 3xblah 7y agoFor 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.
- koolba 7y agoNice. Now let’s get Wireguard over DNS and be done with it.
- qubex 7y agoHow about WireGuard over DNSSEC and call it a day?
- k__ 7y agoI love those! The most impressive one I saw, was IP over DNS.
- willcipriano 7y agoYou may be talking about iodine: https://code.kryo.se/iodine/ https://code.kryo.se/iodine/ You can host it yourself.
- btrettel 7y agoUnrelated comment: I like this sort of web design. Might just be nostalgia. It reminds me of web design circa 2001 or so. You can see many similar examples on OSWD, e.g.: http://www.oswd.org/design/preview/id/9/ http://www.oswd.org/design/preview/id/9/ http://www.oswd.org/design/preview/id/3/ http://www.oswd.org/design/preview/id/3/ http://www.oswd.org/design/preview/id/6/ http://www.oswd.org/design/preview/id/6/ http://www.oswd.org/design/preview/id/45/ http://www.oswd.org/design/preview/id/45/
- hvenev 7y agoAt 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.
- mycall 7y agoThat's well known in exfiltration botnets.
- k__ 7y agoI 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.
- dang 7y agoThe opposite way from yesterday: https://news.ycombinator.com/item?id=22790425 https://news.ycombinator.com/item?id=22790425
- aledalgrande 7y agoI 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.
- dang 7y agoI just meant opposite in the most trivial sense: (reverse '("Wikipedia" "over" "DNS")) => ("DNS" "over" "Wikipedia")
- shepherdjerred 7y agofinally my lisp class has aided me in a real-life scenario
- onionisafruit 7y agoI never had a lisp class, so I'm sitting here wondering why there is one single quote.
- _emacsomancer_ 7y agoto prevent evaluation.
- rq1 7y agoOtherwise the single-unquoted ( would be treated as a function call.
- lawl 7y agoThat'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.
- jamieweb 7y agoWould 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.
- zamadatix 7y agoLarge 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.
- brchn 7y ago> Who knows, maybe we'll have DNS over Wikipedia over DNS one day. Looks like my weekend got more interesting
- ape4 7y ago$ 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..."
- parhamn 7y agoCouldn’t this actually be useful in countries that block Wikipedia?
- Czarcasm 7y agoNot really, since it only returns a small section of the queried article.
- Arnavion 7y agoThose 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.
- em-bee 7y agobing search returns wikipedia articles too. i suppose this works because bing is doing the filtering, and it can block based on content
- askmike 7y agoGreat 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.
- quickthrower2 7y agoWhoa hold your horses! DGML first.
- adtac 7y agoI'll contribute only if it allows third party cookies and all kinds of tracking
- hising 7y agoHow do we approach embedding of proprietary content formats? We need some DDRM right?
- hising 7y agoI'll have to say that DTML seems to be a mess and missing the point and suggest we start working on XDTML.
- ainar-g 7y agoXDTML 2.0 you mean? XDTML 1.0 is merely a serialisation of DTML. With XDTML 2.0 in place, the real fun can start!
- zzo38computer 7y agoI 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.
- totetsu 7y agoNow do it for stack exchange sites :) dig how-do-i-block-edit-in-vim.wpodns.adtac.in txt
- lAz2imOvV 7y agoThere are a few examples in rubydns code eg. https://github.com/socketry/rubydns/blob/master/examples/wikipedia-dns.rb https://github.com/socketry/rubydns/blob/master/examples/wik...
- tomcooks 7y agoThe 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.
- bobbiechen 7y agoA few other implementations of "DNS as database": DNS-FS: https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-storage-dnsfs https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-st... DNS as a config management database: https://www.lastweekinaws.com/podcast/aws-morning-brief/whiteboard-confessional-route-53-db/ https://www.lastweekinaws.com/podcast/aws-morning-brief/whit... "A globally-distributed, eventually-consistent, 100% available key-value store ;)" (I haven't actually tried running this code personally): https://github.com/craftyphotons/ten34 https://github.com/craftyphotons/ten34
- _threads 7y agoThat’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 !
- easrng1 7y agoI actually made this same thing recently: https://github.com/easrng/wiki-pdns https://github.com/easrng/wiki-pdns