TorrentFlux:サーバーで動かすBitTorrentクライアント

  TorrentFlux は、Apache、MySQL、PHPが動作しているサーバー上で動くBitTorrentクライアントだ。ほぼすべての操作をWebブラウザー上で行うよう実装されており、これにより従来のAzureusのようなクライアントにはない機能性を実現している。バックグラウンドにはBitTornadoクライアントがいて、キュー、ダウンロード、トレント・ファイルのシードを管理する。TorrentFluxを自分のマシン上で動かし、Webサーバー上のフォルダーの形でアクセスするという使い方ができる。また、帯域幅と転送速度を改善するために外部のホストにインストールすることもできる。

 BitTorrentはピア・ツー・ピアのファイル共有プロトコルで、中核となる配布元がなくても大きなファイルを転送できるという特徴がある。これは、インターネット上に散在する多様なソースからそれぞれファイルの一部分をダウンロードしてくるようになっているからだ。特に、CDイメージで700MB、DVDでは4GBにもなるLinuxのCD/DVDイメージの配布でよく利用されている。ファイルをダウンロードすると、その利用者はそのファイルのシーダーとなる。つまり、ダウンロードが終わってもクライアントを停止したりデータを削除したりせず、今度は自分がそのファイルの一部分をほかの利用者のダウンロードのために提供する。こうして、全体としての転送速度を高めるという仕組みだ。

 TorrentFluxは永続的なBitTorrentクライアント、つまりApacheサービスが生きている限りTorrentFluxもサービスを続ける。BitTorrentクライアントを明示的に動かさなくてもファイルをシードすることができるので、負担率(=アップロード量÷ダウンロード量)が高くないとトラッカーを利用できないようなトレント・ファイル・サービスを利用している人には便利だ。

TorrentFlux1_thumb.png
TorrentFluxのメインコントロールパネル

 外部からサーバーにアクセスできる環境の場合、自分以外の利用者にユーザー名とパスワードを作成し、TorrentFluxを使ったファイルのダウンロード・サービスを提供することができる。このマルチユーザー機能のためにTorrentFluxにはさまざまな機能が備えられている。その一つ、ファイル・キュー管理はトレント・ファイルのダウンロード順を管理して、先着順にサービスされるようにする。また、利用者のアクティブなダウンロード回数を制限する機能もあり、これを利用すると使用される帯域幅を抑制し適切な転送速度を維持したり、サーバーが特定の利用者に独占されないようにしたりすることができる。利用者の作成・編集・削除には使いやすい管理パネルが用意され、複数の利用者に管理者権限を与えることもできる。

 トレント・ファイルの追加には、URLを入力する、ハード・ドライブ上のファイルをブラウズする、組み込みの検索機能を使うという3つの方法がある。検索の範囲は開発者用のWebサイトからモジュールを追加すれば、ほかのWebサイトやトラッカーにまで広げることができる。また、RSSフィードを追加することもできる。フィードは、特定のトピックを扱ったトレントや特定のキーワードを含むトレント、あるいは特定のジャンルに属するトレントの一覧で、これを使えば一連のファイルにアクセスしアップデートをダウンロードするのはたやすい。インタフェースは基本レベルのHTMLでできており、同梱されている多様なスタイルシートや画像を利用してテーマを変更したり新たに作ったりすることができる。

 TorrentFluxは柔軟かつ多くのオプションがあるため、サーバーや利用者の管理にはログ・システムが欠かせない。サーバー用の詳細なログのほか、そのサーバー上でどの利用者が何をアップロード/ダウンロードしたかを記録したアクティビティー・ログがある。著作権違反を危惧する管理者には必須のアイテムだ。

TorrentFlux2_thumb.png
ユーザープロファイルマネージャ

 Webサーバーからファイルを取り出すのは簡単。ブラウザーを介して組み込みのファイル・エクスプローラーを使えばよい。目的のファイルまたはフォルダーを開き、そのままの形または圧縮した.tarや.zipファイルにしてダウンロードすることができる。熟練者ならFTPやSCPなどのプロトコルを使ってデータを取り出すことも可能。これはリモート・ホスティングを使っている場合には特に便利だ。

 TorrentFluxを介してプライベート・メッセージを交換できるので、ほかの利用者と連絡を取りあうこともできる。

インストール手順

 TorrentFluxをインストールするには、あらかじめ、Apache、MySQL、PHPをインストールし構成しておく必要がある。インストールしてない場合は、使用しているディストリビューションに応じた適切なパッケージ管理システムを使ってインストールすること。なお、Ubuntuの場合は、「sudo tasksel install lamp-server」コマンドでまとめてインストールすることができる。準備ができたらTorrentFluxファイルをダウンロードする。開発者用サイトで.tar.gzファイルを選ぶか、コマンド・プロンプトから「wget http://www.torrentflux.com/torrentflux_2.3.tar.gz」を実行する。ダウンロードが終わったら、.tar.gzファイルのあるフォルダーに移り、ファイルを展開してApacheのHTMLフォルダーにコピーする。コマンドは次の通り。

tar -zxvf torrentflux.tar.gz
mv torrentflux /var/www/torrentflux

 ここで、/var/www/torrentfluxはHTMLフォルダーだ。これと異なる場合は、実際のHTMLフォルダーのパスに置き換えること。次に、すべてのデータの保存場所となるMySQLデータベースを作成する。phpMyAdminを使って、torrentfluxという名のデータベースを作り、SQLにダンプする。あるいは、コマンドラインから次のコマンドを実行する(コマンドはApache HTMLディレクトリー、つまり/var/www/torrentflux上で実行すること)。

mysqladmin create torrentflux
mysql torrentflux < sql/mysql_torrentflux.sql

 次に、config.phpファイルを編集し、「YOUR DATABASE CONNECTION INFORMATION」という見出しのある部分にMySQL情報を記述する。必要な情報は、Webサーバーのアドレス(通常はlocalhost)、データベースの名前(上例の場合はtorrentflux)、自分のユーザー名とパスワードだ。編集が終わったら、ブラウザーでTorrentFluxディレクトリー(http://localhost/torrentflux)を開く。ログイン画面が表示されるはずだ。あとは、管理者アカウントを作るだけ。これで、きわめて便利で強力なBitTorrentクライアントが使えるようになった。

Linux.com 原文