MLDonkey is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, multi-protocol,
peer-to-peer
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. They are said to form a peer-to-peer ...
file sharing
File sharing is the practice of distributing or providing access to digital media, such as computer programs, multimedia (audio, images and video), documents or electronic books. Common methods of storage, transmission and dispersion include r ...
application that runs as a
back-end server application on many platforms. It can be controlled through a
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
provided by one of many separate
front-ends, including a
Web interface,
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet cont ...
interface and over a dozen
native
Native may refer to:
People
* Jus soli, citizenship by right of birth
* Indigenous peoples, peoples with a set of specific rights based on their historical ties to a particular territory
** Native Americans (disambiguation)
In arts and enterta ...
client programs.
Originally a
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
client for the
eDonkey protocol, it now runs on many flavors of
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
,
OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
,
Microsoft Windows and
MorphOS
MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed proprietary and open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale devel ...
and supports numerous peer-to-peer protocols.
It is written in
OCaml
OCaml ( , formerly Objective Caml) is a general-purpose, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features. OCaml was created in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, D ...
, with some
C and some
assembly
Assembly may refer to:
Organisations and meetings
* Deliberative assembly, a gathering of members who use parliamentary procedure for making decisions
* General assembly, an official meeting of the members of an organization or of their representa ...
.
History
Development of the software began in late 2001. The original developer of MLDonkey is Fabrice Le Fessant from
INRIA
The National Institute for Research in Digital Science and Technology (Inria) () is a French national research institution focusing on computer science and applied mathematics.
It was created under the name ''Institut de recherche en informatiq ...
. It was originally conceived as an effort to spread the use of OCaml in the open source community.
In January 2003,
Slyck.com
Slyck.com is a defunct website that once produced unique original file sharing news stories, shared aggregated technology news stories from the World Wide Web, and had a user forum.
History
Ray Hoffman began operating Slyck.com as Slyway.com i ...
reported brief friction between MLDonkey developers and the official
Overnet
eDonkey2000 (nicknamed "ed2k") was a peer-to-peer file sharing application developed by US company MetaMachine ( Jed McCaleb and Sam Yagan), using the Multisource File Transfer Protocol. This client supports both the eDonkey2000 network and th ...
MetaMachine developers, which denounced MLDonkey as a "rogue client", allegedly for incorrect behavior on the network.
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.
Features
Features of MLdonkey core:
* Peer to peer (p2p) program that supports the following network protocols, either partially or completely:
**
FastTrack
FastTrack is a peer-to-peer (P2P) protocol that was used by the Kazaa, Grokster, iMesh and Morpheus file sharing programs. FastTrack was the most popular file sharing network in 2003, and used mainly for the exchange of music mp3 files. The netwo ...
(
Kazaa)
**
eDonkey network (with
Overnet
eDonkey2000 (nicknamed "ed2k") was a peer-to-peer file sharing application developed by US company MetaMachine ( Jed McCaleb and Sam Yagan), using the Multisource File Transfer Protocol. This client supports both the eDonkey2000 network and th ...
and
Kad network
The Kad network is a peer-to-peer (P2P) network which implements the Kademlia P2P overlay protocol. The majority of users on the Kad Network are also connected to servers on the eDonkey network, and Kad Network clients typically query known nod ...
)
**
BitTorrent (with
Mainline DHT)
**
Direct Connect
**
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
/
FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data ...
* Multiple control interfaces: telnet, web interface, third party GUIs.
Written in the
OCaml
OCaml ( , formerly Objective Caml) is a general-purpose, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features. OCaml was created in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, D ...
programming language and licensed under the
GPL-2.0-or-later license, the application separates the user interface (which can be a
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
,
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet cont ...
, 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 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
In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system ...
s, or—in a more user friendly fashion—from a separate user interface.
From release 2.9.0 (2007) on, support for
gnutella
Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model.
In June 2005, Gnutella's population was 1.81 million computer ...
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.
See also
*
Comparison of eDonkey software
The following tables compare general and technical information for a number of available applications supporting the eDonkey network.
General
Features
Features (continued)
Versions
See also
* Comparison of file sharing application ...
*
Comparison of BitTorrent clients
The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.
The BitTorrent protocol coordinates segmented file transfer among peers connected i ...
References
General references
*
Frontends
P2P-GUI (web interface)Onager(Palm OS)
SanchoMuleDroid - Interface Android
External links
*
* New development at GitHu
Bug tracker
{{File sharing
2001 software
BitTorrent clients for Linux
Cross-platform software
DC clients for Linux
EDonkey Clients for Linux
File sharing software
Free BitTorrent clients
Free file sharing software
Free software programmed in C
Free software programmed in OCaml