BTクライアント対決:Azureus vs. KTorrent

 BitTorrentはピアツーピアのファイル共有用通信プロトコルで、インターネット経由であらゆる種類のファイルを転送するためによく使用されている。Linux用の人気の高いBitTorrentクライアントにはAzureus(sfjpミラー)とKTorrentがある。結論から言えば、堅固、高速、シンプル、かつパワフルなBitTorrentクライアントを望むユーザには、おそらくKTorrentの方が向いているだろう。一方、BitTorrent転送の細部に至るまで設定することができて、どのプラットフォーム上でも動くJavaベースのクライアントが好みなら、Azureusの使用を検討すると良いだろう。

 AzureusもKTorrentも、機能が豊富でパワフルなBitTorrentクライアントであり、高機能なファイル転送管理用GUI、統計情報の表示機能、柔軟に設定可能な設定用メニューを備えている。AzureusはJavaで書かれているため、ほぼすべてのプラットフォーム上で利用することができる。一方KTorrentはC/C++で書かれていてTrolltechのQtツールキットを使用しており、Linuxとその他のUnix系システム(Mac OS Xも含む)上でのみ利用することができる。

 AzureusもKTorrentも、最近のディストリビューションであればどのディストリビューションでもそのディストリビューション用のパッケージが用意されていて、ソフトウェアレポジトリから簡単にインストールすることができるようになっている。Azureusのパッケージが用意されていないディストリビューションの場合には、Azureusをダウンロードして、以下のようにtarファイルを展開してバイナリファイルを実行すれば良い。

 
tar xvjf Azureus_x.x.x.x_linux...tar.bz2
cd azureus
./azureus
 

 なお事前にSunのJava Runtime Environmentもインストールしておく必要がある。

 一方、KTorrentのインストールとコンパイルは、./configuremakemake installという標準的な手順で行なうことができる。インストール方法は以上の通りだ。それではAzureusとKTorrentが提供する機能のいくつかを見てみよう。

機能

azureus_thumb.png
Azureus

 AzureusでもKTorrentでも、指定したトレントファイルから特定のファイルだけをダウンロードすることができる。つまり例えばopenSUSE Linuxの5つのISOイメージのすべてが含まれているopenSUSE10.torrentをダウンロードしようとしているが、必要なのは最初のISOイメージだけである場合、ダウンロード用のダイアログ内で他の4つのファイルのチェックを外しておけば、必要なファイルだけをダウンロードすることができる。

 AzureusもKTorrentも平均転送速度、負担率、現在接続中のピア、ファイルの入手可能な割合(及びホストごとの入手可能な割合)、ファイルチャンクなどの各種統計情報などを表示することができる。さらに、接続中のピアの数、それらのIPアドレスとポート番号、使用しているBitTorrentクライアント、接続元の地理情報(Country Locatorプラグインによる追加機能)、ユーザ自身と各ピア間での転送速度、各ピアが持っているファイルチャンクの情報なども見ることができる。

 AzureusでもKTorrentでも、ユーザは望むだけの個数のファイルを同時にダウンロード/アップロードすることができる。また、アップロード/ダウンロードの両方について、ファイル転送速度の最大値と最小値を(グローバルにも、ファイルごとにも)自由に設定することが可能だ。

 IPアドレスのブロックについては、AzureusもKTorrentもプラグイン経由でサポートしている。したがってあなたのトレントを利用してほしくないホストがある場合、そのIPアドレスをIPブロック用のメニューのリストに追加しておけば、そのホストからの接続を拒否することができる。

ktorrent_thumb.png
KTorrent

 またAzureusもKTorrentもBitTorrentプロトコルの暗号化をサポートしているので、第三者がBitTorrentのトラフィックを識別することを困難にすることができる。例えばあなたが利用しているISPがピアツーピア接続のネットワークトラフィックを盗聴していて、ことによるとブロックしている恐れもあるという場合などに利用すると良いだろう。この機能を使えば、おそらくISPには、あなたがピアツーピアプログラムを使用しているということさえも分からないだろう。ただしプロトコルの暗号化は、それによって匿名性が得られるわけではなく、ピアツーピアのトラフィックであるということが識別しにくくなるだけだ。

 AzureusもKTorrentも、プラグインを利用することにより機能を拡張することができる。例えばAzureusでは「SMS通知」プラグインを使用することにより、各トレントの完了時にSMS(Short Message Service)の通知を受信できるようにすることができる。あるいは「Instant Messaging Notifications」プラグインを利用すれば、トレントの状態の変化をGoogle Talk(Jabberプロトコル)経由で通知するようにすることもできる。なおプラグインの完全なリストは、Azureus用のプラグインのページとKTorrent用のプラグインのページで見ることができる。

 Azureusの「Swing Web」プラグインを利用すれば、Azureusをウェブインターフェース経由でリモートから制御することもできる。KTorrentでは同様の機能は、「WebGUI」プラグインを使用すれば利用可能になる。「WebGUI」プラグインはデフォルトでKTorrentに含まれているが、このサービスを利用するためにはプラグインの設定の中でユーザ名とパスワードを指定する必要がある。

 AzureusもKTorrentも、UPnP(Universal Plug and Play)をサポートしている。UPnPはデバイスを自動的に接続できるようにするので、これによりユーザはネットワークの設定を行なう必要がなくなる。BitTorrent用のクライアントの場合、UPnPによってピアツーピアの転送を行なうために必要なルータの設定をすることができる。自分で手動でルータのポートフォワーディングを設定しても良いのだが、そのためにはネットワークに関する知識がいくらか必要となるため、すべてのユーザにとって最良の方法というわけではないだろう。

 AzureusでもKTorrentでも、自分のトレントを作成することが可能だ。ただしKTorrentでは、シードを開始する前にトレントの内容をトレントトラッカーにアップロードする必要がある。一方Azureusは自前のトラッカーとなることができるため、ユーザに対してすぐにシードを開始することができる。

 なお各トレントクライアントの違いについては、Wikipediaに詳細なリストがある。

不具合

 今回私は、Azureusクライアントと手持ちのLinksys WRT54GS v2ワイヤレスルータの問題に非常に悩まされた。Azureusを2、3時間続けて使用すると、決まってネットワーク接続が落ちてしまった。そしてネットワークが落ちる前にはネットワークが非常に低速になって、どのウェブページについてもウェブブラウザで開くのに5分もかかっていた。そこでAzureusがUPnPを使うように設定し直してみたが、同じ問題が現われ、症状は改善されなかった。また接続数も制限してみたが、やはり同じ問題が現われた。さらにルータのファームウェアをアップグレードしてみたが、効果はなかった。その後、結局、ルータの問題であると判明するまで、かなりの時間がかかってしまった。この問題についてはLinksys WRT54G/GSルータとBitTorrentプロトコルについての短いFAQが参考になる。

 私はAzureusクライアントのルック&フィールが気に入っていたのだが、家で使用しているルータが原因となり移行せざるを得なかった。私は家では普段KDEを使用していないのだが、KTorrentは使ってみると非常に優れたソフトウェアであることが分かった。AzureusもKTorrentも、機能が豊富であり、プラグイン経由で拡張も可能だ。どちらのクライアントでも好きに選んで問題ないと思うが、Linksysルータを持っているなら、おそらくKTorrentにするのが良いだろう。

Linux.com 原文