MLDonkey

MLDonkey
初版 2001年 (2001)
最新版
3.2.1[1] ウィキデータを編集 / 2024年8月20日
リポジトリ
プログラミング
言語
OCaml(一部C言語とアセンブリ言語)
対応OS Microsoft Windows, OS X, Unix系, MorphOS
種別 P2Pファイル共有
ライセンス GPLv2+
公式サイト github.com/ygrek/mldonkey

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

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

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

歴史

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

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

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

機能

MLDonkeyコアの機能:

  • 以下のネットワークプロトコルを部分的または完全にサポートするP2Pプログラム:
  • 複数の操作インターフェース: telnet、ウェブインターフェース、サードパーティ製GUI

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

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

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

フロントエンド

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

関連項目

脚注

  1. ↑ “Release 3.2.1” (2024年8月20日). 2024年8月22日閲覧。
  2. ↑ Fessant, Fabrice Le; Patarin, Simon (2003). Fabrice Le Fessant; MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program (report). INRIA.
  3. ↑ Mennecke, Thomas (2003年1月17日). “Rogue Clients and Overnet”. 2010年5月28日時点のオリジナルよりアーカイブ。2010年1月9日閲覧。
  4. ↑ Walker-Morgan, DJ (2009年3月16日). “MLDonkey 3.0 closes security hole”. H-online. 2012年3月14日時点のオリジナルよりアーカイブ。2025年5月3日閲覧。
  5. ↑ “Latest cores (above 2.5.28) contain an experimental feature: swarming between networks”. 2007年2月12日時点のオリジナルよりアーカイブ。2025年5月3日閲覧。
  6. ↑ “OtherNetworksSupported - MLDonkey”. 2016年5月29日時点のオリジナルよりアーカイブ。2025年5月3日閲覧。

外部リンク