Aversa [Ruby][BitTorrent]

http://aversa.rubyforge.org/

 Aversa is a little utility for creating and viewing BitTorrent metainfo files.

メタ情報ファイル(.torrentファイル)の表示と生成のみだけど、
トラッカーも作りそうな雰囲気。Net::BitTorrentモジュールとか作ってたので
プロジェクトにマージお願いしてみた。

元々、興味があったのは peer-wire-protcol の部分のみだったので、
実験用にダウンロード出来る最小限のコードだけ書いて
アプリケーションまでは作らずに放置していたのだけど、
この機会にもう少し手入れしてみる事にする。


ダウンローダーとかトラッカーはみんな作ってると思うので、
焦点をずらして、BitTorrentの応用技術に注目してみようと思う。

rubyforge.orgがトラッカーを提供し始めたので、検索機能と連係できるかも知れない。
データベースを共有すればクローラーは必要ないかな。
ちなみにプロジェクトのadminはrubyforge.orgのサポートもやってる(?らしい)


  • MetaInfoのRDF版 (textで保存/編集できる、XSLで表示しやすいなどの利点)

メタ情報ファイルのXML化はWikiにもアイデアが挙がってた。
実装はまだ見たことない。
バイナリが問題なりそうだけど、適切にエンコードすれば no problem
例えば pieces は、

 
  :
  ...
 

トラッカーがRDFとかでデータ返してくれるとうれしい。
BEncodeよりXMLの方が普及しているし、大抵の開発環境でXMLが使える。
メタ情報ファイルの文字エンコードの問題も解決する。
欠点は、当然データが冗長になる事。pieceseがbase64だと 4/3 倍 + タグや
ヘッダの分増加。ただし、これは HTTP/gzip による圧縮が期待できる。

出来るかどうかわからないけどアイデアだけ書き綴っておく。
他にも wikiBitTorrent Spec2 拡張のアイデアが多数あり。