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)
- Ajoutez le PPA ppa:i2p.packages/i2p1) dans vos sources de logiciels ;
- ou ppa:i2p-maintainers/i2p2) de la team i2p-maintainers
- Installez le paquet 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 :
- i2p-messenger
- imule
- robert client bittorent pour i2P
- tor
- tahoe-lafs pour i2P
Installation Manuelle
Pré-requis
Une plate-forme d'exécution Java : openjdk-6-jre ou 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 :
- Ant
- Une plate-forme de développement java : openjdk-6-jdk ou sun-java6-jdk
Ainsi qu'à l'ouverture des ports suivants sur votre routeur : 8887 (TCP et UDP), 123 (UDP)
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
Tapez y puis entrée
Si tout se passe bien vous finissez par un BUILD SUCCESSFUL
Si ça ne marche toujours pas, postez votre problème sur le forum
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
Faites "Next" 2 fois.
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.
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
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.
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.
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 Configuration -> Network.
Ajustez les valeurs de bande passante (Bandwith Limiter) selon votre connexion. Rendez-vous sur Speedtest et testez votre connexion
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.
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.
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 : 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 : 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
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
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.
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.
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
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
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.
Voir aussi
- (fr) "I2P" sur Wikipedia
- Tuto I2P de Numérama (2006)