Autrefois, mldonkey était un client eDonkey pour Linux, construit d'après une version en ingénierie inversée du protocole. Maintemant, il est aussi capable de se connecter à de multiples réseaux (gnutella, Direct-Connect, Soulseek, etc.).
MLdonkey s'éxécute sur de nombreux clones d'Unix: Linux (x86, alpha, sparc), Mac OS X, Solaris x86, Free/OpenBSD, etc.
Il s'éxécute comme un daemon, en fond de tâche, qui peut éxécuter, télécharger et partager des fichiers, 24 heures sur 24. Vous pouvez interagir avec votre daemon mldonkey, à la fois localement ou à distance, par une interface telnet, une interface WEB ou une interface graphique GTK. D'autres interfaces graphiques ont aussi été crées pour mldonkey.
La plupart des programmeurs associent les languages fonctionnels avec la théorie des langages, le calcul lambda, la récursivité, et les variables non mutables, autrement dit, les plus ennuyeuses conférences à l'université.
Heureusement, Objective-Caml n'est pas seulement un langage fonctionnel : il fournit aussi beaucoup d'autres paradigmes de programmation, tels que des constructions impératives (while and for loops, variables mutables, enregistrements), constructions orienté-objet, et une puissante interface C. De plus, son compilateur de code natif vérifie soigneusement votre programme aux erreurs de frappe (plus jamais d'erreurs de segmentation !), et produit un code très efficace (aussi rapide que C dans de nombreux exemples).
Si vous ne me croyez pas, vérifiez par les liens suivants:
Le premier endroit est le Site du Projet MLdonkey où vous pourrez trouver:
Vous pouvez aussi essayer de lire/envoyer des messages dans les Forums eDonkey Linux.
Les derniers binaires stables peuvent être téléchargés depuis la page de Téléchargement du Projet.
Si vous voulez une version plus récente de mldonkey, vous avez besoin d'aller voir les sources depuis les CVS, et les compiler vous-même. Voir Compiler Mldonkey pour l'aide.
MLdonkey ne tourne pas très bien sous Cygwin sous Windows. De plus, Il n'y a pas de port natif de MLdonkey pour Windows, donc vous ne pourrez pas le faire tourner sur ces systèmes.
Si vous avez quelques connaissances de MinGW, vous pourriez essayer de compiler Objective-Caml et mldonkey. Il tournerai probablement mieux que sous Cygwin. Notez que mldonkey ne se sert pas des files, et que l'appel sélectif n'est utilisé que pour trancher entre les branchements (lire/écrire/connecter/accepter).
Si vous utilisiez MLdonkey 1.16, vous pouvez être interessé pour savoir ce qu'il y a de neuf avec MLdonkey 2.00. Voici les principales améliorations :
mldonkey installera ses fichiers de configuration dans le répertoire où vous le démarrez. Donc, premièrement, choisisez le bon répertoire, où vous voulez qu'il s'éxécute. Alors, copiez le fichier "servers.ini" qui est dans la distribution dans ce repertoire. Je suppose ici que mldonkey est démarré dans son propre repertoire. Démarrer mldonkey avec:
./mldonkeyCela devrait afficher des informations de débuggage. NE FERMEZ PAS LE TERMINAL OU IL A ETE LANCE, ou alors il pourrait être bloqué en attente d'écriture sur la sortie du terminal. Une fois que vous êtes sûr qu'il fonctionne correctement, vous pouvez détourner les informations de débuggage dans un fichier (mais il peut devenir très gros) ou mieux dans /dev/null, pour la prochaine fois que vous le démarrez :
./mldonkey &> /dev/null
Vous avez trois façons différentes pour contrôler le daemon mldonkey (notez que, par défaut, mldonkey est configuré pour n'accepter que les connections de contrôle du serveur qui éxécute mldonkey (plus d'info)):
telnet localhost 4000où localhost est le serveur éxécutant mldonkey et 4000 est le port par défaut de l'interface telnet.
http://localhost:4080/où localhost est le serveur éxécutant mldonkey et 4080 est le port par défaut de l'interface WEB.
MLdonkey crée ses fichiers de configuration dans le répertoire où il est démarré. Tous sont terminés par une extension .ini. Vous ne pouvez pas les modifier tant que mldonkey s'éxécute car il les écrase périodiquement. A la place, vous devriez l'arréter, ou modifier les options en utilisant une des interfaces.
Il y a deux options dans le fichier downloads.ini: max_hard_upload_rate et max_hard_download_rate. Mettre ces options à 0 signifie qu'il n'y a pas de limites. Elles sont exprimées en kilobytes/seconde (pas en kilobits/seconde !). La limite d'upload s'applique à la fois aux fichiers qui sont downloadés sur vous, et aux messages que vous envoyez pour demander des fichiers: faites attention de ne pas trop limiter votre upload !
Faible Utilisation de la Bande-Passante | Forte Utilisation de la Bande-Passante | |||
Votre Type de Connection | max_hard_upload_rate | max_hard_download_rate | max_hard_upload_rate | max_hard_download_rate |
T1 et plus | 50 | 0 | 0 | 0 |
Cable/ADSL 512/128 kbs | 2 | 6 | 6 | 12 |
Il y a deux cas:
Les fichiers actuellement téléchargés sont placés temporairement dans le répertoire temp/ spécifié dans les fichiers de configuration de mldonkey. Les fichiers contenus dans ce répertoire sont identifiés par leur MD4 (pour les fichiers edonkey) ou par un identifiant aléatoire.
Quand le téléchargement d'un fichier est terminé, le fichier est ajouté dans une liste de fichers qui doit être "remis". Ces fichiers ne sont pas renommés, et sont donc par conséquent encore gardés dans le répertoire temp.
Pour déplacer les téléchargements achevés vers le répertoire incoming/ avec leur nom final, il est nécessaire d'utiliser la commande commit par telnet, ou le boutton "Save"/"Sauvegarder" de l'interfeace graphique.
Quand mldonkey reçoit des données d'un fichiers du réseau, il essaye d'écrire ces données dans le fichier contenu dans le répertoire temp. Si, pour quelque raison que ce soit, il ne peut écrire ces données, il met automatiquement en pause le fichier.
Cela peut arriver pour différentes raisons :
Si vous voulez accéder à l'interface WEB (port 4080) à travers un pare-feu, et que le pare-feu n'autorise que le port 80, et vous ne voulez pas éxécuter mldonkey en tant que root, vous pouvez configurer le serveur WEB apache pour rediriger les requêtes à mldonkey :
Editez votre "httpd.conf" : Insérez les lignes suivantesquelque part dans la "Section 2: main server configuration" :
RewriteEngine on ProxyRequests on RewriteRule /mldonkey http://localhost:4080/$1 [P,L] RewriteRule /(submit.*) http://localhost:4080/$1 [P,L] RewriteRule /(files.*) http://localhost:4080/$1 [P,L] ProxyPassReverse /(.*) http://localhost:4080/$1où, évidemment, localhost est votre hôte mldonkey, et 4080 est le http_port de mldonkey.
Avec ces règles, http://aaa.bbb.ccc.ddd/mldonkey, où aaa.bbb.ccc.ddd est l'adresse IP de l'hôte qui héberge le serveur apache, devrait se connecter à votre mldonkey.
Vous utilisez probablement les binaires statiques ("static") de l'interface graphique de mldonkey. Téléchargez les binaires partagés ("shared") depuis le site, et utilisez cette interface graphique. Ce bug est causé par une incompatiblité entre la bibliothèque GTK attachée statiquement and les préférences installées sur votre distribution.
Vous avez besoin de modifer l'option "allowed_ips" (ips_autorisés) dans le fichier downloads.ini à chaque hôte autorisé à contôler le noyau de mldonkey.
Vous pouvez d'une première façon arrêter mldonkey, et éditer le fichier download.ini :
allowed_ips = ["127.0.0.1"; "192.168.255.255"; "65.64.43.63"]par exemple permet à votre serveur local (127.0.0.1) de contrôler mdonkey, tous les clients du réseau 192.168.*.*, et le client 65.64.43.63.
Si vous ne voulez pas arrêter mldonkey, connectez vous juste locallement par telnet et tapez :
set allowed_ips "127.0.0.1 192.168.255.255 65.64.43.63"
Il y a deux cas à conidérer :
Vous avez mis un mot de passe dans le noyau pour y accéder par l'interface graphique : vous devez aussi entrer le mot de passe dans l'interface graphique (utilisez le menu Files :: Settings pour cela).
Vous avez deux interfaces graphiques conectées au même noyau : le noyau (1.99 ou plus) n'autorise la connection que d'une interface graphique à la fois. Quand vous connectez, il déconnecte immédiatement la précédente interface graphique. Cela ne peut marcher que si la précédente interface graphique n'essaye pas de se reconnecter automatiquement : mldonkey_gui ne se reconnectera pas, mais peut-être utilisez-vous une autre interface graphique, laquelle peut essayer de se reconnecter automatiquement, et fait déconnecter votre interface graphique ? Alors, demandez à son auteur de supprimer cette caractéristique ou de mettre une option qui la désactive.
Vérifiez les sources de mldonkey depuis le dépôt CVS : CVS repository.
Voici la procédure standard :
cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/mldonkey login (password: tapez juste entrée) cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/mldonkey co mldonkey
Vous avez besoin de ocaml-3.06 (site d'Ocaml) installé pour le code et lablgtk compilé en code natif avec ocaml 3.06 pour l'interface graphique GTK.
La manière la plus simple est de télécharger les binaires pour votre système. Autrement, utilisez les lignes suivantes pour les installer :
Installer Objective-Caml 3.06 dans /usr/local/bin
~/tmp> tar zxf ocaml-3.06.tar.gz ~/tmp> cd ocaml-3.06 ~/tmp/ocaml-3.06> ./configure ~/tmp/ocaml-3.06> make world opt opt.opt ~/tmp/ocaml-3.06> make install
LablGTK 1.2.3 par exemple
~/tmp> tar zxf lablgtk-1.2.3.tar.gz ~/tmp> cd lablgtk-1.2.3 ~/tmp/lablgtk-1.2.3> make configure ~/tmp/lablgtk-1.2.3> make ~/tmp/lablgtk-1.2.3> make opt ~/tmp/lablgtk-1.2.3> make install
N'oublez pas le "make opt" qui est requis pour avoir une version en code natif des bibliothèques.
Pour compiler le noyau, vous avez juste à utiliser les commandes suivantes :
cd mldonkey ./configure [...options...] make depend make
Vous devez maintenant avoir un éxécutable "mldonkey"... Aucun "make install" n'est nécessaire.
Si vous avez des erreurs étranges du make, vous avez certainement besoin d'utiliser "gmake" sur votre système.
Vous pouvez utiliser les options suivantes pour la configuration :
Après une mise à jour depuis le CVS, vous DEVEZ redémarrer le script de configuration, et recompiler les dépendances :
cd mldonkey cvs login cvs -z3 up -d ./configure [...options...] make depend make
Si les messages d'erreur sont liés à calmzip, un moyen de les éviter est d'éditer manuellement le fichier config/Makefile.config, et changer la ligne ZLIB=no et SOULSEEK=no (seul soulseek requiert camlzip).
Le réseau eDonkey est un réseau spécialisé dans le partage de fichiers vraiment gros (entre 0 et 1.4GB).
Ce réseau offre un ensemble de caractéristiques qui ne peut être trouvé sur d'autres réseaux :
servers "/mnt/windows/bureau/edonkey server list/server.met"
import "/home/bidule/edonkey"
Il y a deux types de sites WEB où vous pouvez trouver des liens ed2k:// vers des fichiers sur eDonkey :
Etre connécté à plusieurs serveurs peut être utile pur répendre les fichiers que vous être en train de partager, et initiallement pour trouver plus de sources pour commencer un téléchargement.
Cependant, chaque serveur su lequel vous êtes connécté n'est pas accessible pour d'autres utilisateurs. Pour cette raison, vous ne devez pas rester connecté à trop de serveurs. mldonkey impose cette restriction en limittant à 5 le nombre de serveurs sur lesquels vous restez longtemps connecté, quelque soit la valeur de max_connected_servers.
Donc vous ne devez voir simplement max_connected_servers que comme le nombre de serveurs auquel mldonkey essaye de se connecter de façon concurrente au démarrage, et non comme le nombre de serveurs auquel il restera connécté.
Overnet est un réseau qui se sert du même protcole de téléchargement que edonkey, mais un protocole de recherche/localisation différent, qui ne nécessite pas de serveur.
MLdonkey 2.00 est capable de rechercher des fichiers et des sources sur Overnet. Pour cela, vous devez vous assurer que :
vous avez une liste (réçente) de peers (clients Overnets comme vous) auquels vous pouvez vous connecter. Pour cela, vous pouvez :
Vous pouvez utiliser la commande "ovstats", pour afficher à combien de peers vous avez été capable de vous connecter (en fait, ils répondent par un paquet UDP de connection).
Si vous avez activé "overnet_search_keywords", les réponses aux recherches peuvent arriver de peers Overnet. Ces résultats ne sont pas très précis (ils n'ont besoin de correspondre qu'avec un seul des mots clés, au lieu de tous par exemple).
Comme pour tous les réseaux, vous pouvez choisir d'activer un filtrage postérieur des résultats (très utile pour Gnutella aussi) : mettez l'option "filter_search" à "true", et peut-être aussi l'option "filter_search_delay" (période entre les mises à jour de résultats en secondes). Alors, seuls les résultats correspondant exactement à votre requête seront affichés.
MLdonkey utilise deux port pour les connections entrantes, une sur TCP (par défaut 4662) et l'autre pour UDP (4666). Donc vous devrez ouvrir ces ports dans votre pare-feu, et les faire suivre vers la machine qui éxécute mldonkey
Autoriser les connections entrantes est important pour vous dans la mesure où c'est la seule façon pour que vous puissiez être connecté à d'autres sources qui sont derrière un firewall.
Si vous n'avez pas de contrôle sur le pare-feu, et que votre administrateur bloque les ports 4660 à 4670, vous devez changer le port utilisé par mldonkey dans le fichier de configuration downloads.ini : port est le port TCP, tandis que le port UDP est toujours calculé comme port + 4.
Editez juste l'option shared_directories dans le fichier downloads.ini :
shared_directories = [ "/usr/share/documents"; "/usr/share/videos"]
Le réseau Soulseek est un réseau proche de Napster.
Vous vous connéctez à un seul serveur, et là, vous pouvez chercher des fichiers (principalement audio), vous pouvez rejoindre des salon de discution pour parler avec les autres utilisateurs, et vous pouvez parcourir les fichiers des autres utilisateurs.
Il n'y a qu'un seul serveur sur Soulseek, et celui que vous avez dans le fichier soulseek.ini n'est probablement pas mis-àjour. Normallement, mldonkey en téléchargera un autre, de sorte que vous ayez deux serveurs dans la liste de serveurs.
Par défaut, mldonkey_gui n'affiche pas les serveurs auquels vous n'êtes pas connécté. Donc vous avez à utiliser le boutton "Display All Servers", et à demander à mldonkey d'essayer de se connecter au second serveur soulseek.
Actuellement, le serveur est mail.slsk.org, port 2242.
Le comportement de Mldonkey sera amélioré pour se relier automatiquement au serveur actuel par la page Web du site soulseek.
Le réseau LimeWire est un réseau bâtit par dessus le réseau Gnutella.
La principale différence est que tous les noeuds dans ce réseau ne retransmettent pas chaque message reçut à ses voisins. A la place, des noeuds spéciaux, appellés ultra-peers, avec une haute connectivité sont spécialisés pour cette tâche, tandis que les plus petits noeud (comme mldonkey) ne se connectent et font des requêtes qu'aux ultra-peers.
Actuellement, le support de LimeWire par MLdonkey permet aussi au client mldonkey d'utliser les ultra-peers Gnucleus, Morpheus, et MyNapster comme serveurs.
Sur ce réseau, vous pouvez principalement rechercher de petits fichiers, vous n'avez pas de possiblité de discuter ou de parcourir les autres utilisateurs.
Sur Gnutella, il n'y a aucun protocole spécifié pour faire des requêtes complexes aux autres utilisateurs. A la place, chaque utilisateur est libre d'interpréter votre demande comme il veut et répondre ce qu'il veut.
En particulier, les requêtes de multiples mots sont souvent comprises comme des requêtes avec des ou logiques entre les mots, c'est-à-dire qu'un document contenant au moins un mot est retourné.
Comme pour Overnet, vous pouvez activer un filtrage postérieur des sources. Alors, les résultats qui sont reçus sont vérifiés par mldonkey de telle façon que seuls sont affichés les résultats qui sont précis. Le filtrage postérieur est activé en mettant l'option "filter_search" à "true", et modifier l'option "filter_search_delay" dépend de la période que vous voulez entre les mises à jour (par exemple, 30 signifie que des résultats seront ajoutés seulement toutes les 30 secondes).
L'état d'avancement actuel du développement de mldonkey (dans les CVS) le 09/09/2002 est visible dans le tableau suivant (jetez aussi un coup d'oeil au ChangeLog).
Caractéristiques | eDonkey | Direct Connect | Open Napster | Gnutella LimeWire | Soulseek | Audio Galaxy | OpenFT |
Télécharge une liste de serveurs | 1.16 | CVS | CVS | CVS | CVS | CVS | |
Se connecte au serveur | 1.16 | CVS | CVS | CVS | CVS | CVS | CVS |
Montre les utilisateurs du serveurs | 1.16 | CVS | |||||
Recherche de fichiers | 1.16 | CVS | CVS | CVS | CVS | (web) | CVS |
Parcours les fichiers des utilisateurs | 1.16 | CVS | CVS | ||||
Télécharge des fichiers | 1.16 | CVS | CVS | CVS | CVS | CVS | CVS |
Récupère les fichiers | 1.16 | CVS | CVS | CVS | CVS | ||
Récupère les sources | 1.16 | CVS | CVS | CVS | |||
Pause les téléchargements | 1.16 | CVS | |||||
Annule les téléchargements | 1.16 (not CVS) | CVS | |||||
Partage les fichiers | 1.16 | ||||||
Partage la liste des fichiers | 1.16 | CVS | |||||
Amis | 1.16 | ||||||
Messages publiques | CVS | CVS | |||||
Messages privés | 1.16 | ||||||
Importe une configuration Windows | 1.16 | ||||||
Fichier de configuration | downloads.ini | directconnect.ini | opennap.ini | limewire.ini | soulseek.ini | audiogalaxy.ini | openft.ini |
Désactive le réseau | CVS | CVS | CVS | CVS | CVS | CVS | CVS |
Si vous avez quelque commentaire, si vous voulez ajouter quelques question, ou améliorations à cette FAQ, envoyez un mail à mldonkey@mldonkey.net