MLDonkey

MLDonkey
Initial release late 2001
Stable release 3.1.0  (August 10, 2011; 6 months ago (2011-08-10)[1]) [±]
Preview release none  ( ) [±]
Written in Objective Caml, with some C and assembly
Operating system Cross-platform
Available in ?
Type P2P File sharing
License GPL
Website mldonkey.sourceforge.net

MLDonkey is an open source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen native client programs.

Originally a Linux client for the eDonkey protocol, it now runs on many flavors of Unix-like, Mac OS X, Windows and MorphOS and supports numerous peer-to-peer protocols.

It is written in Objective Caml, with some C and even some assembly.

Contents

History

Development of the software began in late 2001. The original developer of MLDonkey is Fabrice Le Fessant from INRIA. It was originally conceived as an effort to spread the use of Objective Caml in the open source community.[2]

In January 2003, Slyck.com reported brief friction between MLDonkey developers and the official Overnet MetaMachine developers, which denounced MLDonkey as a "rogue client", allegedly for incorrect behavior on the network.[3]

Versions before 3.0 have a known security vulnerability that allows an attacker with access to the web interface to read any file on the file system.[4]

Features

Features of MLdonkey core:

Written in the Ocaml programming language and licensed under the GPL, the application separates the user interface (which can be a web browser, telnet, or a third-party GUI application) and the code that interacts with the peer-to-peer networks.

MLDonkey is able to connect simultaneously to different peers using different network protocols. In addition it can download and merge parts of one file from different network protocols[5] although this feature is currently documented as experimental. MLDonkey runs in a terminal session and does not require a GUI environment, saving memory and processing resources. Behavior is controlled by editable configuration files, or—in a more user friendly fashion—from a separate user interface.

From release 2.9.0 on, support for gnutella and G2 are no longer compiled in by default as both plugins are buggy and currently unmaintained; however, it is still possible to compile them in by making the appropriate setting in the configuration file.[6]

See also

References

General references

Frontends

External links