Freenet : Installation et utilisation sous Ubuntu
Publié le 15 juin 2009 - Sécurité - Anonymat
Dernière mise à jour le 07 juin 2011
- Article
- |
- Commentaires (3)
- |
- Fichiers attachés (0)
Freenet est un sous réseau libre à l'intérieur d'Internet, conçu en 1999 par Ian Clarke. Il s'agit d'un réseau anonyme, crypté et décentralisé, porté par l'idée qu'il doit être impossible de censurer son contenu. Le potentiel de Freenet est énorme, et c'est surement la raison pour laquelle ce réseau dérange.
![]()
Freenet est un réseau dont le contenu est caché à l'intérieur du réseau, et le parcourir offre un réel bol d'air frais. La liberté et l'insouciance qui ont marqué les débuts de web sont encore bien présentes sur Freenet, et c'est un espace d'expression qui ne craint pas la censure, ce qui devient pour le moins rare sur le web.
Il échappe encore aujourd'hui à toutes formes de contrôle, et les tentatives réalisées pour le bloquer ont toujours été annihilée après un peu de temps. Par exemple le gouvernement Chinois a été en mesure de bloquer aléatoirement le trafic de Freenet 0.5 en y ajoutant de nombreux nœuds sous son contrôle, suite à la découverte d'une faille permettant d'identifier les connexions Freenet. Cette faille a été corrigée, et Freenet a survécu. Le gros point noir se trouve sur les boards de discussions, qui sont pour nombre d'entre eux inutilisables car noyés sous les spams.
Principe de fonctionnement
La description de Freenet sur WikiPédia est remarquable, la voici :
« Chaque ordinateur du réseau Freenet stocke une partie des informations disponibles sur le réseau ; les ordinateurs connectés à Freenet sont des nœuds du réseau. L'espace alloué par le nœud sert à stocker des fragments de données du réseau chiffrés localement, dont l'utilisateur ne connait pas le contenu. Pour récupérer une information, identifiée par une clé unique, l'ordinateur client demande à d'autres ordinateurs du réseau la clé en question. Ceux-ci peuvent la renvoyer ou, s'ils ne l'ont pas dans leur cache, peuvent la demander à leur tour à d'autres nœuds, la limite de profondeur de la requête étant gérée par un maximum : le HTL, pour Hops To Live, littéralement sauts à vivre .
Ainsi, un ordinateur qui demande ou envoie un contenu ne se révèle pas, car il peut avoir initié l'envoi ou la demande d'envoi, ou l'avoir simplement relayée. De plus, il n'est pas possible de savoir à quoi correspond le trafic transitant par son nœud si l'on n'est pas déjà en possession du contenu.
Un ordinateur qui fait transiter une information peut en garder une copie dans son cache. Ainsi, les données les plus demandées sont présentes dans plus de nœuds et sont plus faciles à obtenir — on peut même parler de déplacement dynamique des données sur le réseau en fonction de la demande — tandis que les données rarement demandées sont peu à peu remplacées par d'autres et disparaissent du réseau après un délai indéterminé. L'ajout de données au réseau passe par leur inclusion au cache local, et par leur envoi vers d'autres machines pour forcer l'inclusion. Cette conception du stockage et du transfert de l'information garantit sa conservation en fonction de la demande, et permet à quiconque d'héberger tout contenu, sous réserve que celui-ci soit téléchargé de temps à autre. Il est également impossible de supprimer ou de censurer une information. Le réseau peut donc être utilisé pour diffuser des données illégales, ou plus ou moins douteuses.
La conception décentralisée du réseau interdit à quiconque — même à ses concepteurs — de stopper son fonctionnement. »
Source : WikiPédia
Darknet / Opennet
La différence tient dans l'autorisation que vous donnez à votre nœud de communiquer avec d'autres.
- En Darknet, le nœud ne communique qu'avec des nœuds amis, autorisés par le propriétaire. En Darknet pur, l'identification du nœud est théoriquement impossible, et une organisation ou un gouvernement qui voudrait localiser tous les nœuds Freenet ne pourrait pas le trouver, ce qui rend le Darknet résistant à la pénalisation de Freenet. Pour une utilisation optimal du réseau sur un nœud Darknet pur, il est recommandé de disposer d'au minimum une quinzaine de nœuds amis.
- A l'inverse Opennet permet au nœud de communiquer avec d'autres automatiquement. Ainsi, il est assez facile de déterminer que la machine fait tourner un nœud, mais le contenu du trafic reste caché. C'est la solution à utiliser pour les personnes qui n'ont pas de connaissances sur Freenet.
- Le mode dit "mixte" permet à un nœud d'utiliser en même Darknet et Opennet.
Les clés
Le vieille adage Unix s'applique également à Freenet : tout est fichier.
Les pages, les images, les vidéos, les messages sont tous découpés en fichiers de 32 Ko, identifiés par une clé unique. Pour les gros fichiers, la clé pointe vers un petit fichier texte comprenant les clés de tous les morceaux du gros fichier.
Voici les différents types de clé :
Les CHK
Ce type de clé désigne spécifiquement un fichier présent sur le réseau. Les clés de ce type ont cette forme :
CHK@gaSOniD6z0xH6t9BoRMHtXIn4rbjfydFxEsxynkYmfQbtR1CR8I2UVRGn1M,AAIC--8
Elle se décompose en 3 parties :
- gaSOniD6z0xH6t9BoRMHtXIn4rbj~xc3Ub5m3pRRYbY : le hash SHA256 du fichier, qui permet de l'identifier.
- 55GPlcaJKZA~fydFxEsxynkYmfQbtR1CR8I2UVRGn1M : la clé de déchiffrement.
- AAIC--8 : méta-données contenant, entre autres, l'algorithme de chiffrement utilisé.
Les KSK
Ce type de clé est semblable aux clés CHK, mais le nom est libre. Une KSK peut désigner un fichier spécifique, ou pointer vers une clé CHK.
Les clés de ce type ont cette forme :
KSK@un-nom-de-fichier.ext
Les SSK
Ce type de clé est un trousseau qui contient des clés CHK. Ces clés utilisent un chiffrement asymétrique qui permet de les mettre à jour, via l'existence d'une clé privée (insert URI) pour insérer une nouvelle version et d'une clé publique (request URI) récupérable par les utilisateurs de Freenet. Ces clés sont très employées pour appeler les freesites et les fichiers qu'ils contiennent.
Voici à quoi elles ressemblent :
SSK@RJnh1EnvOSPwOWVRS2nyhC4eIQkKoNE5hcTv7AL24iDMHOAvTvCqMlB-p2BO9zK96TOZA,AQACAAE/index_fr/95/
Elle se décompose en 5 parties :
- RJnh1EnvOSPwOWVRS2nyhC4eIQkKoNE5hcTv7~yY-sM : le hash de la clé publique. C'est la seule partie qui est stockée par le nœud.
- pOloLxnKWM~AL24iDMHOAvTvCqMlB-p2BO9zK96TOZA : la clé de déchiffrement.
- AQACAAE : méta-données contenant, entre autres, l'algorithme de chiffrement utilisé.
- index_fr : le chemin choisi par le créateur du site.
- 95 : le numéro de version du site.
Les USK
Il ne s'agit pas à proprement parler d'un type de clé mais plutôt d'une d'une extension du type SSK. Prenons la clé SSK donnée ci-dessus et transformons-la en USK :
USK@RJnh1EnvOSPwOWVRS2nyhC4eIQkKoNE5hcTv7AL24iDMHOAvTvCqMlB-p2BO9zK96TOZA,AQACAAE/index_fr/95/
Avec cette clé, votre nœud vous renverra la même chose qu'avec la SSK, mais si une nouvelle version a été insérée, c'est elle que vous recevrez, automatiquement.
Les MHK
Ce type de clé n'est pas encore présent sur le réseau, et sera disponible avec la version 0.8 de Freenet.
Il servira à partager de gros fichiers de manière plus efficace qu'avec les CHK, en garantissant une meilleure accessibilité aux blocs d'index des fichiers.
Installation de Freenet
La version actuelle de Freenet est la 0.7 (la version 0.7.5 est disponible), sortie début mai 2008. Elle devrait être remplacer par la version 0.8 l'hiver prochain si le développement suit la feuille de route prévu. Il faut noter que la version 0.5, qui n'est plus développée, continue néanmoins d'avoir ses adeptes, peu convaincus notamment par le darknet apporté par la version 0.7.
Java
Freenet utilise Java dans un soucis de portabilité. Ce langage permet de faire tourner un nœud sur de nombreux systèmes d'exploitations. il est donc indispensable de disposer de ce dernier.
Pour savoir si Java est installé et dans qu'elle version, utilisez la commande suivante :
$ java -version java version "1.6.0_13" Java(TM) SE Runtime Environment (build 1.6.0_13-b03) Java HotSpot(TM) Server VM (build 11.3-b02, mixed mode)
Si aucune version de Java n'est présente, il faut l'installer :
$ sudo apt-get install sun-java6-jre
Il est possible de se tourner vers OpenJDK en remplacement de Java.
Si plusieurs versions de Java sont disponibles sur votre machine, il est possible de sélectionner la version par défaut avec la commande :
$ sudo update-alternatives --config java
Vous aurez alors à choisir parmi les versions disponibles.
Freenet
L'installation de Freenet est très simple, il vous suffit de cliquez ici. Ouvrez ensuite le fichier avec Java. Il faut disposer du plugin Java pour Firefox, fourni par le paquet "sun-java6-plugin". 
Il est aussi possible de procéder à l'installation de façon manuelle via les commandes suivantes :
wget http://downloads.freenetproject.org/alpha/installer/new_installer.jar java -jar new_installer.jar
L'installation de Freenet dispose d'une petite interface graphique qui vous guidera au travers des différentes étapes, en français s'il vous plait.
Lors de l'étape ci-dessus, il est important de choisir un répertoire sur une partition qui dispose de pas mal d'espace libre. En effet tout le contenu téléchargé sur Freenet sera enregistré dans un dossier "download" situé dans ce répertoire. Cette recommandation est encore plus valable si vous envisagez de mettre en place un serveur Freenet sur votre machine.
L'installation suit ensuite son chemin jusqu'à la fin.
Voilà Freenet installé !
Première utilisation et configuration
Si l'installation se déroule correctement, une fenêtre ou un onglet de votre navigateur s'ouvrira automatiquement sur la page d'accueil de votre nœud fraichement installé. La première page ci-dessous n'est pas très engageante, mais il faut laisser le temps à votre nœud de découvrir le réseau et de trouver ses repères, c'est l'affaire de quelques minutes tout au plus.
Une fois que votre nœud aura terminé les première étapes de découverte, il vous sera proposé de le configurer via l'interface web :
Cette procédure de configuration est plutôt claire, et chaque étape et option est accompagné d'une note explicative qui vous permettra de choisir une configuration appropriée à vos besoin.
Maintenant il faut absolument ouvrir et rediriger les ports TCP et UDP sur votre MachinBox et éventuellement les ouvrir aussi sur votre machine si vous avez un firewall pour rendre Freenet accessible depuis l'extérieur. La liste des ports à ouvrir est consultable sur la page http://127.0.0.1:8888/friends/. DarkNet et OpenNet sont à ouvrir absolument, FCP uniquement si vous utilisez Frost et/ou Thaw.
Pour démarrer et arrêter votre nœud, il existe des boutons de contrôle en bas de la page d'accueil de FProxy, mais il est possible d'utiliser les commandes suivantes dans un terminal :
$ bash /chemin/vers/dossier/Freenet/run.sh start $ bash /chemin/vers/dossier/Freenet/run.sh stop
Le nœud peut mettre un certain temps à s'arrêter, c'est tout à fait normal, il faut juste attendre patiemment qu'il se termine.
La mise à jour du nœud est réalisable via le script update.sh qui se trouve lui aussi dans le répertoire d'installation :
$ /chemin/vers/dossier/Freenet/update.sh
Maintenant que la configuration est terminé, il ne reste plus qu'à vous lancez dans le grand bain et découvrir Freenet !
Découvrir Freenet
Notez que la majorité des liens présents dans la suite de ce billet nécessite que votre nœud Freenet soit correctement configuré et actif.
Il faut savoir que Freenet sera d'autant plus rapide que vous aurez laissé tourner votre nœud un long moment avant de consulter des liens. Le réseau a besoin de temps pour découvrir les autres nœuds existants, alors il ne faut pas hésiter si votre nœud ne tourne pas en permanence à attendre quelques dizaines de minutes après le démarrage de celui-ci avant de commencer à parcourir le réseau. Plus votre nœud sera connecté au réseau, plus il sera rapide.
Et même ainsi, il ne faut pas s'attendre à naviguer de liens en liens à la vitesse de l'éclair... Pour ceux et celles qui se souviennent (ou utilisent encore) des connexions RTC, c'est parfois du même acabit, même si la vitesse globale est bien meilleure que par le passé, en grande partie grâce à l'intégration de db4o. Alors quand ça tourne lentement, armez-vous de patience.
Via le navigateur et FProxy
L'installation de Freenet va de pair avec l'installation de FProxy accessible via l'adresse http://127.0.0.1:8888/.
Les premiers pas sont souvent réalisés en passant par le site Index des sites Français, ou aussi The Ultimate FreeNet Index et FreeNet ActiveLinks Index. Le moteur de recherche présent sur FProxy en première page n'attend également que vos requêtes. Le principe d'utilisation est sensiblement le même que pour internet, des sites (appelés freesite) et des liens, rien de bien sorcier, la navigation est habituelle.
Lors du téléchargement de fichiers binaires, il est préférable d'utiliser le lien "Télécharger en arrière plan et enregistrer dans le dossier download" pour laisser le téléchargement se faire en fond et continuer à se promener sur Freenet. Il est possible de consulter la liste des fichiers en cours de téléchargements et leurs états d'avancements dans la sections "Partage de fichier". Tous les fichiers ainsi téléchargés se trouveront dans le dossier "download" à l'intérieur du dossier d'installation de Freenet, une fois les téléchargements terminés.
Via Frost
Frost donne accès, entre autres, à l'une des parties les plus intéressantes de Freenet, les boards. Il s'agit simplement d'une hiérarchie de salon de discussion très semblable à UseNet ou aux aux webforums, mais avec la confidentialité du réseau Freenet.
Pour l'installer, il suffit de récupérer l'archive sur Freenet (lien au dessus) ou Internet (via le site du projet), de la décompresser dans un nouveau répertoire de votre choix, puis d'exécuter frost.sh.
Frost est depuis fin 2007, et encore aujourd'hui, victime de spams et DDOS massifs qui rendent de nombreux boards totalement inutilisable. Frost n'est pas pour autant mort, puisque plusieurs boards privés subsistent, mais il est recommandé de se tourner vers FMS, qui malheureusement à souffert lui aussi de problème de sécurité, mais qui est pleinement utilisable aujourd'hui.
Via FMS
FMS a été développé suite à la vague de spams contre Frost, il requiert la présence des librairies libpoconet6 libpocoutil6 libpocoxml6 et libpocofoundation6 :
$ sudo apt-get libpoconet6 libpocoutil6 libpocoxml6 libpocofoundation6
Il vous faut ensuite télécharger l'archive de FMS sur le site et la décompresser dans le répertoire de votre choix. Ne reste plus qu'à exécuter le binaire FMS pour le lancer :
$ ./fms
Puis enfin soit à vous connectez sur http://localhost:8080.
Soit à configurer votre client UseNet (Evolution, Pan ou encore ThunderBird) habituel pour consulter les boards directement avec celui-ci. Le serveur FMS écoute sur l'adresse "127.0.0.1:1119", il faut donc indiquer cette adresse comme serveur de News mais également comme serveur SMTP.
Avertissement concernant FMS
FMS n'est pas un programme officiel développé par l'équipe de Freenet. Il est développé par un utilisateur, en langage C, contraire aux spécifications de sécurité de Freenet. Le code source, libre, n'a pas été étudié scrupuleusement par l'équipe officielle, et les mises à jour fréquentes et les versions précompilées, ne sont pas vérifiées.
Un programme officiel similaire, Freetalk, est en cours de développement depuis novembre 2008. Il devrait être développé pour la version 0.8 de Freenet, initialement prévue pour avril 2009, puis reportée de quelques mois, d'ici l'hiver 2009 normalement. Freetalk est très attendu, et devrait relancer considérablement les échanges entre utilisateurs sur Freenet via un système de notation permettant d'éliminer les clients néfastes aux discussions sur le réseau et de privilégier les utilisateurs corrects. Une solution contre les spams qui ont pourri Frost.
En attendant, FMS peut être utilisé sans risque. Mais nous devons rappeler une règle générale valable pas uniquement dans Freenet : prudence.
Créer son fressite
Sur Freenet, pas besoin de nom de domaine, il suffit de créer un site, l'insérer sur le réseau et publier sa clé. Des logiciels de création de sites existent, par exemple jSite (ici sur le web). Un excellent tutoriel est disponible sur le wiki du site de Freenet, qui explique pas à pas la procédure de création et d'insertion.
Critiques et limites
- Au même titre que Tor, les critiques à l'égard de Freenet par rapport aux contenus douteux qu'il abrite sont fondées... Cependant interdire Freenet ou toutes autres formes de réseau anonyme en pensant éradiquer les actes ou pensées "déviantes" me semble totalement illusoire. Ces comportements extrêmes n'ont pas eu besoin d'Internet pour prospérer, et la vigueur qui se dégage parfois de certaines critiques concernant Freenet serait bien plus utiles si elle se tournait vers les racines des problèmes, plutôt que sur ses conséquences.
- Dans le même ordre d'idées, il convient de garder un bon esprit critique vis-à-vis des informations découvertes sur Freenet. Il y a de tout, du bon comme du très bon, du mauvais comme du très mauvais, et les auteurs ne sont pas identifiables sauf s'ils le désirent.
- Freenet est particulièrement lent... L'utilisation n'est pas des plus agréable, mais avec un minimum de patience, il n'y a aucun problème. Il faut savoir que Freenet ne recherche pas en priorité la vitesse et la convivialité d'utilisation, mais l'anonymat ou aussi l'impossibilité de retirer de force un contenu particulier. Ces objectifs sont atteints, mais au détriment de la vitesse.
- Le réseau souffre d'une prise en main assez délicate et peu claire. Il est difficile de trouver ses marques au début, et c'est un point qui peut rebuter pas mal d'utilisateurs. Mais les évolutions récentes de FProxy vont dans le bon sens, et rendent les premiers pas de plus en plus faciles.
- Malgré des efforts dans ce domaine, le contenu des freesites n'est pas toujours des plus excitant... Les espaces riches en informations et agréables à lire ne sont pas légion, et souvent un peu difficile à trouver. Le faible nombre d'utilisateurs explique bien sûr ce manque actuel. Reste à espérer que l'amélioration de la convivialité de l'utilisation de Freenet ira de pair avec une amélioration de la richesse de son contenu.
- Pour ceux qui cherchent un réseau de téléchargements anonymes, Freenet n'est pas la meilleur solution. Des réseaux P2P spécialisés existent, comme stealthNet, qui sont bien plus appropriés pour ce type d'utilisation. N'allez pourtant pas en conclure qu'on ne trouve pas de films ou autres sur Freenet, ou qu'il faut laisser tourner le nœud trois semaine pour en récupérer un. C'est juste qu'il ne s'agit pas de la raison d'être principale de ce réseau.
Freenet est un espace d'échange remarquable, qui dispose d'atouts séduisants, et qui manque juste de fréquentation pour s'enrichir et devenir incontournable.
La version 0.7.5 est disponible depuis le 19/06/09. Elle apporte plusieurs grosses évolution, en attendant la très prometteuse version 0.8 ! Voici une petite liste des principales nouveautés :
- Une nouvelle base de données, DB4o (Database for Objects), qui réduit largement les ressources mémoire utilisées par un nœud. Freenet s'ouvre aux petites configurations.
- Amélioration de l'interface web FProxy, plus abordable pour les débutants.
- Nouvelles interfaces d'installation, plus simples et qui améliore la compatibilité avec Windows Vista.
- Refondation du système de plug-ins, avec (bientôt) la possibilité de créer des dépendances inter-plugins, et de les mettre à jour automatiquement.
Pour effectuer la mise à jour, il suffit d'exécuter le script update.sh présent dans le répertoire d'installation de Freenet.
-
Balmix · 27 juillet 2009, 23:34
-
Jolie travail!
Mais par contre comment on fait pour accélerer le chargement des pages? Y a des trucs pour ca? -
Matthieu Patout · 28 juillet 2009, 17:10
-
@Balmix : Je cite un passage d'un article de kraftonZ sur le forum Numérama :
« Je télécharge peu
je donne un petit cache (moins de 200mo)
je donne peu de débit (derriêre un firewall)
ça ira pas vite: Freenet va vous brider....je télécharge beaucoup,
je donne un petit cache
je donne peu de débit
ça ira encore moins vite (vous êtes désigné comme nocif (pique assiette !)pour le réseau par les autres pairs qui vont vous snober royalement !)je télécharge beaucoup
je donne un petit cache
je donne beaucoup de débit (upload et download)
ça ira normalement voir viteje télécharge beaucoup
je donne un gros cache (supérieur à 2go)
je donne tout mon débit (Up et Dl)
je suis prioritaire sur tous les autres noeuds !
(La vitesse sera très rapide)je télécharge peu
je donne un gros cache
je donne tous mon débit
je suis intégré au réseau, mais comme le réseau ne sait pas à quoi je sers, les débits vont être moyens (car le réseau n'abusera pas de votre gentillesse mais vous serez totalement prioritaire et mis en liste VIP si vous lancez un téléchargement) »J'utilise un cache de 10 Go et réserve 60/300 Ko/s d'upload/download au nœud Freenet. Avec ça la navigation et les téléchargements de gros fichiers sont tout à fait correct.
-
Balmix · 29 juillet 2009, 00:06
-
@Matthieu Patout : Ok mon cache et mon débit sont très petits dans la config, j'ai augmenté les valeurs ca devrait être mieux. Merci !












