2012-04-08 8 views
4

Ich möchte (über PHP) die aktuell heruntergeladenen info_hashs sammeln oder den DHT suchen.PHP DHT info_hash Liste?

Ich habe BTDigg gesehen, die DHT für eine Suchmaschine verwendet, und ich möchte etwas ähnliches tun.

Auch, nachdem ich die Hashes, wie konvertiere ich den Hash in einen Torrent, damit ich die Informationen wie Titel usw. erhalten kann? (noch einmal durch die DHT mit PHP).

Ich habe versucht, zuerst - Query DHT Server versucht, eine DHT-Abfrage über PHP auszuführen, habe ich versucht, Modifikationen, aber ich hatte kein Glück. Ich habe auch versucht http://projects-deim.urv.cat/trac/p2pweb/browser/trunk/dht/dht_agg?rev=1, aber es gab mir mehrere Fehler und nach vielen Fixes hat es immer noch nicht funktioniert.

Antwort

10

einen DHT-Knoten implementieren, möchten Sie wahrscheinlich die DHT-Spezifikation lesen:

http://www.bittorrent.org/beps/bep_0005.html

Es beschreibt das Nachrichtenformat. Wenn Sie nicht vertraut mit dem zugrundeliegenden DHT sind, dann müssen Sie wahrscheinlich das Kademlia-Papier zu lesen, wie gut:

http://www.cs.rice.edu/Conferences/IPTPS02/109.pdf

Sobald Sie und läuft auf dem DHT sind, und Sie beginnen zu sehen, info-Hashes fliegen indem Sie einen Bittorrent-Client implementieren. Oder zumindest die nackten Knochen eines um Peer-Verbindungen zu machen und eine Teilmenge des Bittorrent-Protokoll zu sprechen, die hier beschrieben wird:

http://www.bittorrent.org/beps/bep_0003.html

Sie meist nur müssen in der Lage sein, um eine TCP-Verbindung zu machen und Händedruck, als hättest du nichts. Dann die Metadaten (oder .torrent-Datei) herunterladen, müssen Sie die ut_metadata Erweiterung unterstützen, die auf dem allgemeinen Erweiterung Protokoll sitzt, hier beschrieben:

http://www.bittorrent.org/beps/bep_0010.html

ut_metadata Erweiterung ist hier beschrieben:

http://www.bittorrent.org/beps/bep_0009.html

Ones Sie Metadaten für Hashes Sie sehen, sollten Sie im wesentlichen festgelegt werden. Dann ist es nur eine Frage des Extrahierens und Indexierens von Informationen wie Namen, Dateinamen, Dateigrößen usw. aus Torrent-Dateien (Sie haben eigentlich nur das Infodiktat der Torrent-Dateien, aber das ist der wichtige Teil).

Angesichts der Tatsache, dass dies eine ganze Menge Arbeit zusammen ist, möchten Sie möglicherweise mit Bibliotheken, die dies bereits tun und betrachten sie irgendwie in PHP ziehen. Sie können zum Beispiel einen Blick auf libtorrent werfen.

+0

Gute Zusammenfassung der Spezifikationen im Zusammenhang mit BitTorrent und DHT! – Kyberias