The Freenet Help Site
Licences used on this wiki
Welcome anonymous user to Freenet WikiServer
 

Qu'est-que Freenet ?

À 23 ans, Ian Clarke crée le premier réseau de type Internet, puisqu'il réutilise à merveille sa structure, son architecture et ses technologies associées, où une quelconque forme de censure est impossible, où chaque individu "freenaute" reçoit une liberté totale d'expression et demeure entièrement responsabilisé de ses droits cruciaux.

Grâce à une architecture de réseau non centralisée (contrairement à Internet utilisant systématiquement une relation Client/Serveur) se rapprochant de l'informatique distribuée, par l'intermédiaire de son ordinateur chaque freenaute est "maître" d'une parcelle de cette nouvelle toile.

Avec ce mécanisme, Freenet sera normalement plus efficace que le Net actuel.
"Plus le Net grossit, plus il est lent, parce que les serveurs ne suivent pas.
Freenet, lui, monte en puissance au fur et à mesure qu'il gagne des utilisateurs." En effet, sur le principe de Napster,chaque freenaute alloue un espace disque, où il accepte que soient véhiculés et/ou stockés les données et les fichiers du réseau Freenet.

Cependant, pour assurer l'anonymat des membres et la sécurité d'accès aux informations transportées par le réseau, tous les fichiers sont cryptés. Pour trouver un document sous Freenet,le réseau utilise un dialogue de proche en proche entre ses divers éléments, jusqu'à ce qu'il pointe le "lieu de stockage" du document recherché, pour ensuite établir une connexion directe (Peer To Peer = point à point ) entre le destinataire et l'expéditeur anonymes.

Il devient donc impossible, et ce à tous les niveaux du réseau, de pouvoir controler la nature et le contenu de n'importe quel document placé sous un de ses espaces disques, ni son origine, ni son lieu provisoire de stockage.

A la fois avantage et inconvénient : Freenet ignore les jugements de valeur. Si une photo d'Adolf Hitler est plus demandée que la Déclaration des Droits de l'Homme, elle sera donc mieux distribuée. Devenir membre de Freenet, c'est donc accepter d'accueillir un jour sur son PC des fichiers illégaux ou contraires à ses convictions. Même les freenautes qui offrent une partie de leur disque dur ne savent pas ce que met le réseau dedans.

Autre mécanisme crucial de Freenet : la duplication

En effet, pour chaque document résultant suite à une recherche, le réseau lui crée une nouvelle copie ( qui sera aléatoirement placé ailleurs par le réseau ), ainsi plus un document est demandé, populaire, plus il sera présent "en nombre" sur le réseau, et donc plus disponible.

On comprend vite alors qu'aucun contrôle ne puisse être exercé, puisque même s'il on veut supprimer un fichier, le simple fait de le chercher, le upliquera, etc...

Conséquence : la censure multipliera ce qu'elle vise à détruire !

Et le contenu de Freenet sera constamment et perpétuellement à l'image de la demande d'information des freenautes.

Lorsque l'on se frotte pour la première fois à Freenet, on manque de repère. Cela ressemble à du Web, mais ça n'en est pas. Bien vite, on comprend qu'il faut changer la représentation que l'on se fait du réseau. Avec le web, on navigue de site en site, grâce à des liens. Parfois, un site ne répond pas, bref... sur le web on a bien le sentiment de se connecter sur des ordinateurs, reliés entre eux par un réseau - tant physique que logique - et de consulter les données se trouvant sur un de ces ordinateurs.

Donc, Freenet est un réseau "partagé", à l'intérieur d'Internet, c'est-à-dire qu'il est formé de tous les ordinateurs connectés à Internet et faisant tourner le logiciel Freenet, qui se mettent en relation et dialoguent les uns avec les autres en dehors de toute structure centralisée, sur un schéma proche des logiciels Napster ou Gnutella (les outils favoris des amateurs de fichiers MP3).

Mais Freenet va plus loin que Gnutella : il est conçu spécialement pour assurer l'anonymat et la permanence des informations qui y résident. Toute censure est impossible car Freenet utilise un système de mémoire-cache et de routage intelligent, qui dirige les requêtes plus efficacement, clone automatiquement les informations les plus populaires, et rend la saturation du réseau presque impossible.

Pour faire partie du réseau Freenet, il suffit juste d'avoir un ordinateur avec une connexion internet et la possibilité de lancer un serveur Freenet.

