HOME

TheInfoList



OR:

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 n ...
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 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 fr ...
,
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 control i ...
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 entert ...
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 ...
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 lapt ...
,
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
MorphOS MorphOS is an AmigaOS-like computer operating system (OS). It is a mixed Proprietary software, proprietary and Open-source software, open source OS produced for the Pegasos PowerPC (PPC) processor based computer, PowerUP accelerator equipped Amig ...
and supports numerous peer-to-peer protocols. It is written in
OCaml OCaml ( , formerly Objective Caml) is a general-purpose programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
, 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 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 the ...
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 the ...
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 nodes ...
) ** BitTorrent (with
Mainline DHT Mainline DHT is the name given to the Kademlia-based distributed hash table (DHT) used by BitTorrent clients to find peers via the BitTorrent protocol. The idea of using a DHT for distributed tracking in BitTorrent was first implemented in Azure ...
) ** 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 programming language, general-purpose, multi-paradigm programming language which extends the Caml dialect of ML (programming language), ML with object-oriented programming, object-oriented ...
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 control i ...
, or a third-party
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
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 computer file, files used to configure the Parameter (computer programming), parameters and Initialization (programming), initial settings for some computer programs. T ...
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 applications ...
*
Comparison of BitTorrent clients The following is a general comparison of Glossary of BitTorrent terms#Client, BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent (protocol), BitTorrent protocol. The BitTorrent protocol co ...


References

General references *


Frontends


P2P-GUI (web interface)

Onager
(Palm OS)
Sancho

MuleDroid - 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