eMule
eMule est un logiciel gratuit de partage de fichiers en pair à pair, il fonctionne sur Microsoft Windows et sur macOS depuis 2006. Fondé en mai 2002 dans le but de contourner eDonkey2000, eMule se connecte désormais aux réseaux eDonkey et Kad. Les avantages qui distinguent eMule incluent l'échange direct des sources entre clients, le diagnostic rapide des fichiers corrompus et l'utilisation d'un système de crédit pour les utilisateurs les plus fidèles[2].
Créateur | Hendrik Breitkreuz |
---|---|
Développé par | John et Ornis |
Première version | |
Dernière version | Official Version : v0.50a, Community Version : v0.70a () |
Dépôt |
https://sf.net/p/emule/code/ (version officielle) https://github.com/irwir/eMule (version Community, toujours maintenue) |
Écrit en | C++[1] |
Système d'exploitation | Microsoft Windows |
Environnement | Windows, Mac OS, Linux (avec aMule) |
Langues | Multilingue |
Type | Client P2P |
Politique de distribution | Donationware |
Licence | Licence publique générale GNU version 2 et licence publique générale GNU |
Documentation | emule-project.net/home/perl/help.cgi?l=1&rm=show_topic&topic_id=98 |
Site web | www.emule-project.net |
eMule est programmé en C++ et utilise Microsoft Foundation Classes. Depuis juillet 2002, eMule est un logiciel libre, diffusé sous licence publique générale GNU. En date d'avril 2013, le logiciel est le second logiciel le plus téléchargé sur SourceForge.net, avec 660 millions de téléchargements[3] juste derrière VLC avec un peu plus de 840 millions.
Bien que la dernière version stable date d'avril 2010, le développement continue. Depuis le 22 mars 2015, la 0.50b est en beta test public.
Histoire
modifierGenèse du projet
modifierLe projet eMule a commencé le avec à son origine Hendrik Breitkreuz (alias Merkur), mécontent du client original eDonkey2000 et qui s'est par la suite retiré du projet eMule. Six développeurs supplémentaires ont rejoint le projet jusqu'alors[4]. Le code source a été diffusé pour la première fois lors de la version 0.02 et il a été publié le sur SourceForge.net[3]. Le fichier exécutable a été diffusé pour la première fois le lors de la version 0.05a. Le site web du projet eMule a été ouvert le .
En 2005, le projet est maintenu par 16 personnes : 2 développeurs, 2 gestionnaires de projet (incluant le fondateur Hendrik Breitkreuz), 3 testeurs, 9 testeurs-débogueurs. Le site officiel est maintenu par 7 développeurs Web et 4 modérateurs.
Fonctionnalités
modifierLa v0.19a () a été la première à posséder le système de crédit.
La v0.42 (et suivantes) permet en plus du réseau eDonkey de se connecter à son propre réseau appelé Kademlia (ce réseau possède l'avantage de pouvoir se passer de serveurs de connexion). La v0.47c a introduit une option de brouillage de protocole, afin de contourner les mesures de "bridage de protocole" (traffic shaping) pratiquées par certains FAI (en France : Free et Club Internet entre autres). Même s'il est toujours possible, pour les fournisseurs d'accès de retrouver les traces[5],[6].
Poursuites judiciaires
modifierLe , à 10h, la police fédérale belge a saisi le plus gros serveur mis en place pour les fonctions eMule, Razorback2. Cette opération constituait principalement un coup médiatique car l'importance des serveurs dans le fonctionnement d'eMule a été considérablement diminuée avec l'arrivée du protocole Kademlia.
À la mi-, de nombreux serveurs (allemands) ont fermé[7]. Cependant, depuis , 3 nouveaux serveurs Razorback (Razorback 3.0, Razorback 3.1 et Razorback 3.2), de capacités équivalentes voire supérieures à celles de Razorback 2 et autres Donkey Server, ont su rapidement combler ces fermetures. Notons que si ces serveurs portent toujours le nom Razorback, rien n’indique un lien quelconque avec les anciens serveurs.
Déclin du nombre d'utilisateurs
modifierEn France, à partir de 2009 le nombre d'utilisateurs d'eMule a commencé à décliner par crainte des risques légaux accrus avec l'apparition de la HADOPI : « Emule a perdu près d'un million d'utilisateurs en quatre mois, de 5 millions à 4 millions de visiteurs uniques »[8]. Du fait du risque encouru, eMule est alors déconseillé par les experts informatiques[9]. Une minorité des utilisateurs délaissent eMule et se tournent vers des logiciels de P2P anonyme tels que iMule, tandis que la majorité des utilisateurs se tourne vers des sites d'hébergement de fichiers tels que, par exemple, Megaupload.
En 2013, le site web Numerama.com (anciennement Ratiatum.com, qui fut axé sur le P2P entre autres) publie un article intitulé « BitTorrent a gagné contre eMule. Le P2P a perdu. » dans lequel il déplore que BitTorrent a mis de côté les notions de partage des fichiers entre utilisateurs, à la manière d'une bibliothèque d'Alexandrie qui serait décentralisée, au profit de l'intérêt immédiat de télécharger rapidement des nouveautés, quitte à ce que ces fichiers deviennent inaccessibles quelques mois plus tard (en raison du concept technique de BitTorrent)[10]. Quant à son concurrent, il est actuellement aussi sur son déclin à cause de fermetures successives des trackers (plus de 50 ont été fermés depuis 2013).
Concepts de base
modifierLe logiciel expose une grande base d'utilisateurs ; une moyenne de 20 millions en 2007[11], ce qui le rend excellent pour trouver des fichiers rares. Il gère le gestionnaire de correction d'erreurs AICH (aussi efficace que BitTorrent). Il gère également l'échange de sources entre clients via le réseau Kademlia (lui permettant de réduire sensiblement les charges sur les serveurs) ; un HighID permet d'ailleurs de garder les sources longtemps après la déconnexion des serveurs ED2K et/ou de KAD. eMule reprend plus complètement le protocole d'eDonkey 2000 et ses améliorations. eMule ne fonctionne pas comme un simple serveur (ou ordinateur) qui envoie juste les données ; il donne une fois, et l'ordinateur qui a reçu donne à un autre, puis à un autre, etc. permettant ainsi de répartir sur de nombreux ordinateurs une charge qui pourrait mettre à mal un ordinateur centralisé.
Low ID
modifierLe mode « LowID » (basse identification) est attribué par les serveurs et désigne les ordinateurs clients qui ne peuvent pas être atteints de l'extérieur parce qu'ils sont derrière un pare-feu (ou dispositif national) qui n'a pas été correctement paramétré (ports non ouverts), ou encore dont l'adresse IP se termine par un zéro (par exemple, 123.45.67.0)[12],[13]. Ils peuvent encore télécharger et émettre mais ont besoin de l'aide (automatique) de serveurs ou de clients du réseau Kademlia pour pouvoir être atteints par d'autres clients. Cela ralentit considérablement leur progression dans les files d'attente. Un client en LowID ne peut télécharger/envoyer que depuis/vers un client en HighID.
Du côté des serveurs, un client de LowID consomme également beaucoup plus de bande passante qu'un client de HighID, du fait des lowidcallbacks. En outre, un releaser ou un téléverseur lourd qui emploie un mod de releaser tel que MorphXT ou Xtreme qui est contraint de fonctionner en LowID (ex : au travail, à l'hôtel) constatera qu'il aura peu de contrôle de ses priorités de téléchargement (particulièrement powershares) parce que les serveurs limitent leur raccordement-expédition pour chaque client.
Système de crédit
modifierHabituellement, les clients ne téléchargent pas depuis une source lorsque le contact est établi ; ils doivent patienter dans une file d'attente menant à la source jusqu'à ce qu'une place devienne disponible. Ce système de crédit favorise la diffusion des sources en donnant priorité dans la file d'attente à ceux qui téléversent le plus[14]. Les clients peuvent être identifiés de façon sécurisée, puisqu'à partir de la version .29b il est possible d'activer l'option "utiliser l'identification sécurisée", une fonction de cryptographie asymétrique qui permet de chiffrer les identifiants clients aussi appelés hachage utilisateur[15]. Grâce au système de crédit, un client peut grimper jusqu'à dix fois plus vite qu'un autre dans une file d'attente. Chaque logiciel client mémorise sur disque dur combien de données il a reçues et envoyées de ou vers chaque client auquel il a été relié. Afin d'éviter la tricherie, les crédits de chaque client sont stockés sur les ordinateurs clients avec lesquels il a échangé, et non sur le disque dur de son propre ordinateur[2]. Cependant chaque utilisateur a la possibilité de consulter : le taux global d'émission/réception dans la partie "statistiques" et le taux envoi/réception de données associées à un client spécifique dans la boîte de dialogue "détails" associée au client.
Le calcul exact pour le système de crédit officiel est composé des deux ratios suivants[2] :
Les deux ratios sont comparés et le plus petit est utilisé comme modificateur. Plusieurs conditions existent :
- Si l'envoi total est plus petit que 1 MB, alors le modificateur sera à 1.
- Si le client envoie des données mais ne reçoit rien, le modificateur sera fixé à 10.
- Le modificateur ne peut qu'être entre 1 et 10.
Logiciels dérivés ou alternatifs
modifierLa licence GNU GPL permet à des programmeurs de distribuer des versions modifiées d'eMule à condition de fournir le code source. Ainsi beaucoup de ces versions modifiées, surnommées les « mods », sortent avec des améliorations graphiques, des optimisations, davantage d'options paramétrables...
Mods
modifierLes mods sont des logiciels créés à partir du code source d'eMule le plus récent afin d'ajouter des améliorations ou modifications. Cependant, quelques abus ternissent la pratique : jusqu'en 2004 environ, certains mods exploitaient un bogue d'eMule, permettant de tricher avec le système de crédits afin de télécharger avec une priorité supérieure à celle des autres utilisateur. Ces logiciels sont susceptibles à grande échelle de déstabiliser le réseau entier ; ils sont qualifiés par l'anglicisme de mods leechers (de l'anglais leech : sangsue). Certains sites web malveillants se contentent de republier le logiciel officiel, parfois avec une contrepartie financière, en y intégrant en plus des logiciels espions ou des publiciels.
Les mods les plus répandus sont Emule ScarAngel, Emule MorphXT et Emule Xtreme[réf. nécessaire].
Forks
modifierLes forks sont créés à partir du code d'eMule mais ne suivent pas les modifications de la version originale : ils suivent leur propre développement.
Par exemple le logiciel iMule est un fork du logiciel aMule, qui lui-même est un portage de eMule pour les autres systèmes d'exploitation.
Portages
modifierLes portages (ports en anglais) sont des logiciels compatibles développés pour d'autres systèmes d'exploitation. Ces logiciels incluent aMule, lMule, xMule, et JMule (en)[16] (écrit en Java).
Notes et références
modifier- (en) Vincent Lextrait, « The Programming Languages Beacon, v10.0 » [archive du ], (consulté le )
- « Système de Crédit », sur eMule,
- (en) « Top Downloads - For all time, updated daily » (consulté le )
- « Equipe, les gens qui rendent possible la prochaine version d'eMule », sur eMule (consulté le )
- David Legrand, « eMule passe au brouillage, une pensée pour les Freenautes ? », sur Pcinpact.com,
- « Télécharger illégalement : Emule, BitTorrent, NewsGroups, quels sont les risques ? », sur Papygeek.com
- Bruno Cormier, « Les serveurs eDonkey sous pression de la justice allemande », sur PC Inpact, (consulté le )
- L'audience d'Emule en déclin en 2009, effet Hadopi? ZDnet 2009
- Hadopi – Faut il vraiment arrêter de télécharger ? Korben 2009
- BitTorrent a gagné contre eMule. Le P2P a perdu. Numerama 14 novembre 2013
- « Megafolies » (consulté le )
- (en) « Ip Ends With 0 », sur forum.emule-project.net (consulté le )
- « Emule - LowID », sur Comment ça marche (consulté le )
- « Préférences - Connexion », sur eMule (consulté le )
- « Identification sécurisée », sur eMule,
- Site officiel de JMule