Pourquoi Freenet est unique ?

  • Freenet ne repose sur aucune forme d'administration ou de contrôle centralisée.
  • Il est virtuellement impossible de retirer par la force un document de Freenet.
  • Aussi bien les auteurs que les lecteurs des informations stockées sur ce système peuvent rester anonymes s'ils le désirent.
  • Les informations peuvent être réparties sur le réseau Freenet de telle manière qu'il soit difficile de déterminer où elles sont stockées.
  • Tout le monde peut publier des informations : il est inutile d'acheter un nom de domaine, ni même de posséder une connexion internet permanente.
  • La disponibilité de l'information augmente en proportion de la demande.
  • Une information peut se déplacer d'une partie d'Internet où elle est faiblement consultée pour un autre lieu où la demande est plus grande.

Installation

1) Installer JAVA

Freenet est écrit en Java. Vous avez donc besoin d'avoir un JRE (Java Runtime Environment) installé sur votre machine.

Si vous n'en avez pas, téléchargez gratuitement chez Sun le JRE : http://java.com/fr/download/linux_manual.jsp


Sous Linux

Pour installer le JRE sous Linux, il est nécessaire d'être "root".
  • Le JRE est un "tgz" qu'il suffit de décompresser. Par exemple :
    • Loggez vous "root" sur une console
    • Copiez le fichier jre1.5.0_02-linux-i586.bin dans le répertoire /usr/java/ de votre machine (créez le avant s'il n'existe pas, ça va de soi).
    • Tapez :
      cd /usr/java/
    • Décompressez-le en lançant l'installation :
      ./jre1.5.0_02-linux-i586.bin
    • ainsi le dossier jre1.5.0_02 est créé.
    • Si vous installez le JRE dans /usr/java/bin/ par exemple, il faut que la commande "java" soit accessible dans le "path" système. Le plus simple pour cela est de créer un lien symbolique.
      • Créez donc un lien symbolique comme suit (sous root) :
         ln -sv /usr/java/bin/java /usr/bin/java

Sous Windows

Pour Windows, l'installation du JRE est simple et ne nécessite aucune manipulation particulière (même pas de rebooter ! ;-)

2) Installer le logiciel FREENET

Récupérez ensuite la dernière version de Freenet disponible pour votre plate-forme, en téléchargeant :

Sous Linux

Pour installer et faire tourner Freenet sous Linux, il n'est pas nécessaire d'être "root", à condition que Java soit déjà installé sur la machine, et que vous puissiez exécuter un programme Java dans votre répertoire personnel.

Sous Windows et Linux

  • Créez un répertoire pour Freenet dans votre répertoire personnel
  • Extrayez le contenu de l'archive Freenet (.zip ou .tgz) dans ce répertoire.
C'est tout ! Vous pouvez commencer à utiliser Freenet !


Comment ça marche ?

Avec Freenet, il est préférable de se représenter mentalement une "très grosse machine", unique, sur laquelle on se connecte pour fouiller dans ses entrailles et y trouver un fichier de données. En effet, sur Freenet on ne met pas un fichier sur un serveur, on l'insère dans le Freenet. Une fois le document inséré, advienne que pourra ! Physiquement, ce document sera stocké dans un noeud freenet. Mais à chaque fois (ou presque) qu'un utilisateur demandera à consulter ce document, il sera dupliqué et stocké sur un autre noeud. Ainsi, il devient absurde de référencer un document d'après son emplacement physique comme sur le web ( http://machine/repertoire/nom_du_document ) puisque sur Freenet l'emplacement non seulement n'est pas unique, mais qui plus est peut changer à tout moment !

Chaque utilisateur peut installer son propre noeud Freenet, pourvu qu'il soit doté d'une connexion "permanente", ou du moins, pas trop volatile. L'ADSL étant ainsi considéré comme une connexion "permanente". Il suffit d'installer un serveur Freenet sur sa machine. Les implémentations standards des serveurs Freenet sont des programmes JAVA, mais ce n'est nullement une obligation technique. Lors de l'installation, vous indiquez au serveur la bande passante qu'il est autorisé à consommer, ainsi que l'espace disque que vous lui allouez. Si vous n'avez pas trop de place sur votre disque dur, ne lui laissez que quelques dizaines de mégaoctets, si vous ne savez plus quoi faire de votre espace de stockage, quelques gigaoctets seront bien entendus appéciés. Une fois le serveur démarré, l'espace ainsi octroyé à votre noeud viendra enrichir l'espace de stockage global de Freenet !

Attention! La première fois que vous utilisez un Freenode, il est fort probable que vous voiez tas de RNF et autres messages d'erreurs. C'est par-ce-que votre Freenode doit d'abord être integré dans le reseau Freenet. Ca dure 10-15 minutes aux minimum, et l'integration totale (et vitesse max) seulement apres 24-48 heures.


