Mldonkey
Die Filesharing-Software Mldonkey (auch: MLDonkey) ist eine in der Programmiersprache Objective CAML geschriebene Peer-to-Peer-Software. Der Datenaustausch findet direkt zwischen den teilnehmenden Rechnern statt, ein zentraler Rechner kommt bei den meisten der folgenden unterstützten Filesharing-Protokolle nicht zum Einsatz:
- Bittorrent
- Directconnect
- Edonkey 2000
- Fasttrack (Kazaa)
- Gnutella
- Kademlia
- Overnet
- Soulseek
Ausserdem können Dateien auch über HTTP, FTP und SFTP bzw. SCP heruntergeladen werden.
Mldonkey wurde vor allem für Unix-basierte Systeme (GNU/Linux, verschiedene BSDs, Mac OS X/Darwin) entwickelt, inzwischen gibt es auch eine lauffähige Microsoft Windows-Portierung.
Konzept
Einer der grossen Unterschiede zu vergleichbaren Softwareanwendungen ( z. B. Kazaa, Lopster) ist die strikte Trennung in einen Kern und eine Oberfläche:
- Der Kern (engl. core) wickelt den eigentlichen Datenverkehr ab. Er läuft wie ein Daemon ressourcenschonend im Hintergrund.
- Die Benutzeroberfläche dient der Interaktion mit dem Benutzer. Hierzu stehen drei verschiedene Protokolle bereit:
- Über Telnet kann der Kern vollständig über die Befehlszeile gesteuert werden.
- Über HTTP mit einem Webbrowser auf die Weboberfläche zugegriffen werden (sofern das Programm am lokalen Rechner läuft über http://127.0.0.1:4080/)
- Über das eigene Mldonkey-GUI-Protokoll wird der Zugriff über verschiedene GUI-Clients ermöglicht.
Diese Trennung ist besonders geeignet, um den Kern von einem anderen Rechner aus zu steuern. Hierzu muss mittels einer der drei genannten Methoden eine Verbindung aufgebaut werden, um Befehle abzusetzen. Zum Herunterladen selbst ist keine Verbindung von der Benutzerschnittstelle zum Mldonkey-Kern nötig.
Mldonkey kann dieselbe Datei gleichzeitig aus dem Edonkey2000-Netzwerk und dem Overnet beziehen und dort anbieten, ist also ein Hybrid wie der offizielle Edonkey2000-Client.
Installation
Viele Linux-Distributionen bringen Mldonkey samt grafischer Oberfläche direkt mit. Debian und Ubuntu teilen das Programm in die Pakete "mldonkey-server" (der Kern) und "mldonkey-gui", Opensuse nennt die entsprechenden Pakete "mldonkey" und "mldonkey-gui". Stellt die Distribution keine eigenen Pakete bereit, so können die vorkompilierten Dateien von der Mldonkey-Website verwendet werden.
Vorbedingungen
- gd, gd-devel
- m4
- zlib, zlib-devel
Konfiguration
Ubuntu konfiguriert den Kern standardmässig so, dass er bei jedem Systemstart automatisch mit hochkommt. Um den Kern jeweils händisch zu starten, wird er unter Ubuntu im Menü "System > Systemverwaltung > Dienste" entfernt und mit folgendem Befehl gestartet.
$ sudo /etc/init.d/mldonkey-server force-start
Bei anderen Distributionen oder wenn der Kern händisch installiert wurde genügt folgender der Aufruf:
$ mlnet -daemon
Damit das Peer-to-Peer-Filesharing wirklich vom und zum eigenen Rechner funktioniert, muss anderen Rechnern erlaubt werden, sich aus dem Internet mit dem eigenen Rechner zu verbinden.
- Bei Verwendung einer Personal Firewall müssen die vom gewünschten Filesharing-Netz verwendeten Ports dort für eingehende Verbindungen freigeschaltet werden.
- Der Router muss mit Hilfe der Portforwarding-Funktion so eingestellt werden, dass er Anfragen an den Zielrechner im lokalen Rechneretz weiterreicht.
Die Portnummern hängen davon ab, welche Filesharing-Protokolle genutzt werden sollen. Eine Liste der Ports für die von Mldonkey unterstützten Protokolle findet sich auf folgender Seite:
Eine Nutzung der Filesharing-Netze ist zwar auch ohne die Freigabe dieser Ports möglich. Allerdings hat das dann nichts mehr mit Tauschen zu tun, sondern nur noch mit hemmungslosem Saugen, das die Infrastruktur der Netze belastet. Das Edonkey2000-Netz etwa straft solche Benutzer zu Recht mit geringeren Privilegien beim Herunterladen.
Befehle
Es gibt drei Wege, um mit dem Mldonkey-Client zu kommunizieren. In allen Fällen kann der Client auf dem einen Rechner laufen und von einem anderen Rechner aus gesteuert werden.
Verwendung der grafischen Oberfläche "mldonkey_gui" auf demselben Rechner, auf dem der Mldonkey-Client läuft.
$ ./mldonkey_gui localhost
Verwendung des Befehlszeilen-Clients auf demselben Rechner, auf dem der Mldonkey-Client läuft.
$ telnet localhost 4000
Verwendung eines Webbrowsers (hier lynx) auf demselben Rechner, auf dem der Mldonkey-Client läuft. Durch entsprechende Konfiguration kann diese Weboberfläche von jedem beliebigen Rechner aus erreicht werden. Erwähnenswert ist das Mozilla Firefox-Addon "Firefox Protocol Handler", mit dem auf Filesharing-Protokolle zeigende Links auf Webseiten zum Start des Herunterladens über Mldonkey führen.
$ lynx http://localhost:4080/
Verfügbare Befehle sind die folgenden.
Befehl | Beschreibung |
---|---|
Driver/Downloads | |
cancel <num> | Abbrechen aller Downloads. (Verwendung des Arguments "all" für alle Dateien) |
commit | Verschieben der heruntergeladenen Dateien ins Verzeichnis "incoming". |
confirm <yes|no|what> | Bestätigen des Abbruchs. |
dllink <link> | Herunterladen eines ED2K-, sig2dat-, Bittorrent- oder anderen Links. |
dllinks <datei> | Herunterladen aller in der Datei enthaltenen Links. |
downloaders | Anzeige einer Liste der herunterladenden Rechner. |
pause <num> | Pausieren eines Downloads. (Verwendung des Arguments "all" für alle Dateien) |
preview <dateinummer> | Starten des Vorschaubetrachters für die Datei <dateinummer>. |
priority <priority> <files numbers> | Ändern der Dateipriorität. |
rename <zahl> "<neuer name>" | Ändern des Namens des Downloads <zahl> zu <neuer name>. |
resume <num> | Wiederaufnehmen eines pausierten Downloads. (Verwendung des Arguments "all" für alle Dateien) |
test_recover <num> | print the segments downloaded in file |
vd <num> | Anzeige von Dateiinformationen. |
verify_chunks <num> | verify chunks of file <num> |
Driver/Friends | |
files <client num> | print files from friend <client num> |
friend_add <client num> | add client <client num> to friends |
friend_remove <client nummer> | Entfernen von Freund <client nummer>. (Verwendung des Arguments "all" für alle Dateien) |
friends | Anzeige aller Freunde. |
gfr <client num> | ask friend files |
vfr | Ansehen der Freunde. |
Driver/General | |
activity <minuten> | Anzeige der Aktivität in den letzten <minuten> Minuten. |
add_url <kind> <url> | load this file from the web. kind is either server.met (if the downloaded file is a server.met) |
add_user <user> <passwd> | Hinzufügen eines neuen Mldonkey-Benutzers. |
calendar_add <hour> "<command>" | add a command to be executed every day |
dump_heap | dump heap for debug |
kill | save and kill the server |
message | message [<client num> <msg>] |
message_log | message_log [refresh delay in seconds] |
q | close telnet |
recover_temp | recover lost files from temp directory |
vc <num> | view client (use arg 'all' for all clients) |
version | print mldonkey version |
Driver/Network | |
! <cmd> | start command <cmd> (must be allowed in 'allowed_commands' option or by 'allow_any_c ommand' if arguments) |
bw_stats | print current bandwidth stats |
nu <m> | disable upload during <m> minutes (multiple of 5) |
Driver/Networks | |
disable <num> | disable a particular network |
enable <num> | enable a particular network |
networks | print all networks |
Driver/Options | |
options | print options values by section |
save | save |
set <option_name> <option_value> | change option value |
vo | display options |
voo | print all options |
Driver/Searches | |
d <num> | file to download |
force_download | force download of an already downloaded file |
forget <num1> <num2> ... | forget searches <num1> <num2> ... |
ls <query> | search for files locally With special args: |
s <query> | search for files on all networks With special args: |
view_custom_queries | view custom queries |
vr [<num>] | view results of a search |
vs | view all queries |
Driver/Servers | |
c [<num>] | connect to more servers (or to server <num>) |
rem <server numbers> | remove server (use arg 'all' for all servers) |
server_banner <num> | print banner of connected server <num> |
vm | list connected servers |
vma | list all known servers |
x <num> | disconnect from server |
Driver/Sharing | |
links | list links of shared files |
reshare | check shared files for removal |
share <priority> <dir> [<strategy>] | share directory <dir> with <priority> [and sharing strategy <strategy>] |
shares | print shared directories |
unshare <dir> | share directory <dir> |
uploaders | show users currently uploading |
upstats | statistics on upload |
Driver/Xpert | |
ansi | toggle ansi terminal (devel) |
block_list | display the list of blocked IP ranges that were hit |
block_test <ip> | check whether an IP is blocked |
clear_debug | clear the table of clients being debugged |
close_all_sockets | close all opened sockets |
close_fds | close all files (use to free space on disk after remove) |
close_log | Beende Protokollierung in Datei |
daemon | detach process from console and run in background |
debug_client <client nums> | debug message in communications with these clients |
debug_file <client nums> | debug file state |
debug_socks | for debugging only |
html_mods | toggle html_mods |
html_mods_style | select html_mods_style <#> |
html_theme <theme> | select html_theme |
log | dump current log state to console |
log_file file | Beginne Protokollierung in Datei "file" |
mem_stats | print memory stats |
reload_messages | reload messages file |
stdout <true|false> | reactivate log to stdout |
term <width> <height> | set terminal width and height (devel) |
use_poll <bool> | use poll instead of select |
Network/Bittorrent | |
compute_torrent <filename> | generate the corresponding <filename>.torrent file in torrents/tracked/. The file is automatically tracked, and seeded if in incoming/ |
torrents | print all .torrent files on this server |
Network/Donkey | |
client_stats | show breakdown of download/upload by clients brand |
cs | show table of download/upload by clients brand |
csm | show table of download/upload by eMule MODs |
dump_reliability | display the reliability of sources |
Network/Edonkey | |
add_url <kind> <url> | load this file from the web. kind is either server.met (if the downloaded file is a server.met) |
afr <ip> [<port>] | add a friend |
bp <port1> <port2> ... | add these ports to the port black list |
bs <ip1> <ip2> ... | add these IPs to the servers black list |
clh | clear local history |
comment <md4> "<comment>" | add comment on a md4 |
comments <filename> | load comments from file |
dd <size> <md4> | download from size and md4 |
dup | find duplicate chunks (experimental) |
id | print ID on connected servers |
import <dirname> | import the config from dirname |
import_temp <temp_dir> | import the old edonkey temp directory |
load_old_history | load history.dat file |
n <ip> [<port>] | add a server |
port <port> | change connection port |
recover_bytes <f1> <f2> ... | try to recover these files at byte level |
remove_old_servers | remove servers that have not been connected for several days |
scan_temp | print temp directory content |
send_servers | send the list of connected servers to the redirector |
servers <filename> | add the servers from a server.met file |
set_brothers <f1> <f2> ... | define these files as probably colocated |
sources | show sources currently known |
vu | view upload credits |
xs | extend the last search |
Network/FileTP | |
http <url> | start downloading this URL |
mirror <url> | start downloading this URL |
Network/G2 | |
g2stats | print stats on G2 network |
Network/Gnutella | |
gstats | print stats on Gnutella network |
Network/Overnet | |
boot <ip> <port> | add an Overnet peer |
ovlink <fhalink> | download fha://link |
ovmd4 | get client MD4 address on the overnet network |
ovsearch | search keyword (<md4>) |
ovstats | Overnet Stats |
ovstore | dump the Overnet File Store |
ovtst | (not documented) |
ovtst2 | (not documented) |
ovweb <urls> | download .ocl URLS (no arg load default) |
send_udp | send UDP message (<ip> <port> <msg in hex>) |
Verwendung
Starten von Mldonkey.
$ mlnet > /dev/null 2>&1 &
Mldonkey kann danach im lokalen Webbrowser über "http://localhost:4080/" aufgerufen werden.
MLDonkey created a new home directory in /home/mik/.mldonkey --Buildinfo-- Version: MLNet Multi-Network p2p client version 2.7.4 Networks: Global Shares Gnutella G2 Fasttrack FileTP BitTorrent Donkey (SUI) Ocaml version: 3.09.1 - C compiler version: 4.0.2 - C++ compiler version: 4.0.2 Build on: Linux i686 2.6.13-15.8-default (little endian) with glibc 2.3.5 Configure args: --enable-batch --enable-gui Features: threads zlib-1.2.3 bzip2-1.0.3 gd(jpg/png-1.2.8) iconv no-check-bounds --Runinfo-- User: admin (Warning: empty Password) - uptime: 0m 13s Enabled nets: Donkey Overnet BitTorrent FileTP Server usage: enabled Geoip: disabled, to enable adjust web_infos in downloads.ini for automatic download IP blocking: disabled, to enable adjust web_infos in downloads.ini for automatic download System info: Linux kanzler 2.6.13-15.8-default #1 Tue Feb 7 11:07:24 UTC 2006 i686 language: DE - locale: ISO-8859-1 - UTC offset: +0100 max_string_length: 16777211 - word_size: 32 - max_array_length: 4194303 max file descriptors: 1024 - max useable file size: 2^63-1 bits (do the maths ;-p)
Links
Einige Netzwerke (darunter Edonkey, Overnet und Bittorrent) arbeiten mit Links, die im WWW gefunden werden können. Diese Links zeigen gewissermassen auf die herunterzuladende Datei. Andere Netzwerke (darunter Gnutella, Soulseek und Fasttrack können diese Links nicht verwenden. Hence, mlnet search feature needs to be used within xDonkey.
Edonkey / Overnet
Ein Edonkey-Link sieht wie folgt aus.
ed2k://|file|XDonkey.dmg|4095788|d9224da0048123a9f1e6eb4751c22347|
Mit Hilfe des Plugins Mozilla Mldonkey Protocol Handler können die ed2k-Links direkt aus dem Webbrowser Firefox an Mldonkey geschickt werden. Dafür müssen allerdings unter "about:config" folgende Parameter gesetzt werden.
extensions.mldonkey.mode {mldonkey/emule} extensions.mldonkey.pass extensions.mldonkey.port extensions.mldonkey.server
Leider gibt es zur Zeit (24. Juli 2008) keine Version dieses Plugins, das mit Firefox 3.0.1 zusammenarbeitet - die Plugin-Version 2.3 taugt leider nicht.
Eine andere Möglichkeit, an gültige Server zu kommen, ist die Eingabe der folgenden Zeile in die Mldonkey-Befehlszeile.
urladd server.met http://www.gruk.org/server.met 36
Siehe dazu auch:
- ServerList (Mldonkey.Sourceforge.net)
Overnet-Link
Ein Overnet-Link sieht wie folgt aus.
fha://|file|XDonkey.dmg|4095788|d9224da0048123a9f1e6eb4751c22347|
Um einen Link in Mldonkey zu importieren, muss er erst in die Zwischenablage kopiert und dann ins Feld "ed2klink" der Schaltfläche "Search" eingefügt werden. bevor auf "Download" geklickt werden kann.
Bittorrent
Das Bittorrent-Netzwerk erlaubt keine Suche. Hier wird entweder eine besondere Datei mit der Endung ".torrent" benötigt oder man braucht die genaue Internetadresse der Datei, um sie herunterladen zu können. Um das Herunterladen zu beginnen, muss die Internetadresse der Datei oder ihr Pfad in das "e2dklink" der Schaltfläch "Search" eingegeben werden.
Beispiel (wobei sich die Datei "xxx.torrent" auf dem eigenen Desktop befindet).
http://xdonkey.macdk.net/dl/XDonkey.torrent /home/abc/Desktop/xxx.torrent
HTTP
Zum Herunterladen einer HTTP-Hyperlinks wird in die Mldonkey-Befehlszeile folgendes eingegeben.
http http://xdonkey.macdk.net/dl/XDonkey.dmg
FTP
Zum Herunterladen eines FTP-Hyperlinks wird in die Mldonkey-Befehlszeile folgendes eingegeben.
http ftp://xdonkey.macdk.net/dl/XDonkey.dmg
FAQ
Not replacing deleted config file
Bei der Installation kann folgender Fehler auftreten: "Not replacing deleted config file /etc/default/mldonkey-server".
mik@esel:~$ sudo apt-get install mldonkey-server [sudo] password for mik: Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Reading state information... Fertig Vorgeschlagene Pakete: makejail Die folgenden NEUEN Pakete werden installiert: mldonkey-server 0 aktualisiert, 1 neu installiert, 0 zu entfernen und 8 nicht aktualisiert. Es müssen noch 0B von 2582kB Archiven geholt werden. After this operation, 6545kB of additional disk space will be used. Vorkonfiguration der Pakete ... Wähle vormals abgewähltes Paket mldonkey-server. (Lese Datenbank ... 16199 Dateien und Verzeichnisse sind derzeit installiert.) Entpacke mldonkey-server (aus .../mldonkey-server_2.9.2-2build1_i386.deb) ... Richte mldonkey-server ein (2.9.2-2build1) ... Not replacing deleted config file /etc/default/mldonkey-server
Das liegt an einer vorausgehenden unvollständigen Deinstallation (z. B. per Hand) des Pakets "mldonkey-server". Mit folgendem Befehl wird das Paket "mldonkey-server" vollständig entfernt. Wichtig ist vor allem der Schalter "--purge", denn "remove" allein genügt nicht!
mik@esel:~$ sudo apt-get remove --purge mldonkey-server Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Reading state information... Fertig The following packages were automatically installed and are no longer required: libgd2-noxpm libjpeg62 libfreetype6 Verwenden Sie »apt-get autoremove«, um sie zu entfernen. Die folgenden Pakete werden ENTFERNT: mldonkey-server* 0 aktualisiert, 0 neu installiert, 1 zu entfernen und 8 nicht aktualisiert. After this operation, 6545kB disk space will be freed. Möchten Sie fortfahren [J/n]? J (Lese Datenbank ... 16301 Dateien und Verzeichnisse sind derzeit installiert.) Entferne mldonkey-server ... Lösche Konfigurationsdateien von mldonkey-server ... Not removing MLDonkey directory (/var/lib/mldonkey, /var/run/mldonkey), user and group. Remove it manually if needed. Not removing MLDonkey directory (/var/lib/mldonkey, /var/run/mldonkey), user and group. Remove it manually if needed.
Danach ist eine ganz gewöhnliche Installation wieder möglich.
mik@esel:~$ sudo apt-get install mldonkey-server Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Reading state information... Fertig Vorgeschlagene Pakete: makejail Die folgenden NEUEN Pakete werden installiert: mldonkey-server 0 aktualisiert, 1 neu installiert, 0 zu entfernen und 8 nicht aktualisiert. Es müssen noch 0B von 2582kB Archiven geholt werden. After this operation, 6545kB of additional disk space will be used. Vorkonfiguration der Pakete ... Wähle vormals abgewähltes Paket mldonkey-server. (Lese Datenbank ... 16184 Dateien und Verzeichnisse sind derzeit installiert.) Entpacke mldonkey-server (aus .../mldonkey-server_2.9.2-2build1_i386.deb) ... Richte mldonkey-server ein (2.9.2-2build1) ... Creating config file /etc/default/mldonkey-server with new version Starting MLDonkey: mlnet.
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Sourceforge | eng | MLdonkey Project Wiki : the official Wiki of MLDonkeywbm | Offizielle Homepage |
Mldonkey.org | ger | Deutsches MLDonkey Projekt Wikiwbm | |
Mldonkey.org | ger | Mldonkey.org : offizielle deutsche Communitywbm | |
CBMaurice | eng | OCBMauricewbm |
Serverliste |
Alexander Schmidt | ger | Server List for eDonkey and eMulewbm |
Serverliste |
Wikipedia | ger | MLDonkeywbm | Enzyklopädischer Artikel |
Alte Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
eng | mldonkey.dyndns.info : your MLDonkey file archive http://mldonkey.dyndns.info/ |