{{tag>I2P p2p internet réseau anonymat}} ---- ====== I2P : Réseau Anonyme ====== I2P (Invisible Internet Project) est un réseau anonyme, offrant une simple couche logicielle que les applications peuvent employer pour envoyer de façon anonyme et sécurisée des messages entre elles. La communication est chiffrée d'extrémité à extrémité. =====Installation===== ====Par launchpad (facile) ==== * [[:PPA|Ajoutez le PPA]] **ppa:i2p.packages/i2p**((https://launchpad.net/~i2p.packages/+archive/i2p)) dans vos sources de logiciels ; * ou **ppa:i2p-maintainers/i2p**((https://launchpad.net/~i2p-maintainers/+archive/i2p)) de la team [[http://www.i2p2.de/debian.html|i2p-maintainers]] * [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]] ; * [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://i2p|i2p]]**. Si le routeur n'a pas démarré, le démarrer par : i2prouter start Vous pouvez alors faire la [[#Subscription DNS]], et pour naviguer sur internet configurer [[#firefox]] Vous trouverez également dans le même dépots : * [[apt://i2p-messenger|i2p-messenger]] * [[apt://imule|imule ]] * [[apt://robert|robert ]] client bittorent pour i2P * [[apt://tor|tor ]] * [[apt://|tahoe-lafs ]] pour i2P ====Installation Manuelle==== ===== Pré-requis ===== Une plate-forme d'exécution [[java|Java]] : [[apt://openjdk-6-jre|openjdk-6-jre]] ou [[apt://sun-java6-jre|sun-java6-jre]]. ==== Pré-requis supplémentaire pour la méthode par compilation ==== Avant de commencer la compilation d'I2P, il est nécessaire de procéder à l'installation des paquets suivants : * [[apt://ant|Ant]] * Une plate-forme de développement java : [[apt://openjdk-6-jdk|openjdk-6-jdk]] ou [[apt://sun-java6-jdk|sun-java6-jdk]] Depuis la version 0.7.5, I2P prend en charge l'UPnP ; l'ouverture des ports n'est donc plus nécessaire pour les cas d'utilisation courants Ainsi qu'à l'ouverture des ports suivants sur votre routeur : **8887 (TCP et UDP), 123 (UDP)** __Tuto d'ouverture de ports__ [[http://www.dslvalley.com/dossiers/freebox/freebox-nat.php|Tuto FreeBox sur DSLValley]] [[http://www.dslvalley.com/dossiers/9box4/neufbox-nat-emule.php|Tuto NeufBox sur DSLValley]] [[http://www.dslvalley.com/dossiers/orange/livebox-emule.php|Tuto LiveBox sur DSLValley]] ===== Installation ===== ==== Méthode par compilation ==== Téléchargez la dernière version de I2P sur cette page [[https://geti2p.net/fr/download]] Prenez le fichier source (I2Psource_X.X.X.tar.bz2), afin d'effectuer la compilation propre à votre système. C'est une méthode fiable pour ne pas avoir des problèmes plus tard. Décompressez l'archive dans un dossier tar xjvf i2psource_X.X.X.tar.bz2 Placez-vous dans le dossier cd i2p-X.X.X et lancer la compilation avec la commande suivante ant pkg Au milieu de la compilation, il vous demande si vous voulez télécharger et installer jetty Tapez **y** puis entrée Si tout se passe bien vous finissez par un **BUILD SUCCESSFUL** Si ce n'est pas le cas essayez de relancer une deuxième fois la compilation Si ça ne marche toujours pas, postez votre problème sur le forum [[http://forum.ubuntu-fr.org/viewtopic.php?id=309829]] Passons maintenant à l'installation. En ligne de commande java -jar install.jar -console Ou en graphique java -jar install.jar L'interface graphique d'installation se lance {{:I2P_-_installation.png|}} Faites "**Next**" 2 fois. {{:I2P_-_installation_-_folder.png|}} **Choisissez votre dossier d'installation**, faites "**Next**", le programme s'installe. " Une fois installé, faites "**Next**" une nouvelle fois, puis "**Done**". ==== Installation en graphique avec le binaire fourni ==== Téléchargez la dernière version de I2P sur cette page [[https://geti2p.net/en/download]]. Téléchargez le fichier i2pinstall_X.X.X.exe puis en console : cd /home/$USER/Téléchargements java -jar i2pinstall_X.X.X.exe L'interface graphique d'installation se lance alors comme précédemment. Attendez quelques minutes, le temps que le routeur I2P démarre (ça peut durer 5-10mn). Sinon exécuter le commande ./i2prouter start depuis le répertoire où est installé I2P (choisis lors de l'installation). **__Une fois qu'il est démarré, votre navigateur web va démarrer et afficher la page d'accueil d'I2P.__** si ce n'est pas le cas vous pouvez vous connecter à l'interface de configuration à l'url suivante : [[http://127.0.0.1:7657]] {{:I2P_router_console.png|}} Si le router ne démarre pas, tapez dans le terminal : ./i2prouter start Passons maintenant à la configuration ===== Configuration ===== Vous pouvez remarquer sur la gauche une colonne avec les différentes informations de connexion. C'est à cet endroit que vous allez pouvoir contrôler le routeur. {{:I2P_router_console-status.png|}} Vous pouvez voir dans cette partie le status de la connexion au routeur (reachability). Comme sur la capture il doit indiquer **OK** Si il vous indique **Firewalled**, c'est que les ports indiqués dans le pré-requis n'ont pas été correctement ouverts. Vérifier votre configuration. {{:I2P_router_console-peers.png|}} Cette section vous indique le nombre de pairs (peers) actifs (qui doit monter progressivement), ainsi que la bande passante utilisée. Voilà ça y est, le routeur I2P est installé sur votre machine et vous êtes libre de surfer anonymement. Seulement celui-ci ne redémarrera pas automatiquement lors du prochain reboot de la machine. Il vous faut donc effectuer 2,3 manipulations pour qu'il démarre automatiquement. ====Subscription DNS==== * Allez la page de configuration : http://127.0.0.1:7657/susidns/subscriptions.jsp * Ajoutez la liste des hosts recensé : http://www.i2p2.i2p/hosts.txt http://tino.i2p/hosts.txt http://stats.i2p/cgi-bin/newhosts.txt http://i2host.i2p/cgi-bin/i2hostetag http://hosts.i2p/hosts.cgi?filter=all http://biw5iauxm7cjkakqygod3tq4w6ic4zzz5mtd4c7xdvvz54fyhnwa.b32.i2p/uncensored_hosts.txt Un service de dns évolué semble se mettre en place : http://icand.i2p ==== Bande passante ==== === Limites de bande passante === Avant toute chose vous devez régler votre bande passante. Pour ce faire, rendez-vous sur la page **[[http://127.0.0.1:7657/config.jsp|Configuration -> Network]]**. Ajustez les valeurs de bande passante (**Bandwith Limiter**) selon votre connexion. Rendez-vous sur [[http://www.speedtest.net/|Speedtest]] et testez votre connexion Ne confondez pas kbps (kilobits par seconde) et kBps (kilobytes par seconde). 1 kilobyte = 8 kilobits. Si vous avez une connexion de 1024kbps en émission, ca donne 128kBps en théorique (ou 128 Ko/s) Le tableau ci-dessous récapitule les différents débits généralement constatés selon votre connexion : ^ Débit de votre connexion ^ Débit de votre connexion en kilobyte/s ^ | 64 kbps | approx. 8 kBps | | 512 kbps | approx. 50 kBps | | 1 Mbps | approx. 100 kBps | | 10 Mbps | approx. 1100 kBps | | 100 Mbps | approx. 11000 kBps | Régler votre bande passante légèrement en dessous de votre débit (ex: 1 Mbps -> 80kBps), pour ne pas saturer votre bande passante. Ces paramètres définissent la bande passante générale pour I2P, donc toutes les applications utilisant I2P ne pourront jamais dépasser ces limites. === Partage de bande passante === Ensuite définissez quelle pourcentage de bande passante vous souhaitez attribuer à I2P (par défaut: 80%). **Ce réglage correspond à la bande passante partagée que vous attribuer à I2P, c'est à dire au trafic qui transite par votre machine mais dont vous n'êtes ni la destination, ni l'émetteur.** Gardez à l'esprit qu'au plus vous partagerez de bande passante, au plus le réseau sera rapide et efficace. Il n'y a aucun serveur de routage à haut débit fourni par l'équipe I2P. Les utilisateurs créent et fournissent eux-mêmes la bande passante du réseau Si vous souhaitez aider I2P à se développer les réglages suivants sont recommandés : * **100%** si votre bande passantes est **> 1024kbps** * **80%** si votre bande passantes est **> 30kbps** * **50%** si votre bande passantes est **> 16kbps** === Nombre de tunnels participants === Les tunnels participants sont essentiels dans I2P. En effet c'est par ces tunnels que vont transiter toutes les informations et que le réseau I2P se constitue. Il est donc primordial de procéder à un réglage, qui va éviter à votre machine de consommer trop de ressources processeur (dû à un trop grand nombre de tunnels). Rendez-vous sur la page : [[http://127.0.0.1:7657/configadvanced.jsp|Configuration -> advanced]], et ajoutez cette ligne : router.maxParticipatingTunnels=500 Il vous faut **redémarrer le routeur** après avoir cliqué sur **sauvegarder**. Les tunnels sont désormais limité à 500. Le tableau ci-dessous fournit les correspondance tunnel -> bande passante : ^ Nombre de tunnels ^ Bande passante ^ | 3000 | 1500 kbps (valeur élevée avec une grosse consommation processeur) | | 2000 | 900 kbps | | 1000 | 500 kbps | | 600 | 300 kbps | | 300 | 150 kbps | | 150 | 70 kbps | //source : [[http://echelon.i2p/I2Pguide/bandwidth.html|Echelon.i2p]]// ==== Démarrage automatique ==== === Si vous êtes le seul utilisateur === Vous pouvez ajouter au menu **Système->Session (ou Applications au démarrage sur Jaunty)** un nouveau lanceur. Cliquer sur **Ajouter** et tapez cette ligne dans commande (bien sur adaptez le chemin selon votre configuration). ~/i2p/i2prouter start === Si vous êtes plusieurs utilisateurs sur la même machine === Mieux vaut l'installer en tant que service Créer le lien symbolique sudo ln -s /chemin_de_i2p/i2prouter /etc/init.d/i2prouter Mettons à jour les liens RC sudo update-rc.d i2prouter defaults ==== Réseau local ==== Toutes les fonctionnalités qui vont suivre sont maintenant gérées nativement : [[http://localhost:7657/i2ptunnel/index.jsp]] === Accès à la console I2P depuis un autre poste du réseau === Par défaut la console I2P n'est accessible que depuis la machine locale. Editer le fichier clients.config qui se trouve dans le dossier d'installation d'I2P et changer la ligne suivante : clientApp.0.args=7657 127.0.0.1 ./webapps/ par clientApp.0.args=7657 0.0.0.0 ./webapps/ Si la modification du clients.config dans le dossier d'installation d'I2P n'a pas d'incidence, regardez dans /root/.i2p/ s'il n'y a pas un autre fichier clients.config Pour les bidouilleurs, ceci n'est en aucun cas un masque mais une adresse IP vers une interface. 0.0.0.0 signifie "Lier vers toutes les interfaces" Si vous voulez, vous pouvez mettre un mot de passe pour protéger l'accès. Rendez vous sur la page de configuration avancée : [[http://localhost:7657/configadvanced.jsp]] et rajouter cette option : consolePassword=Mon_mot_de_passe Pour finir redémarrer le service I2P dans la colonne de gauche. En cas de perte de vos identifiants, ils se trouver dans le fichier **/home/VotreUser/.i2p/router.config** A la ligne **routerconsole.auth.i2prouter.VotreID=Votre-MP-chiffrée** Supprimer la ligne **routerconsole.auth.i2prouter.VotreID=Votre-MP-chiffrée** Et remplacer **true** par **false** à la ligne **routerconsole.auth.enable=true** puis redémarré I2p. === Accès aux applications I2P depuis un autre poste du réseau === Pour pouvoir accéder aux application I2P (SusiMail, SusiDNS, I2PSnark...), rendez vous sur la page de configuration avancée : [[http://localhost:7657/configadvanced.jsp]] et rajouter cette option : i2cp.tcp.bindAllInterfaces=true Pour finir redémarrer le service I2P dans la colonne de gauche. === Naviguez sur les sites I2P depuis toutes (ou certaines) machines de votre réseau === Installer [[:privoxy]] sur la machine qui fait tourner I2P. Editez les sections suivantes du fichier **/etc/privoxy/config** : **Section 4.1 - listen-adress**, changez la ligne : listen-address 127.0.0.1:8118 par listen-address :8118 __Privoxy écoute désormais sur toutes les interfaces de votre machine.__ Certains diront : "Pas top niveau sécurité !" et ils auraient raison, donc si vous souhaitez restreindre l'accès à certaines adresses IP **Section 4.7 - ACLs: permit-access and deny-access** Ajoutez autant de lignes que d'adresses IP à autoriser : permit-access 192.168.0.2 permit-access 192.168.0.3 ... Ou, pour ajouter un brin complet : permit-access 192.168.0.1/26 Sauvegarder et redémarrer Privoxy sudo /etc/init.d/privoxy restart Mettre à jour le proxy HTTP de tous les navigateurs Web de votre réseau local pour qu'ils pointent vers l'adresse IP de cette machine. Le port reste le **8118**. N'oublier pas d'ouvrir le port **8118** sur le firewall de cette machine, si besoin est. ===== Logiciels fournis avec I2P ===== I2P est fourni avec des logiciels pré-installés comme : * __**Susimail**__ : Courrielleur web * __**SusiDNS**__ : Permet de gérer les adresses de "eepsites" (sites web) par syndication (gestion décentralisée) * __**I2PSnark**__ : Client BitTorrent * __**I2Phex**__ : Client Gnutella (partage de fichiers) dérivé de Phex Ces logiciels sont accessibles dans la barre en haut de la page principale d'I2P. ====I2PSnark==== I2PSnark est le Client BitTorrent installé par défaut avec i2p, il est disponible à l'adresse http://127.0.0.1:7657/i2psnark L'ajout de fichiers torrents est possible soit via cette interface web, soit via le dépôt de fichiers dans le répertoire /home/utilisateur/.i2p/i2psnark. Dans ce dernier cas le téléchargement démarrera automatiquement au bout de quelques minutes. Attention, l'usage de torrent via I2P n'est fonctionnel que pour des fichiers torrents prévus pour le réseau I2P, il n'est donc pas possible de télécharger n'importe quel torrent provenant de votre tracker favori. Liste des trackers : * http://tracker2.postman.i2p * http://crstrack.i2p D'autres clients bittorent sont compatible avec i2p : [[transmission]] (par défaut), robert ====I2Phex==== Client Gnutella installable en allant sur le site : plugins.i2p (I2P requis) ===== Logiciels fonctionnant avec I2P ===== ==== Firefox ==== === Surf anonyme sur tous les liens === Configurer le proxy I2P local. **Edition -> Préférences -> Avancé -> Réseau -> Paramètres**. Cochez **Configuration manuelle du proxy** et entrer les valeurs suivantes dans la case **Proxy HTTP** : Serveur : localhost Port : 4444 Installer le module **Quick Proxy** pour pouvoir activez/désactiver en un clic le proxy Evidemment le routeur I2P fonctionne avec tous les navigateurs prenant en charge l'utilisation d'un proxy. === Surf anonyme sur les liens .i2p (Privoxy) === Installer Privoxy : [[apt://privoxy]] Ouvrez le fichier de config de privoxy gksudo gedit /etc/privoxy/config Collez-y ces lignes dans la section **forward-socks4, forward-socks4a and forward-socks5** vers la fin du fichier #this forwards all requests to .i2p domains to the local i2p #proxy without dns requests forward .i2p localhost:4444 Sauvegarder et redémarrer Privoxy sudo /etc/init.d/privoxy restart Configurer le proxy de Firefox de la même manière que dans la section précédente sauf que le port est le **8118** ==== iMule ==== [[http://iMule/|iMule]] est un logiciel 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]], c'est un fork de [[aMule]]. Comme pour eMule, iMule utilise le protocole Kademlia pour trouver des fichiers à télécharger et échanger à travers Internet et il peut gérer les liens ''ed2k'' habituels. Sa différence est que toutes les communications envoyées et reçues par iMule passent au travers du protocole réseau d'anonymat I2P, qui vous rend difficilement traçable, voire intraçable. Cette particularité oblige l'utilisation d'une version modifiée de Kademlia, et iMule ne peut donc partager des fichiers qu'avec d'autres clients iMule. Parce qu'il est anonyme, l'échange de fichiers par iMule est nécessairement plus lent qu'à travers ses pendants non-anonymes eMule et aMule. De plus, comme il doit utiliser son propre réseau aujourd'hui moins fréquenté, le nombre et la diversité des fichiers échangés sont moindres. Néanmoins, sa vitesse, tout à fait acceptable pour un logiciel sécurisé, et sa grande activité dans les milieux francophones en fait un logiciel doté d'un avenir très prometteur. //[[imule|Consultez la page dédiée à iMule]]// ===== Voir aussi ===== * **(fr)** [[wpfr>I2P|"I2P" sur Wikipedia]] * [[https://geti2p.net/fr/|Site officiel I2P]] * [[https://geti2p.net/fr/faq|FAQ officielle I2P]] * [[http://forum-fr.i2p|Forum français I2P (protocole I2P)]] (fermé) * [[http://forum.ubuntu-fr.org/viewtopic.php?id=309829|Post I2P - iMule sur Ubuntu-fr]] (2009) * [[http://www.numerama.com/forum/index.php?showtopic=66206|Tuto I2P de Numérama]] (2006) * [[http://sd-1.archive-host.com/membres/up/212456601740008059/TutorialI2P_et_IMULE.pdf|Tutorial I2P et iMule de Gepetto57]] (2009)