{{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, with some C and assembly | operating system = Microsoft Windows, OS X, Unix-like, MorphOS | language = | genre = P2P file sharing | license = GPL-2.0-or-later | website = {{URL|https://github.com/ygrek/mldonkey}} }} '''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, OS X, Microsoft Windows and MorphOS and supports numerous peer-to-peer protocols.
It is written in OCaml, with some C and some assembly.
== 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 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 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.<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|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 (Kazaa) ** eDonkey network (with Overnet and Kad network) ** BitTorrent (with Mainline DHT) ** Direct Connect ** HTTP/FTP * Multiple control interfaces: telnet, web interface, third party GUIs.
Written in the OCaml programming language and licensed under the GPL-2.0-or-later license, 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<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 files, or—in a more user friendly fashion—from a separate user interface.
From release 2.9.0 (2007) on, support for gnutella and G2 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
== 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}} {{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