iMule : client pair-à-pair anonyme

iMule est un client d'échange de fichiers pair-à-pair (P2P) anonyme, reposant sur la couche réseau d'anonymat I2P. Son interface et ses fonctions sont similaires à celles de eMule.

La lenteur de iMule peut décourager au début. Sachez néanmoins que sa rapidité dépend du nombre d'utilisateurs et de sa durée d'utilisation.

iMule (ou IMule) est un client libre de partage de fichiers en pair à pair, ayant la particularité de fonctionner en mode P2P anonyme et sécurisé, car s'appuyant sur un réseau superposé : i2P. Le logiciel iMule est une fourche de la famille *Mule (ex: eMule et aMule). Il est de la même génération que ANts P2P, MUTE, ou l'ancien Share, c'est-à-dire anonyme, chiffré, et décentralisé. Il utilise le protocole Kademlia (Kad) pour permettre la recherche de noms de fichiers par mots-clefs sans passer par un serveur central. Cependant ses échanges de données restent dans le réseau I2P, il ne permet pas d'échanges avec le réseau des logiciels eMule habituel.

Pour préserver l'anonymat, imule est doté de 2 particularités qui le différencient de logiciels P2P tels qu'Emule ou bittorent :

  • Contrairement à eMule et les clients bitorrents qui se connectent à des serveurs centralisés, iMule ne se connecte à aucun serveur centralisé, et utilise seulement le protocole Kademlia (kad) - un réseau totalement décentralisé - c'est à dire un réseau réellement de pair à pair (P2P) -. Kademlia (Kad) permet à la fois la recherche des fichiers à télécharger et l'échange de noeuds à travers Internet. Imule peut cependant gérer les liens ed2k habituels mais ne recherchera des sources que sur le réseau Kad.
  • Contrairement à Emule, iMule fait passer toutes les communications au travers du protocole réseau d'anonymat I2P
  • L'échange de fichiers par iMule peut nécessiter plus de ressources CPU qu'eMule ou aMule.
Vous pouvez changer facilement la priorité du processus imule et du java pour l'i2p, pour ce faire lancer le Système → Administration → Moniteur système : clic droit sur le processus → modifier la priorité → déplacer pour obtenir faible ou très faible - cpulimit peut aussi être d'une aide précieuse en cas d'utilisation excessive des ressources du processeurs par iMule

