2012-04-08 6 views
4

私は(PHP経由で)現在ダウンロードされているinfo_hashesを収集したい、あるいはDHTを検索したいと思います。PHP DHT info_hashのリスト?

私は、DHTを検索エンジンに使用するBTDiggを見たことがあります。私は同様のことをしたいと思います。

また、ハッシュを取得した後、タイトルなどの情報を得るためにハッシュをトレントに変換するにはどうすればよいですか? (もう一度PHPを使用してDHTを介して)。

私は最初に研究を試みましたが、Query DHT ServerはPHP経由でDHTクエリを実行しようとしましたが、修正を加えましたが運がなかった。 私はまたhttp://projects-deim.urv.cat/trac/p2pweb/browser/trunk/dht/dht_agg?rev=1を試しましたが、いくつかのエラーが出て、多くの修正を加えてもまだ動作しませんでした。

答えて

10

DHTノードを実装するには、あなたはおそらく、DHTの仕様を読みたい:

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

これは、メッセージの形式について説明します。あなたは基礎となるDHTに慣れていない場合、あなたはおそらく同様にKademliaの紙を読んでする必要があります。

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

あなたは稼働してDHTにしている、とあなたは情報-ハッシュが飛ぶ見始めるとビットトレントクライアントを実装する必要があります。あるいは、少なくとも、ピア接続を作成し、ここで説明されたBitTorrentプロトコルのサブセットを話をするために、1の裸の骨:

あなたは、主にだけTCPコネクションを作ることができるようにする必要がありhttp://www.bittorrent.org/beps/bep_0003.html

とあなたが何も持っていないかのように握手する。次に、メタデータ(または.torrentファイル)をダウンロードして、あなたは一般的な拡張プロトコルの上に座っut_metadata拡張をサポートする必要があり、ここで説明:

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

ut_metadata拡張子がここで説明されています

あなたが見ハッシュのためのメタデータを持っている

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

ものは、あなたは基本的に設定する必要があります。 Torrentファイルから名前、ファイル名、ファイルサイズなどの情報を抽出して索引付けするだけです(実際にはTorrentファイルの情報に終わるだけですが、それは重要な部分です)。

これはすべて一緒に作業するのがかなりあることを考えれば、これを既に実行しているライブラリを使用して、何らかの形でPHPに取り込むことができます。例えば、libtorrentを見てみたいかもしれません。

+0

BitTorrentとDHTに関する仕様の良いサマリー! – Kyberias

関連する問題