.torrent
ダウンロード用のファイルを Web サイトに配置するとき、その Torrent のシードとピアの数を取得し、ユーザーに通知するにはどうすればよいでしょうか?
2 に答える
トレントファイルに表示されているトラッカーに連絡する必要があります。トラッカーが「スクレイピング」をサポートしている場合、それはおそらくあなたが望むリクエストです。それ以外の場合は、トラッカーがあなたに返したいピアの数を決定する必要があり、それらのピアがシードであるかリーチであるかは、連絡する前にわかりません。
トレントファイルはベンコード形式です。情報を簡単に解析するには、bdecodephpライブラリを探してください。
メタデータのピース情報から取得した情報ハッシュを提供すると、プロトコルに従うとトラッカーが応答します。詳細については、 http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29を参照してください。
http://wiki.theory.org/BitTorrentSpecification#Tracker_.27scrape.27_Conventionで説明されているように形成された URL を使用して HTTP GET 要求をトラッカーに送信することにより、トラッカーをスクレイピングします。スクレイピング URL はアナウンス URL から派生します。 ) metainfo の "announce" および "announce-list" キーで。
トラッカーの応答は、同じ wiki.theory.org リンクに記載されています。探しているシーダー/リーチャーの数が含まれています。
最新の .torrent ファイルには通常、アナウンス リストに複数のトラッカーが含まれているため、より良い情報を得るために複数のトラッカーをスクレイピングすることをお勧めします。ただし、どのピアがトラッカー A からトラッカー B にオーバーラップしているかを知る方法がないため、複数のトラッカーをスクレイピングして実際にできる最善の方法は、群れのリーチャーとシーダーの最小/最大数の範囲を考え出すことです。 .