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)

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
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)

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

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.

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

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.

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

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 : 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

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.

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.

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

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.

Consultez la page dédiée à iMule

Voir aussi

  • i2p.txt
  • Dernière modification: Le 28/04/2018, 11:23
  • (modification externe)