DnsTorrent



Got an email about one guy doing simular work. A bit more realistic idea than mine. Check it out.
http://isohunt.com/forum/viewtopic.php?t=369
and
http://slashdot.org/comments.pl?sid=87536&threshold=0&commentsort=3&tid=99&mode=thread&pid=7592757#7596221


SORRY ABOUT MY SPELLING, and sort of sorry for maybe bringing down the entire DNS-system ;)

Dummies guide to get popular in cyberspace.
1. Spell like an idiot.
2. Drive without an license.
3. Take down big chunks of the Internet with your "clever" DNS-hack.
4. Profit.

Yesterday night when i could not sleep i thought of what fun i could do with one of the most
distributed database in the world. The DNS!
I am using bittorrents to download linuxdistributions and stuff but some torrentsites (www.suprnova.org)
are overwelmed by trafik downloading the often small torrentfiles.
How could this be improved?
I started to experimenting using a dnsserver to distribute a torrentfile and after much sloppy programming
i had two program, one that converted a torrentfile to bind zone file data and one program that
converted multiples of dnsresposes back to a torrentfile. And happy happy, joy joy. The md5sum was the same for
the local torrentfile and the one downloaded via dns.

But why the hell should one use dns and not http to download? Well, due the nature of the DNS it *CACHES* the
entries and when an customer on an large ISP asks for the same torrent via dnstorrent some other customer
already quered some time ago it downloads right from the cache of the ISPs DNSserver and freeing up bandwith
on the torrentlinksites. They only have to provide a string like 0_197_56633ab0d90f43c68ed1b47358eccfe7.domain.com

One downside is that major ISPs DNSservers will use a loooot of memory (but its not that expensive today anyway).

I got proof of concept as well (requires pydns-2.3.0.tgz).
torrentToiZoneentries.py converts a torrent (or any file) to zonefile format (example : 0_1198_56633ab0d90f43c68ed1b47358eccfe7 IN TXT "64383a616e6e6f756e63653433...")
dnsTorrentToFileTorrent.py downloads a dnstorrent and saves as a normal torrentfile on the hd.
I got a dnstorrent you can test to download.
# python dnsTorrentToFileTorrent.py 0_1197_56633ab0d90f43c68ed1b47358eccfe7.netrogenic.com yarrow-binary-i386-iso.torrent
Will (i hope) download the torrent for Fedora Core.

The code is NOT pretty (first time using python) and can be modified/used/whatever) as long as some credits goes to me.

John Strömstedt torrent (AT) netrogenic (DOT) com


And the ever so popular "donate button"


Quotes from SlashDot.org
There are already a number of posts on Slashdot talking about how this is a really bad idea. I disagree (with a big but). It would almost certainly be a Bad Idea (TM) if this were enacted and people tried to make it the main way of distributing torrents. However, I don't think the idea was meant to do that, I think it was more just to show that it could be done. It's akin to people who get put on the mainpage of Slashdot for hacking their Apple IIe's so that they have ethernet and then writing a simple graphical operating system for them so they can browse the web. Impractical and largely useless? Probably. Interesting and fun hack? Definitely.
DNS is being used to exchange the Torrent files, which are small, not the data itself, which is large. The Torrent files are indexes that tell your BitTorrent program where and how to get its data. This sounds very useful, since what was missing from the BitTorrent network was a way of distributing cached Torrent files, and this is exactly what DNS provides. Remains to be seen whether it actually works, but it's a neat concept.

Bloody hell, that guy has awful spelling! And he's coded what is obviously the *worst idea ever!* Do you want to shoot him or shall I?

If you read the article and know anything about DNS, you can see that he is splitting the file into 126 byte segments and storing the parts in TXT records of individual hosts.
The host naming scheme is quite clever, I might add.
The goal is to offload the duty of serving up the files from the download servers to an existing distributed network. He even mentions that the DNS servers caching these records would consume
massive amounts of memory, and then (like a spammer) blows it off as "its [memory] not that expensive today anyway."
If this is actually implemented on a wide scale, DNS administrators will simply stop caching TXT records, putting the load right back on the original download server where it belongs. Or worse, they may stop caching records altogether, which could only lead us all down the path of chaos, death and destruction.
I agree that it's clever, but like a deadly virus, not something that should leave the lab on a large scale.






Back to main site.