Imule obtient des débits respectables et équivalents a son prédécesseur Emule, pour peu qu'on le laisse fonctionner pendant quelque temps avant d'obtenir le plein débit (c'est aussi le cas avec Emule).

Installer et lancer i2p

La dernière version d'iMule a besoin que vous installiez et lanciez i2p. Pour installer, configurez et lancer i2p, consulter la page i2p

Installer iMule

La dernière version d'imule est disponible sur le launchpad PPA de i2p

Activez l'i2p router comme mentionné dans le lien du launchpad PPA de i2p. Puis installez la dernière version de iMule via ce lien : http://echelon.i2p.xyz/imule/2.3.3.3/ Ne pas s'inquiéter de la lenteur d'affichage de la page web puis du téléchargement.

Activer le pont applicatif SAM de i2p

Une fois i2p et iMule installés, vous devez activer la fonctionnalité SAMBridge de i2p permettant à des applications tierces de se connecter au réseau. Si ce n'est pas déjà fait, lancez le service i2p puis :

  • Cochez la case Pont applicatif SAM ; puis cliquer sur Enregistrer la configuration.
  • Redémarrer le routeur I2P en appuyant sur le bouton Redémarrage dans la colonne de gauche de l'interface de configuration d'I2P ou en executant
    ~/i2p/i2prouter restart

La nouvelle version d'iMule utilise obligatoirement le service i2p. Elle est donc désormais directement configurée pour s'y connecter.

Rediriger les ports

La redirection des ports est inutile sur les box compatibles UPnP (ex: Freebox Révolution)

iMule, comme eMule ou aMule, fonctionnera même si vous ne redirigez pas les ports de votre box. Toutefois, il sera plus lent. Vous devez donc configurer votre routeur pour autoriser les connections entrantes vers votre ordinateur sur certains ports. Comme iMule utilise désormais uniquement le service i2p, seul le port i2p doit être ouvert (en TCP et UDP).

Si votre routeur est compatible UPnP (Universal Plug and Play), i2p percera un trou UDP par "représentations SSU" pour relayer le trafic : vous n'avez donc rien à faire. Pour vérifier l'état de l'UPnP

Adresse IP externe détectée par UPnP : xx.xxx.xx.xxx
Le port TCP yyyyy est correctement transféré par UPnP.
Le port UDP yyyyy est correctement transféré par UPnP.

Si c'est le cas, l'UPnP de votre box fonctionne et vous n'avez rien à configurer (au lieu de xx.xxx.xx.xxx, il y a aura votre adresse IP externe, et au lieu de yyyyy le port choisi au hasard par i2p)

Si au lieu de cela, vous avez un message d'erreur, c'est que vous devez configurer manuellement la redirection des ports sur votre box.

Les nouvelles installations d'iMule depuis la version 0.7.8 n'utilisent plus le port 8887 (qui pourrait être surveillé, bridé, etc.). Elles sélectionnent un port aléatoire entre 9000 et 31000 lorsque le programme est exécuté pour la première fois. C'est ce port choisi au hasard qu'il faut ouvrir sur votre routeur. Donc, si vous réinstaller i2p, vous devez reconfigurer ce port.

Pour connaitre le port à rediriger en TCP et UDP :

C'est ce port que vous devez rediriger vers votre ordinateur en TCP et UDP. Consultez la documentation de votre routeur ou de votre firewall pour savoir comment procéder.

pour plus d'information au sujet des ports et d'i2p, vous pouvez consulter la documentation officielle sur le sujet :

Lancer iMule

i2p devra toujours être lancé avant que vous ne lanciez iMule.

Une fois i2p installé et lancé, SAMBridge configuré, les ports redirigés, et iMule installé, vous pouvez enfin lancer iMule

  • Vous trouverez iMule dans le menu Applications → Internet.
  • Vous pouvez aussi le lancer en ligne de commande :
    $imule

Mettre à jour la liste de noeuds

Pour télécharger les adresses des premiers peers auxquels va pouvoir se connecter votre iMule, il est possible pouvez mettre à jour la liste des nœuds.

Pour cela, dans iMule:

  • Cliquez sur l'icone Réseau Kad en haut à droite
  • Tout en haut, dans Amorçage Depuis l'Url ajoutez une des adresses permettant d'accéder à un fichier nodes.dat
  • Cliquez sur le bouton avec la flèche bleu à droite de la zone texte
  • Une boite de dialogue vous demande de confirmer si vous souhaiter télécharger un nouveau fichier nodes.dat et écraser l'ancien, cliquez sur oui

Le téléchargement va commencer, et devrait être assez rapide (56Ko).

Il existe deux adresses permettant de télécharger le fichier nodes.dat :

Nous vous conseillons d'utiliser la seconde adresse.

Dès que les nœuds apparaissent, l'icône d'iMule passe en couleur et vous pouvez commencer à lancer des recherches.

Imule tout comme Emule ne démarre pas instantanément, il nécessite plusieurs dizaines de minutes.

  • Vérifiez que tout est connecté.
  • Vérifiez que votre iMule est connecté à quelques nœuds, sinon mettez à jour la liste de noeuds.
Notes annexe du protocole kad :

Le nombre d'utilisateur en bas d'imule ne correspond pas au nombre d'utilisateur réellement connecté.

De même, une recherche sur par exemple mp3 ne retournera pas nécessairement tous les mp3 - la requête kad n'est pas infinie et retourne donc un nombre limité de résultat, par contre en faisant une recherche plus précise vous obtiendrez ce que vous voulez.

Routeur I2P - ' externe '

Après avoir réussi à se connecter une fois avec Imule.

Dans la page de configuration des Tunnes du routeur i2p : mettre tous les tunnels à 6 tunnels (soit tois fois la valeur par défaut).

Imule envoie des paquets de 9 Mo et monopolise donc un tunnel par utilisateur pour envoie ou réception - il est notable que 2 tunnels sont insuffisants pour l'envoie et la réception en P2P dans le but d'atteindre le plein débit et avoir un réseau optimum.

Amélioration des performances d'iMule

Ces modifications sont des tests, à vous de reporter leurs effets sur cette section du forum consacrée à l'amélioration des performances

Modifications suggérées

Dans le fichier wrapper.config (dans le dossier où est installé I2P) :

  • Augmenter la mémoire disponible pour I2P (par défaut 128 Mo)
wrapper.java.maxmemory=256
  • Retirer l'utilisation du log :
wrapper.logfile.maxsize=0
  • Mettre l'intervalle des ping à 200 :
wrapper.ping.interval=200

—– Contributeurs : d10g3n, Bixo358, bricef77

  • imule.txt
  • Dernière modification: Le 13/05/2017, 11:54
  • (modification externe)