MLDonkey は、オープンソースのマルチプロトコル型P2Pファイル共有アプリケーションであり、多くのプラットフォーム上でバックエンドサーバアプリケーションとして動作する。Webインタフェース、Telnetインタフェース、十数種類のネイティブクライアントプログラムを含む複数のフロントエンドによって提供されるユーザインタフェースを通じて操作される。

当初はeDonkeyプロトコルのLinuxクライアントとして開発されたが、現在では多様なUnix系OS、OS X、Microsoft Windows、MorphOS上でも動作し、数多くのP2Pプロトコルをサポートしている。

主にOCamlで書かれており、一部にC言語とアセンブリ言語が使用されている。

歴史 MLDonkeyの開発は2001年後半に始まった。MLDonkeyの最初の開発者はINRIAのファブリス・ル・フサンである。当初はOCamlのオープンソースコミュニティにおける利用を促進する試みとして構想された。

2003年1月、は、MLDonkey開発者と公式のであるMetaMachine開発者との間に一時的な摩擦があったと報じた。MetaMachine側は、MLDonkeyがネットワーク上で不正な動作をすることを理由に「rogue client(不正なクライアント)」として非難した。

バージョン3.0以前には、ウェブインターフェースへのアクセス権を持つ攻撃者がファイルシステム上の任意のファイルを読み取れるという既知のセキュリティ脆弱性が存在していた。

機能 MLDonkeyコアの機能: 以下のネットワークプロトコルを部分的または完全にサポートするP2Pプログラム: (Kazaa) eDonkey(およびを含む) BitTorrent(Mainline DHTを含む) Direct Connect HTTP / FTP 複数の操作インターフェース: telnet、ウェブインターフェース、サードパーティ製GUI

MLDonkeyはOCaml言語で記述され、GPLv2+ライセンスの下で提供されている。ユーザインターフェース(ウェブブラウザ、telnet、またはサードパーティ製GUIアプリケーション)と、P2Pネットワークと通信を行うコードは分離されている。

MLDonkeyは異なるネットワークプロトコルを用いた複数のピアに同時に接続できる。また、一つのファイルの異なる部分を複数のネットワークプロトコルからダウンロード・結合することも可能であるが、この機能は現在のところ実験的とされている。MLDonkeyはターミナルセッション上で動作し、GUI環境を必要としないため、メモリおよび処理リソースを節約できる。挙動は編集可能な設定ファイルによって制御されるか、またはよりユーザフレンドリーな方法として別途提供されるユーザインタフェースから行う。

バージョン2.9.0(2007年)以降、gnutellaおよびGnutella2のサポートは、いずれもバグが多く保守されていないため、デフォルトではコンパイルされなくなった。ただし、設定ファイルで適切な設定を行うことで、これらをコンパイルに含めることは依然として可能である。

フロントエンド P2P-GUI(ウェブインタフェース) Onager(Palm OS) Sancho MuleDroid - Androidインタフェース

関連項目

:en:Comparison of eDonkey software BitTorrentクライアントの比較

脚注

外部リンク