Les clefs

Des clefs à la place des adresses

La notion "d'emplacement" étant tout à fait inadéquate dans le cas de Freenet, les documents sont munis de clefs d'accès. C'est en fournissant cette clef que l'on peut identifier et accéder à un document. Il existe 3 types de clefs.

Les keyword-signed key (KSK) qui sont un simple hash SHA-1 du titre du document

Les signed-subspace key (SSK) qui permettent de créer son propre espace de nommage privé. Par exemple text/poems/romantic/, afin de pouvoir "placer" différents documents dans cet "espace de nommmage". Cet espace de nommage permet de se créer sa propre hierarchie "logique", tout en gandant à l'esprit que physiquement les documents peuvent être éparpillés entre tout les noeud freenet.

Les content-hash key (CHK) permettent, à l'aide de clefs d'authentifications générées lors de la génération de la clef, d'autoriser le propriétaire du document à mettre à jour, bien qu'il ne sache pas où le document se trouve physiquement.

Une clef Freenet sera donc de la forme : <code>SSK@npfV5XQijFkF6sXZvuO0o kG4wEPAgM/homepage//</code> Dans cet exemple, homepage est l'espace de nommage, SSK le type de clef, et npf...Ag M? est la clef publique. À chaque clef publique est évidemment associée une clef privée connue de l'auteur du document ou du site.


Des données inaltérables

C'est bien là un des principaux intérêts de Freenet. Les données se trouvent être intrinsèquement liées aux clefs (privées et publiques) qui les identifient. Impossible d'accéder à une donnée sans sa clef publique, impossible de la modifier sans la clef privée générée lors de l'insertion dans le réseau. Malheur à celui qui perd ses clefs ! Aucun administrateur ne pourra lui envoyer par email son "mot de passe" oublié, et son site sera condamné à une lente agonie dans le silence glacé du réseau ;-)... en espérant que personne ne le consulte pendant une période assez longue afin qu'il puisse tout à fait disparaître définitivement.

Cette gestion de clefs se révèle être assez fastidieuse, en effet, Freenet étant encore expérimental, aucun outil n'est là pour vous aider à gérer vos données et vos clefs. Vous êtes donc pour l'instant condamnés à donner toutes vos instructions d'insertion de données avec des lignes de commandes. Mais j'ai retrouvé là le frisson que j'ai eu lors de ma découverte de l'Internet, à une époque où le web n'existait pas encore, et où l'essentiel des opérations se faisaient par des lignes de commandes barbares.

Pour consulter le Freenet, il y a pour cela deux solutions. Tout d'abord, la plus simple à mettre en oeuvre, est d'utiliser le proxy fourni avec le serveur de noeuds. C'est ce proxy qui se charge de traduire les clics de l'utilisateur en requêtes Freenet. Sur la copie d'écran ci-dessus, c'est ainsi que l'accès à Freenet est effectué. C'est en utilisant des proxys "ouverts" aux connexions venant d'autres machines qu'il est possible d'utiliser le Freenet sans avoir à installer son propre noeud. L'autre solution consiste à récupérer le KIO_Slave pour KDE qui permet ainsi à Konqueror de naviguer sur Freenet aussi simplement que sur le web.


Un système décentralisé

Au départ, un noeud doit connaître l'adresse d'au moins un autre noeud. Par le suite, il constituera ses propre tables de routage. Lorsque vous demandez l'accès à un document, votre noeud vérifie s'il possède ces données dans son propre espace de stockage. Si ce n'est pas le cas, il va demander la clef au(x) noeud(s) présent(s) dans sa table de routage. Chaque noeud va opérer de la même manière, la requête va donc balayer le Freenet en "sautant" de noeuds en noeuds. Des mécanismes empêchent bien sûr les requêtes de "tourner en rond". Ce routage peut être comparé à un parcours récursif de graphe. Votre noeud va donc ainsi prendre connaissance de la topologie du réseau, des adresses des noeuds, et ses performances vont en conséquence s'en trouver améliorées au fur et à mesure de la constitution de sa propre table de routage.

Ces mécanismes mettent tout les noeuds sur un pied d'égalité. Aucun serveur n'est nécessaire au bon fonctionnement du réseau. Plus il y a de serveurs ; plus le réseau est performant, mais aucune ressource n'est critique. Ici nous n'avons pas de serveur DNS qui régissent l'accès aux sites, et donc aux données.

Sites traitant de Freenet en Français