# MLDonkey

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/MLDonkey
> Markdown URL: https://mediated.wiki/source/MLDonkey.md
> Source: https://en.wikipedia.org/wiki/MLDonkey
> Source revision: 1353893226
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|P2P filesharing client}}
{{Infobox software
| name = MLDonkey
| logo = 
| screenshot = 
| caption = 
| developer = 
| released = {{Start date and age|2001}}
| latest release version = {{wikidata|property|preferred|references|edit|Q1063566|P348|P548=Q2804309}}
| latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q1063566|P348|P548=Q2804309|P577}}}}
| latest preview version = {{wikidata|property|preferred|references|edit|Q1063566|P348|P548=Q51930650}}
| latest preview date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q1063566|P348|P548=Q51930650|P577}}}}
| programming language = [OCaml](/source/OCaml), with some [C](/source/C_(programming_language)) and [assembly](/source/Assembly_language)
| operating system = [Microsoft Windows](/source/Microsoft_Windows), [OS X](/source/OS_X), [Unix-like](/source/Unix-like), [MorphOS](/source/MorphOS)
| language = 
| genre = [P2P](/source/Peer-to-peer) file sharing
| license = [GPL-2.0-or-later](/source/GNU_General_Public_License)
| website = {{URL|https://github.com/ygrek/mldonkey}}
}}
'''MLDonkey''' is an [open-source](/source/open-source_software), multi-protocol, [peer-to-peer](/source/peer-to-peer) [file sharing](/source/file_sharing) application that runs as a [back-end](/source/Front_and_back_ends) server application on many platforms. It can be controlled through a [user interface](/source/user_interface) provided by one of many separate [front-ends](/source/Front_and_back_ends), including a [Web interface](/source/Web_interface), [telnet](/source/telnet) interface and over a dozen [native](/source/Native_(computing)) client programs.

Originally a [Linux](/source/Linux) client for the [eDonkey](/source/EDonkey_network) protocol, it now runs on many flavors of [Unix-like](/source/Unix-like), [OS X](/source/OS_X), [Microsoft Windows](/source/Microsoft_Windows) and [MorphOS](/source/MorphOS) and supports numerous peer-to-peer protocols.

It is written in [OCaml](/source/OCaml), with some [C](/source/C_(programming_language)) and some [assembly](/source/Assembly_language).

== History ==
Development of the software began in late 2001. The original developer of MLDonkey is Fabrice Le Fessant from [INRIA](/source/Institut_national_de_recherche_en_informatique_et_en_automatique). It was originally conceived as an effort to spread the use of OCaml in the open source community.<ref>{{cite thesis|url=http://hal.archives-ouvertes.fr/inria-00071789/en/|title=Fabrice Le Fessant; MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program|year=2003|publisher=INRIA|type=report|last1=Fessant|first1=Fabrice Le|last2=Patarin|first2=Simon}}</ref>

In January 2003, [Slyck.com](/source/Slyck.com) reported brief friction between MLDonkey developers and the official [Overnet](/source/Overnet) MetaMachine developers, which denounced MLDonkey as a "rogue client", allegedly for incorrect behavior on the network.<ref>{{cite web|last=Mennecke|first=Thomas|url=http://www.slyck.com/news.php?story=34|title=Rogue Clients and Overnet|date=January 17, 2003|access-date=January 9, 2010|archive-date=May 28, 2010|archive-url=https://web.archive.org/web/20100528105535/http://www.slyck.com/news.php?story=34|url-status=dead}}</ref>

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.<ref>{{cite web|last=Walker-Morgan|first=DJ|url=http://www.h-online.com/security/news/item/MLDonkey-3-0-closes-security-hole-740577.html|title=MLDonkey 3.0 closes security hole|publisher=[H-online](/source/Heinz_Heise)|date=16 March 2009}}</ref>

== Features ==
Features of MLdonkey core:
* Peer to peer (p2p) program that supports the following network protocols, either partially or completely:
** [FastTrack](/source/FastTrack) ([Kazaa](/source/Kazaa))
** [eDonkey network](/source/eDonkey_network) (with [Overnet](/source/Overnet) and [Kad network](/source/Kad_network))
** [BitTorrent](/source/BitTorrent) (with [Mainline DHT](/source/Mainline_DHT))
** [Direct Connect](/source/Direct_Connect_(protocol))
** [HTTP](/source/HTTP)/[FTP](/source/File_Transfer_Protocol)
* Multiple control interfaces: telnet, web interface, third party GUIs.

Written in the [OCaml](/source/OCaml) programming language and licensed under the [GPL-2.0-or-later](/source/GNU_General_Public_License) license, the application separates the user interface (which can be a [web browser](/source/web_browser), [telnet](/source/telnet), or a third-party [GUI](/source/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<ref>{{cite web|url=https://mldonkey.sourceforge.net/Merge|title=Latest cores (above 2.5.28) contain an experimental feature: swarming between networks|access-date=2008-06-03|archive-date=2008-05-03|archive-url=https://web.archive.org/web/20080503131951/http://mldonkey.sourceforge.net/Merge|url-status=dead}}</ref> 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 file](/source/configuration_file)s, or—in a more user friendly fashion—from a separate user interface.

From release 2.9.0 (2007) on, support for [gnutella](/source/gnutella) and [G2](/source/Gnutella2) are no longer compiled in by default as both plugins are buggy and currently unmaintained;<ref>{{Cite web|url=https://mldonkey.sourceforge.net/OtherNetworksSupported|title=OtherNetworksSupported - MLDonkey|access-date=2016-11-11|archive-date=2016-11-12|archive-url=https://web.archive.org/web/20161112091741/http://mldonkey.sourceforge.net/OtherNetworksSupported|url-status=dead}}</ref> however, it is still possible to compile them in by making the appropriate setting in the configuration file.<ref>{{cite web|url=https://sourceforge.net/forum/forum.php?forum_id=719769 |title=MLDonkey will no longer compile in Gnutella and G2 support by default |url-status=dead |archiveurl=https://web.archive.org/web/20090114231255/http://sourceforge.net/forum/forum.php?forum_id=719769 |archivedate=2009-01-14 }}</ref>

== Frontends ==
* P2P-GUI (web interface)
* Onager (Palm OS)
* Sancho
* MuleDroid - Interface Android

== See also ==
{{Portal|Free and open-source software}}
* [Comparison of BitTorrent clients](/source/Comparison_of_BitTorrent_clients)

== References ==
{{Reflist}}
'''General references'''
{{Refbegin}}
* {{cite web|last=Kwaśniewski|first=Andrzej|date=November 18, 2005|url=http://www.pcworld.pl/news/85312/P2P.pod.Linuksem.html|title=P2P pod Linuksem|language=Polish|trans-title=P2P in Linux|work=[PC World](/source/PC_World_(magazine))}}
{{Refend}}

== External links ==
* {{sourceforge|mldonkey}} 
{{BitTorrent}}
{{EDonkey}}
{{File sharing}}

Category:2001 software
Category:BitTorrent clients for Linux
Category:Cross-platform software
Category:DC clients for Linux
Category:EDonkey Clients for Linux
Category:File sharing software
Category:Free BitTorrent clients
Category:Free file sharing software
Category:Free software programmed in C
Category:Free software programmed in OCaml
Category:Software using the GNU General Public License

---
Adapted from the Wikipedia article [MLDonkey](https://en.wikipedia.org/wiki/MLDonkey) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/MLDonkey?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
