MLDonkey

Last updated
MLDonkey
Initial release2001;22 years ago (2001)
Stable release
3.1.7 [1]   OOjs UI icon edit-ltr-progressive.svg / 21 June 2020;3 years ago (21 June 2020)
Preview release none [±]
Repository
Written in OCaml, with some C and assembly
Operating system Microsoft Windows, OS X, Unix-like, MorphOS
Type P2P file sharing
License GPL-2.0-or-later
Website mldonkey.sourceforge.net

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.

Contents

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. [2]

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. [3]

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. [4]

Features

Features of MLdonkey core:

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 [5] 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; [6] however, it is still possible to compile them in by making the appropriate setting in the configuration file. [7]

See also

Related Research Articles

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.

<span class="mw-page-title-main">Shareaza</span> Peer-to-peer file sharing application

Shareaza is a peer-to-peer file sharing client running under Microsoft Windows which supports the gnutella, Gnutella2 (G2), eDonkey, BitTorrent, FTP, HTTP and HTTPS network protocols and handles magnet links, ed2k links, and the now deprecated gnutella and Piolet links. It is available in 30 languages.

eDonkey2000

eDonkey2000 was (is) a peer-to-peer file sharing application developed by US company MetaMachine, using the Multisource File Transfer Protocol. It supported both the eDonkey2000 network and the Overnet network.

giFT Internet File Transfer (giFT) is a computer software daemon that allows several file sharing protocols to be used with a simple client having a graphical user interface (GUI). The client dynamically loads plugins implementing the protocols, as they are required.

gtk-gnutella

gtk-gnutella is a peer-to-peer file sharing application which runs on the gnutella network. gtk-gnutella uses the GTK+ toolkit for its graphical user interface. Released under the GNU General Public License, gtk-gnutella is free software.

<span class="mw-page-title-main">Gnutella2</span>

Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002.

aMule

aMule is a free peer-to-peer file sharing utility that works with the eDonkey network and the Kad network, offering similar features to eMule and adding others such as GeoIP. On August 18, 2003 it was forked from the xMule source code, which itself is a fork of the lMule project, which was the first attempt to bring the eMule client to Linux. These projects were discontinued and aMule is the resulting project, though aMule has less and less resemblance to the client that sired it.

The eDonkey Network is a decentralized, mostly server-based, peer-to-peer file sharing network created in 2000 by US developers Jed McCaleb and Sam Yagan that is best suited to share big files among users, and to provide long term availability of files. Like most sharing networks, it is decentralized, as there is no central hub for the network; also, files are not stored on a central server but are exchanged directly between users based on the peer-to-peer principle.

GnucDNA was a software library for building peer-to-peer applications. It provides developers with a common layer to create their own Gnutella or Gnutella2 client or network. As a separate component, GnucDNA can be updated independently of the client, passing down improvements to the applications already using it.

<span class="mw-page-title-main">FrostWire</span> Free and open-source BitTorrent client

FrostWire is a free and open-source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including support for the BitTorrent protocol. In version 5, support for the Gnutella network was dropped entirely, and FrostWire became a BitTorrent-only client.

File sharing is a method of distributing electronically stored information such as computer programs and digital media. Below is a list of file sharing applications, most of them make use of peer-to-peer file sharing technologies.

<span class="mw-page-title-main">Transmission (BitTorrent client)</span> BitTorrent client

Transmission is a BitTorrent client which features a variety of user interfaces on top of a cross-platform back-end. Transmission is free software licensed under the terms of the GNU General Public License, with parts under the MIT License.

The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol.

A home server is a computing server located in a private computing residence providing services to other devices inside or outside the household through a home network or the Internet. Such services may include file and printer serving, media center serving, home automation control, web serving, web caching, file sharing and synchronization, video surveillance and digital video recorder, calendar and contact sharing and synchronization, account authentication, and backup services. In the recent times, it has become very common to run literally hundreds of applications as containers, isolated from the host operating system.

Peer-to-peer file sharing (P2P) systems like Gnutella, KaZaA, and eDonkey/eMule, have become extremely popular in recent years, with the estimated user population in the millions. An academic research paper analyzed Gnutella and eMule protocols and found weaknesses in the protocol; many of the issues found in these networks are fundamental and probably common on other P2P networks. Users of file sharing networks, such as eMule and Gnutella, are subject to monitoring of their activity. Clients may be tracked by IP address, DNS name, software version they use, files they share, queries they initiate, and queries they answer to. Clients may also share their private files to the network without notice due to inappropriate settings.

<span class="mw-page-title-main">Phex</span>

Phex is a peer-to-peer file sharing client for the gnutella network, released under the terms of the GNU General Public License, so Phex is free software. Phex is based on Java SE 5.0 or later.

<span class="mw-page-title-main">Lphant</span>

Lphant was a peer-to-peer file sharing client for the Microsoft Windows, Linux and Mac OS operating systems, which supports the eDonkey Network and the BitTorrent protocol. It was available in 19 languages. The name and logo of the original Lphant application has been replicated in a program called "Lphant 6.0".

<span class="mw-page-title-main">Resilio Sync</span> File synchronization software

Resilio Sync by Resilio, Inc. is a proprietary peer-to-peer file synchronization tool available for Windows, Mac, Linux, Android, iOS, Windows Phone, Amazon Kindle Fire and BSD. It can sync files between devices on a local network, or between remote devices over the Internet via a modified version of the BitTorrent protocol.

References

  1. "Release 3.1.7". 21 June 2020. Retrieved 21 March 2021.
  2. Fessant, Fabrice Le; Patarin, Simon (2003). Fabrice Le Fessant; MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program (report). INRIA.
  3. Mennecke, Thomas (January 17, 2003). "Rogue Clients and Overnet". Archived from the original on May 28, 2010. Retrieved January 9, 2010.
  4. Walker-Morgan, DJ (16 March 2009). "MLDonkey 3.0 closes security hole". H-online.
  5. "Latest cores (above 2.5.28) contain an experimental feature: swarming between networks".
  6. "OtherNetworksSupported - MLDonkey".
  7. "MLDonkey will no longer compile in Gnutella and G2 support by default". Archived from the original on 2009-01-14.

General references

Frontends