Gui
Contents |
Technical background
Unlike most P2P clients, such as eDonkey2000, MLdonkey application does not contain user interface; it's merely a P2P engine built for exchanging files, and interaction with the user is left to the UserInterfaces. Albeit it might seem to be inconvenient at the first glance, such an open architecture actually provides great flexibility, allowing third parties to implement and customize the way MLdonkey's status displays look to the end user.
Another benefit of having core separated from the user interface is remote manageability. It doesn't make any difference whether the core and the interface part are running on the same computer or on two boxes half the world apart, or even what operating system do these machines run. This architecture allows you to go on vacation without losing control over the whole download process, taking a peek at what's going on back at home by the means of a web browser, telnet or even WAP-enabled cellphone.
Yet another way to monitor the progress of your downloads is by utilizing one of numerous MLdonkey Guis. While it lacks the universality (you'll have to install the program on the computer you're going to perform the monitoring from), it's so far the prettiest looking one.
MLdonkey Gui clients
- Sancho - Excellent Java multiplatform GUI for mldonkey
- KMLdonkey - a nice GUI for KDE, written in C++
- MLdonkeyGtkUi - The original mldonkey GUI (comes with CVS)
- G2Gui - Written with the purpose of providing a nice GUI for beginners (dead)
- CocoDonkey - a GUI for Mac OS X, written in Cocoa
- xDonkey - an other most recent GUI for Mac OS X, written in Cocoa
- mlMac - Nice GUI for Mac OS X, written in Cocoa
- Nulu GUI ML - GUI for Android, written in Java Android
- MLdonkeyWatch - Nice Delphi app for MS Windows
- phpEselGui - a GUI for mldonkey written in PHP
- saman - Another GUI for mldonkey written in PHP
- Platero - A mldonkey GUI for KDE
- Alemula - Another mldonkey GUI in PHP
- Zuul - PHP Front-End for mldonkey
- JMoule - A very simple GUI written in Java
- Web-GMUI - A web GUI included in a simple webserver
- Rmldonkey -A Multiplatform GUI written on JRuby and Swing
Client Information
General Information | Features | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Latest Release | Active Development | Linux/Unix | Windows | MacOSX | Other | Connection | Language | Launch/Kill Core | Charts | Chat | Multi Language | Customize |
Alemula | 0.5 (2003-04-29) | No | Yes | ? | ? | ? | PHP | ? | ? | No | ? | ? | |
CocoDonkey | 0.25 (2003-01-01) | No | No4 | No | Yes | Telnet | ? | Yes | Yes | No | No | No | |
G2Gui | 0.3.0 | No | Yes | Yes | ? | GUI-Protocol | Java | ? | ? | ? | ? | ? | |
JMoule | 0.3 | No | Yes | Yes | Yes | GUI-Protocol | Java | No | No | No | No | Yes | |
KMLdonkey | 2.0.2 | Yes | Yes | ? | ? | GUI-Protocol | QT4/C++ | no/yes | No | No | Yes | Yes | |
MLAndroid | ? | Yes | No | No | No | Android | ? | Java (Dalvik) | No | No | No | ? | ? |
MLdonkeyGtkUi | as MLDonkey | Yes | Yes | ? | ? | GUI-Protocol | GTK+/OCaml | ? | ? | ? | ? | ? | |
MLdonkeyWatch | 2.00-20030409 | No | No2 | Yes | No | GUI-Protocol | Delphi | no/yes | Yes | Yes | No | No | |
mlMac | 0.7.5 | No | No4 | No | Yes | GUI-Protocol | Cocoa | Yes | No | No | Yes | No | |
Nulu GUI ML | 1.0.1 (2011-08-30) | Yes | No | No | No | Android | GUI-Protocol | Java (Dalvik) | No | No | No | ? | No |
phpEselGui | 0.6.2.pre1 | No | Yes | ? | ? | Telnet | PHP | no/yes | Yes | No | No | Yes | |
Platero | 0.2 | No | Yes | No | No | GUI-Protocol | QT3/C++ | ? | Yes | Yes | ? | ? | |
Rmldonkey | 0.62 (2014-06-19) | Yes | Yes | Yes | Yes | Telnet | JRuby/Swing | No | No | No | No | No | |
saman | 2003-05-06 | No | Yes | Yes | Yes | Telnet | PHP | no/yes | No | No | Yes | Yes | |
Sancho | 0.9.4-59 | ? | Yes | Yes | Yes5 | GUI-Protocol | Java | Yes | No | Yes1 | Yes | No | |
Web-GMUI | 0.2.8 | No | Yes | Yes | ? | GUI-Protocol | D | no/yes | No | No | No | Yes | |
WebUI | as MLDonkey | Yes | Yes | Yes | Yes | web | HTTP | OCaml | no/yes | No | Yes6 | Yes | Yes3 |
xDonkey | 1.5 | No | ? | No | Yes | GUI-Protocol | Cocoa | ? | ? | ? | ? | ? | |
Zuul | 1.4 | No | Yes | ? | ? | Telnet | PHP | ? | ? | ? | ? | ? |
Note 1: irc, yahoo
Note 2: works with wine
Note 3: via CSS
Note 4: may work with GNUstep
Note 5: needs the x11 environment
Note 6: chat in directconnect network
Further Discussion
- Please help to fill the gaps or add new features.
- The phpEselGUI connects to the core on the telnet port (4000) and parses the output of the telnet session to get the necessary information. (is this still true? ... Yes, it is true, we are thinking to change)
- Using the telnet approach might seem to be an easier task than implementing the GuiProtocol at first, but it can get quite tedious to maintain the code when the telnet output changes across versions.