Torrenflux IPs Protokollieren

Sa, 07.03.2009 - 10:58 -- Daniel Espendiller

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ügen
info_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ügen
info_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.