Zum Entwickeln und Testen des "PHP BitTorrent Announce Client" brauchte ich eine Möglichkeit die Trackeranfragen mitzuschneiden und zu bearbeiten. Ich habe schließlich den Standard Bittorrent Client in Python genommen, welcher dem TorrentFlux beiliegt, und ein paar Zeilen hinzugefügt.
Im Zielordner des Torrentdownloads wird automatisch ein Unterordner .cache angelegt und die entsprechende Datei abgelegt. Dazu habe ich mir zwei mögliche Rerequester.py gebastelt.
Rerequester_withdate.py
Nach den Kommentaren einzufügen:
import urllib import os.path from time import *
direkt vor
try: r = bdecode(data, sloppy=1) einfügeninfo_hash=q.split("info_hash=")[-1].split("&")[0] hash=urllib.unquote(info_hash).encode('hex') if not os.path.exists('.cache'): os.mkdir(".cache") mytime=strftime("%H_%M_%S", localtime()) o = open(".cache/"+mytime+"_"+hash+".req","w") o.write(data) o.close() o = open(".cache/u_"+mytime+"_"+hash+".req","w") o.write(q) o.close()
Rerequester_hashonly.py
Nach den Kommentaren einzuügen:
import urllib import os.path
direkt vor
try: r = bdecode(data, sloppy=1) einfügeninfo_hash=q.split("info_hash=")[-1].split("&")[0] hash=urllib.unquote(info_hash).encode('hex') if not os.path.exists('.cache'): os.mkdir(".cache") o = open(".cache/"+hash+".req","w") o.write(data) o.close()
Installation
Entweder die Rerequester.py per Hand im Ordner bin\clients\mainline\BitTorrent\Rerequester.py editoren. Oder die fertig angepassten Dateien aus der ZIP-Datei nehme und durch die Originale ersetzen.