====== I2P ====== I2P (invisible internet project) est un réseau anonyme, à mi-chemin entre Tor et Freenet. I2P ne vise pas à rendre anonymes les communications internet classiques comme le fait Tor, à la place, il fournit des services (web, emails...) de manière interne. Les services I2P sont donc inaccessibles depuis l'internet classique, et les services internet classiques sont inaccessibles depuis I2P à moins d'utiliser une passerelle (outproxy). I2P permet grosso modo de publier des pages web, de communiquer avec des personnes, et d'échanger des fichiers. Quelques logiciels classiques peuvent implémenter i2p, et ainsi profiter de la technologie anonymisante du réseau, c'est le cas d'iMule (eMule version i2p), et Azureus (plugin i2p). Sur i2p, votre IP est visible, l'anonymat repose sur le principe qu'on ne peut pas savoir qui échange quoi (l'origine et le destinataire). Pourquoi choisir i2p plutôt que Freenet ? -> Aucune idée, les 2 sont activement développés... Note: cette page consiste en des prises de notes lors de la prise en main du logiciel qui m'est pour le moment inconnu, elle peut comporter des inexactitudes :D ===== Avant d'aller plus loin ===== Un bref avis, impressions... Le sentiment général de ce qu'on nous présente, c'est que: * c'est un truc utilisé par les développeurs du logiciel, donc ce qu'on y trouve essentiellement à première vue concerne le développement du logiciel ... * y'a des outils bittorrent, qui laissent un peu sceptique car: on se dit que ça manquera de seeders, et on présage aussi que le choix en torrent ne sera pas génial ... c'est justement là qu'il faut contribuer, en seedant. * ... bon, finalement y'a quand même quelques eepsites consultables, mais le contenu est assez spécialisé, il faut y aller comme un curieux plutôt que comme quelqu'un qui recherche quelque chose de précis. Un avertissement également, dont on se rend d'autant compte en utilisant une telle solution, est que les solutions telles i2p ne suffisent pas à elles seules à garantir votre anonymat. La sécurité, et l'anonymat, sont un tout que vous devrez appréhender. Utiliser un outil anonyme n'est pas une garantie. Par expl, il est loufoque: * d'utiliser i2p si votre ordi est infecté par un virus, car un virus type troyen compromet théoriquement toute sécurité/confidentialité * d'utiliser i2p et de se dire qu'une perquisition chez vous ne dévoilera rien, car il suffit que votre navigateur internet conserve l'historique de votre surf sur i2p pour qu'il y ait des traces éventuellement compromettantes de votre activité * de publier un document qui témoignerait de votre identité, même s'il peut etre contestable que cela en constitue une preuve Vous devrez donc cerner de quoi ces solutions vous protègent, et de quoi elles ne vous protègent pas. Il ne serait pas inutile de coupler i2p avec d'autres solutions de protection (chiffrement du disque dur, ou autres...) L'usage d'une distribution telle que Linux Tails est une piste de réponse à cette problématique. Mais sans aller jusque là, il reste raisonnable de penser que des solutions telles i2p fournissent un degré d'anonymat suffisant pour télécharger des fichiers copyrightés. ===== Java I2P ou i2pd ? ===== I2P n'est que le nom du réseau. Le client historique s'appelle aussi I2P et est écrit en Java, il intègre des logiciels pour le torrent et l'email. i2pd, quant à lui, est une implémentation en C++ qui fait office de routeur et rien de plus. Cela nécessite de le compléter avec d'autres logiciels communiquant avec I2P via I2CP((à vérifier : [[p2p>xd]] parle d'un bridge SAM plutôt que I2PC)), tel que [[p2p>xd]], un client BitTorrent, ou nntpchan, une board d'images similaire à 4chan. Voir: [[https://i2pd.readthedocs.io/en/latest/user-guide/FAQ/#how-i2pd-differs-from-original-i2p-implementation|How i2pd differs from original I2P implementation?]] i2pd est vraisemblablement plus léger et devrait convenir aux personnes qui ne souhaitent pas d'un environnement Java. Nous n'avons pas vérifié si l'existence de ces deux projets était dû à une divergence technique, ou un problème d'entente entre les développeurs. Le site de I2P Java ne fait aucune référence à i2pd dans ses pages. L'auteur de i2pd s'explique également sur des problèmes liés à l'histoire d'i2pd et des initiatives similaires ou liées (Kovri, Monero, i2pcpp) dans [[https://i2p.rocks/blog/kovri-and-the-curious-case-of-code-rot-part-1.html|une]] [[https://i2p.rocks/blog/kovri-and-the-curious-case-of-code-rot-part-2.html|série]] [[https://i2p.rocks/blog/kovri-and-the-curious-case-of-code-rot-part-3.html|de]] billets de blog. Site officiel de i2pd: https://i2pd.website/ L'auteur de i2pd travaille aussi sur [[https://lokinet.org/|Lokinet]] (porté par une entreprise ?). Lokinet n'est pas un P2P, il s'agit d'un logiciel libre qui utilise un réseau onion (comme le réseau Tor) de faible latence nommé LLARP. L'autorité du réseau est dissoute dans une monnaie numérique similaire à Monero. Le projet vise à proposer des services de messagerie, et autres, tout en garantissant la confidentialité des échanges. ===== Installation de I2P Java ===== Page de téléchargement: http://www.i2p2.de/download.html ==== ... sous Debian ==== On a le choix de la version à installer, on peut ajouter les dépots I2P comme indiqué dans [[http://www.i2p2.de/debian.html|cette page]], ou se contenter de celle fournie dans les [[https://packages.debian.org/buster/i2p|dépots Debian]] (à partir de Buster). === Démarrage et configuration === Avec votre navigateur, de préférence en mode privé afin de ne pas conserver l'historique, rendez-vous sur http://127.0.0.1:7657/home Si cela ne fonctionne pas, il se peut que vous ayez à démarrer manuellement le routeur I2P, sous votre compte utilisateur standard, en tapant: i2prouter start On configure la bande passante. On configure les ports UDP et TCP (dans le [[:documentation:reseau:routeur|routeur]]), et [[http://127.0.0.1:7657/confignet|dans i2p]] ). On vérifiera dans la colonne de gauche que le réseau est OK. {{ :p2p:i2p:i2p-page_accueil.png?direct&400 |}} ===== Les services ===== La [[http://127.0.0.1:7657/home|page d'accueil i2p]] montre les services à disposition. Les services principaux sont: - un service d'emails, pour communiquer avec d'autres utilisateurs de I2P - un service bittorent, pour télécharger des torrents - un service web, pour héberger des sites web ... mais chaque eepsite (un site web sur i2p) peut se proposer de fournir un service. Plus d'une vingtaine d'eepsites notoires sont ainsi recensés. Par expl: * un Git, utile aux programmeurs pour manier du code source de logiciel collaborativement * des trucs Bittorrent * un FAQ sur i2p * un forum (auquel je n'arrivais pas à accéder, j'ai appris plus tard qu'il avait quelques problèmes momentanés) * un pastebin * un "planet" * des trucs ... ==== Service Web ==== === Publier une page === Il est possible d'héberger des pages web sur sa propre machine. Il suffit de clicker sur "Site web" pour qu'un guide s'affiche et explique la marche à suivre. Le guide en question est [[http://127.0.0.1:7658/help/index_fr.html|disponible en français]] (sinon, cliquez sur le drapeau pour choisir la langue). En résumé, pour publier une page web, il suffit mettre une page HTML dans un endroit de son disque dur (~/.i2p/eepsite/docroot), puis d'activer le bidule. Le site sera identifié par une longue clé, que vous pourrez communiquer, ou que vous pourrez ajouter à l'annuaire i2p. Un nom de domaine est associé à la clé, pour pouvoir joindre les eepsites plus facilement. Il faudra toutefois que cette correspondance soit enregistrée dans votre carnet d'adresses (un fichier hosts propre à i2p). Un essai que j'ai fait, pour p2pfr :D {{:p2p:i2p:i2p-p2pfr-cut.png?direct&200|}} A noter qu'il est possible de réaliser des sites dynamiques, et d'utiliser des CMS ordinaires (servlets JSP en .war, ou CGI ordinaire). I2P utilise le serveur web [[http://jetty.codehaus.org/jetty/|Jetty]]. === Accéder à un eepsite === Petit soucis dès qu'il s'agit d'accéder à un site en .i2p. Il faut configurer son navigateur pour utiliser un proxy, c'est décrit sur [[http://www.i2p2.de/htproxyports.html|cette page]]. Autre soucis, après 5h de lancement, il m'était encore difficile ou impossible d'afficher la plupart des sites i2p, seuls les principaux liés au service fonctionnaient, et encore. D'après la fenêtre de statistiques, on peut voir le nombre de pairs totaux (~400 dans mon cas), et le nombre de pairs bien intégrés (~200), ce qui ne me semble pas mauvais. Je n'explique donc pas ces indisponibilités. J'ai aussi eu la surprise de voir les choses assez bien marcher, les eepsites que je choisissais s'affichaient. Puis de nouveau plus tard pof je ne parvenais plus à découvrir de nouveaux eepsites. Tout ça juste pour dire: vous inquiétez pas si ça arrive. === Outproxy : Accéder à un site web internet === Ca n'est normalement pas possible, mais après avoir activé le proxy i2p pour mon navigateur, je me retrouve avec une IP allemande en surfant, diantre ! Le surf sur des sites classiques (hors i2p) est assez lent, mais ça fonctionne avec un peu de patience. Cet accès aux sites web classiques est permis par ce qu'on appelle un outproxy. Il n'existe de outproxies que pour HTTP, HTTPS et les emails. Ces outproxies ne sont pas parties intégrantes du réseau I2P, certaines personnes en mettent toutefois à disposition, mais il faut garder en tête que ça n'est pas l'idée de base de i2p et que cela induit des risques supplémentaires en terme de sécurité ([[http://www.i2p2.de/faq#proxy_safe|voir FAQ]]) Tor s'avère plus approprié si l'on recherche ce type d'accès (surfer sur l'internet classique de manière anonyme). ==== IRC ==== Il est possible de se connecter au salon #i2p via le réseau i2p, c'est à dire anonymement. Pour cela, utilisez votre client IRC habituel, et connectez-vous sur 127.0.0.1 port 6668. Pensez à changer votre nom d'utilisateur IRC (et infos identd) pour qu'elles n'aient rien en commun avec vos infos classiques sur IRC. ==== Bittorrent ==== On peut s'abstenir de passer par bittorrent pour chopper des fichiers, et les mettre directement sur le eepsite, mais j'imagine qu'il vaut mieux garder ça pour les petits fichiers (PDF, images...) Donc pour les gros fichiers, bittorrent est utilisé au sein d'i2p. Il n'est pas utile d'installer un client bittorrent, car i2p possède déjà [[http://127.0.0.1:7657/i2psnark/|i2psnark]], dans lequel vous pourrez recopier les hashs des torrents, pour initier les téléchargements. On ne peut pas injecter dans i2psnark de torrent choppé par le web classique ! Bien que I2P utilise un réseau Bittorrent en son sein, celui-ci ne communique pas avec le réseau Bittorrent hors I2P. Vous devrez donc trouver les torrents au sein-même des eepsites. ===== Un échantillon des eepsites ===== Pour finir, un aperçu de ce qu'on peut trouver sur i2p... * Un forum {{:p2p:i2p:i2p-forum.png?direct&200|}}{{:p2p:i2p:i2p-forum_eepsite_annouce.png?direct&200|}} * Un tracker bittorrent dont vous pourrez utiliser les torrents, pour les mettre dans i2psnark {{:p2p:i2p:i2p-un_tracker_bittorrent.png?direct&200|}} * Le site de Pirate Bay est par expl [[http://qtbwkqmdjdbb4owr3q4ovhge4cof5ibnnttiybi6mdys6in3jo3q.b32.i2p|accessible sur i2p]] (sans outproxy), mais vous ne pourrez pas télécharger depuis i2p les torrents que vous y récupérerez. {{:p2p:i2p:i2p-piratebay.png?direct&200|}} * Des hérétiques, qui distribuent des ebooks en français. {{:p2p:i2p:i2p-des_ebooks.png?direct&200|}} * Un pastebin, qui sont parfois utilisés pour publier des fuites (leaks) ou d'autres types de notes {{:p2p:i2p:i2p-pastebin.png?direct&200|}} * Un site perso d'un i2piste {{:p2p:i2p:i2p-un_site_perso-cut.png?direct&200|}} ==== D'autres sites I2P ==== * http://ugha.i2p, Ugha Wiki, est un bon point de départ pour explorer I2P. * http://eepsites.i2p/, est un moteur de recherche à sites I2P ===== Conclusion ===== Pensez également à lire la 1ère page d'I2P, elle résume les services (comme je l'ai fait ici) et donne des informations d'utilisation utiles. J'avoue ne pas avoir testé suffisamment, mais résumons, I2P vous sera utile pour: * Publier un site anonymement * Communiquer avec des personnes (sur des forums ou IRC) de manière anonyme * Et, c'est là que la question reste en suspens pour le moment, chopper des gros fichiers (films ou album), car le choix en fichiers est pas top, et le nombre de seeders pour ces fichiers est réduit aussi. Après plusieurs petits essais, je ne sais pas si j'aurai la patience d'utiliser I2P, car l'accès aux eepsites déconne quand j'essaie. Je ne m'y éternise pas en laissant le routeur allumé, mais s'il faut y être tout le temps connecté pour obtenir quelque chose ... Bilan mitigé donc, mais le projet est en développement actif, donc cela peut aller en s'améliorant ! ===== Liens externes ===== * Site officiel : https://geti2p.net/fr/ ([[https://www.i2p2.de/index_fr.html|ancienne adresse]]) * Site d'i2pd (implémentation C++ du routeur I2P) : https://i2pd.website * https://tails.boum.org/contribute/design/I2P (en), un article qui résume des enjeux dans l'utilisation de I2P, et l'intégration de celle-ci à la distribution Linux Tails. Cette page questionne indirectement de si on devrait utiliser I2P seul ou couplé à d'autres solutions. * https://geti2p.net/fr/comparison, resituer I2P par rapport à TOR et Freenet. * http://syndie.de, un système de forum internet qui tourne sur I2P mais pas que. * Wikipédia francophone: [[wpfr>I2P]] {{tag>type:réseau-p2p type:client-p2p licence:libre réseau:i2p propriété:anonymisant}}