MLDonkey
Encyclopedia
MLDonkey is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, multi-protocol, peer-to-peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

 file sharing
File sharing
File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...

 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
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 client for the eDonkey
EDonkey network
The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

 protocol, it now runs on many flavors of Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 and MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...

 and supports numerous peer-to-peer protocols.

It is written in Objective Caml
Objective Caml
OCaml , originally known as Objective Caml, is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy and others in 1996...

, with some C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and even some assembly
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

.

History

Development of the software began in late 2001. The original developer of MLDonkey is Fabrice Le Fessant from INRIA
Institut national de recherche en informatique et en automatique
The National Institute for Research in Computer Science and Control is a French national research institution focusing on computer science, control theory and applied mathematics.It was created in 1967 at Rocquencourt near Paris, part of Plan Calcul...

. It was originally conceived as an effort to spread the use of Objective Caml in the open source community.

In January 2003, Slyck.com
Slyck.com
Slyck.com is a website dedicated to file sharing. It offers news, reviews, and opinion, and has a user forum.-History of Slyck:Slyck began operations as Slyway.com in 2000, owned by Ray Hoffman. During this time, Slyck was an aggregate news site with some original content. It also had guides to the...

 reported brief friction between MLDonkey developers and the official Overnet
Overnet
Overnet was a decentralized peer-to-peer computer network, usually used for sharing large files . Overnet implements the Kademlia algorithm. In late 2006, Overnet and all Overnet-owned resources were taken down as a result of legal actions from the RIAA and others...

 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:
    • eDonkey network
      EDonkey network
      The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

    • Overnet
      Overnet
      Overnet was a decentralized peer-to-peer computer network, usually used for sharing large files . Overnet implements the Kademlia algorithm. In late 2006, Overnet and all Overnet-owned resources were taken down as a result of legal actions from the RIAA and others...

    • BitTorrent
    • Kad Network
      Kad Network
      The Kad network is a peer-to-peer 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 on the eDonkey network in order to find an initial node...

    • Direct Connect
      Direct Connect (file sharing)
      Direct connect is a peer-to-peer file sharing protocol. Direct connect clients connect to a central hub and can download files directly from one another. Advanced Direct Connect can be considered a successor protocol....

    • HTTP/FTP
      File Transfer Protocol
      File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

  • Multiple control interfaces: telnet, web interface, third party GUIs.


Written in the Ocaml programming language and licensed under the GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

, the application separates the user interface (which can be a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

, telnet
TELNET
Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...

, or a third-party GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 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 files, or—in a more user friendly fashion—from a separate user interface.

From release 2.9.0 on, support for gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

 and G2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

 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
    Comparison of eDonkey software
    The following tables compare general and technical information for a number of available applications supporting the eDonkey network.- General :- Features :...

  • Comparison of BitTorrent clients

Frontends


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK