import sys ; sys.path.insert(0, '..') import binascii import DNS # Usage : python dnsTorrentToFileTorrent.py dnstorrentstring outfilename # Example : python dnsTorrentToFileTorrent.py 0_1197_56633ab0d90f43c68ed1b47358eccfe7.netrogenic.com yarrow-binary-i386-iso.torrent def main(): parts = sys.argv[1].split('_') o = "" for i in range(0,int(parts[1])+1): print "Downloading "+str(i)+"_"+parts[1]+"_"+parts[2] o+=lookup(str(i)+"_"+parts[1]+"_"+parts[2]) out = binascii.a2b_hex(o) f=open(sys.argv[2],'wb') f.write(out) f.close() def lookup(name): DNS.ParseResolvConf() a = DNS.DnsRequest(name, qtype = 'txt').req().answers l = map(lambda x:x['data'],a) return l[0][0] if __name__ == "__main__": main()