{{tag>p2p i2p anonymat }} ---- ====== 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. ===== Présentation détaillée ===== 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). ===== Installation et configuration ===== ==== 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 [[https://launchpad.net/~i2p.packages/+archive/ubuntu/i2p/+packages?field.name_filter=imule&field.status_filter=published&field.series_filter=|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 : * Allez à [[ http://localhost:7657/configclients | la page de configuration des clients i2p ]] {{jlzmmd.png}} * Cochez la case **Pont applicatif SAM** ; puis cliquer sur **Enregistrer la configuration**. {{mvv8yr.png}} * 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 * Allez à [[http://127.0.0.1:7657/peers#upnp|la page des pairs]]. * Tout en bas, vérifiez que vous voyez : 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 [[https://www.iplocation.net/find-ip-address|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 : * Allez à sur [[http://127.0.0.1:7657/confignet.jsp|la page de configuration du routeur]], * Cherchez Port UDP : yyyyy. 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. __Aide pour l'ouverture de ports :__ [[http://www.dslvalley.com/dossiers/freebox/freebox-nat.php|Tutorial pour FreeBox sur DSLValley]] [[http://www.dslvalley.com/dossiers/9box4/neufbox-nat-emule.php|Tutorial pour NeufBox sur DSLValley]] [[http://www.dslvalley.com/dossiers/orange/livebox-emule.php|Tutorial pour LiveBox sur DSLValley]] pour plus d'information au sujet des ports et d'i2p, vous pouvez consulter [[https://geti2p.net/fr/faq#ports|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 : * http://www.imule.i2p/nodes.dat : C'est le site officiel d'iMule, pas toujours accessible. * http://echelon.i2p/imule/nodes.dat : Le site echelon est un des //services cachés dignes d'intérêt// de i2p, il est donc toujours très facile d'accès. Nous vous conseillons d'utiliser la seconde adresse. {{imulenodes.png}} Dès que les nœuds apparaissent, l'icône d'iMule passe en couleur et vous pouvez commencer à lancer des recherches. ===== Patience ===== 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. ===== Configuration avancée ===== ==== Routeur I2P - ' externe ' ==== Après avoir réussi à se connecter une fois avec Imule. Dans [[ http://localhost:7657/configtunnels | 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. {{imuletunnels.png}} ==== Amélioration des performances d'iMule ==== Ces modifications sont des tests, à vous de reporter leurs effets sur [[http://forum.ubuntu-fr.org/viewtopic.php?pid=3118221#p3118221|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 =====Voir aussi===== * http://www.imule.i2p Site officiel d'iMule, accessible via le réseau I2P seulement * **(fr)** [[wpfr>iMule|"iMule" sur Wikipedia]] ----- //Contributeurs : // d10g3n, Bixo358, bricef77