Freenet
le sous-réseau chiffré et décentralisé
 

La page officielle de Freenet : http://freenet.sourceforge.net
Traduction française par J.S. Lebacq : http://www.freenet-project.fr.st  
 
 

Qu'est-que Freenet ?

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 ?
(extrait de la FAQ)

- 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 :
   - Pour Linux, 1.2, à l'adresse :
http://java.sun.com/products/jdk/1.2/jre/download-linux.html
   - Pour Windows, 1.3, à l'adresse :
http://java.sun.com/j2se/1.3/jre/download-windows.html
- Installez le JRE selon les instructions fournies.

  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_2_2-linux-i386.tar.gz dans le répertoire /usr/local/bin de votre machine
   - Tapez : 

cd /usr/local/bin
   - Décompressez-le en tapant : 
tar -zxf jre1_2_2-linux-i386.tar.gz
   - Changez son propriétaire en tapant :
chown -R root: jre1.2.2
   - Assurez-vous que les droits d'exécution sont corrects en tapant :
chmod -R a+rX jre1.2.2
- Si vous installez le JRE dans /usr/src/local/bin/jre1.2.2 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/src/local/bin/jre1.2.2/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 (actuellement la version 0.2), en téléchargeant :
- Pour Linux : 
http://download.sourceforge.net/freenet/freenet-0.2.tgz
- Pour Windows :
http://download.sourceforge.net/freenet/freenet-0.2.zip

  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 !
 
 

3) L'interface graphique beta : Freenet Centre

Freenet Centre (FNC) est disponible sur : http://ironbark.bendigo.latrobe.edu.au/FNC/

Freenet Centre

 
 
Les utilisations possibles

Freenet a pour le moment une interface de type "ligne de commande". Sous Linux, il s'utilise donc dans une console virtuelle, ou un X-Term. Sous Windows, il s'utilise depuis une "fenêtre DOS".

Freenet est composé de deux modules:
- Un module "client", qui permet d'envoyer et de récupérer des fichiers sur Freenet;
- Un module "serveur", qui permet de faire de votre machine un "noeud" (serveur) du réseau Freenet.
 

Client et "noeud serveur"

Il n'est pas obligatoire de faire tourner un "serveur" pour pouvoir utiliser le "client".

Nous vous conseillons d'installer un "noeud serveur" sur votre machine si :
- Vous avez une connexion permanente ou semi-permanente à Internet (ligne spécialisée, câble, ADSL...)
- Vous avez une adresse IP fixe ou qui change rarement (une fois par semaine par exemple)
- Vous laissez tourner votre machine 24h/24 sans l'éteindre
- Vous acceptez de consacrer quelques dizaines ou centaines de Mo de votre disque dur pour les données hébergées par votre serveur Freenet. C'est vous qui déterminez l'espace que vous souhaitez consacrer à ces données sur votre disque. Moins de 50 Mo n'est pas raisonnable, mais il n'y a pas de maximum ;-)
- Vous souhaitez avoir une participation réellement active à ce projet
- Vous désirez que vos transferts bénéficient d'une plus grande confidentialité

Nous vous conseillons de NE PAS faire tourner de "noeud serveur" si :
- Vous avez une connexion par modem
- Vous avez une adresse IP dynamique qui change fréquemment
- Vous ne restez pas connecté longtemps à Internet
- Vous ne souhaitez qu'envoyer ou récupérer des fichiers, mais pas en stocker
- Vous ne disposez pas de l'espace disque nécessaire à un "noeud serveur"
 
 

Les commandes pour insérer et récupérer
 

Trois commandes permettent d'utiliser Freenet

freenet_server (Linux) ou fserve (Windows) permet de lancer le serveur.

freenet_request (Linux) ou frequest (Windows) permet de rechercher et récupérer des fichiers.

freenet_insert (Linux) ou finsert (Windows) permet d'envoyer des fichiers sur Freenet.
 
 

Pour insérer un fichier sur Freenet

finsert -serverAddress <server_address> -htl <profondeur> <Nom_de_la_clé_à_créer> <nom_du_fichier_à_envoyer>

- Adresse du serveur (optionnelle si un noeud tourne sur la machine).
     - Défaut: tcp/127.0.0.1:19114 (Pour que cela fonctionne, il faut donc qu'un noeud Freenet tourne sur "localhost" (votre propre machine). Si aucun noeud ne tourne sur "localhost", il faut obligatoirement préciser le nom d'un serveur extérieur connu, pris par exemple dans la liste disponible sur http://freenet.sourceforge.net/inform.php)
     - Format: -serverAddress <protocole>/<adresse_IP>:<port>

- Nombre maxi de sauts (profondeur de recherche) (optionnel)
     - Défaut : 5
     - Maxi : 99 (?)
     - Format : -htl <nb_sauts>
     - Exemple : frequest -htl 15

- Nom de la clé à créer (obligatoire)
    - Format : <nom_de_la_clé_à_créer>

- Nom du fichier à envoyer (obligatoire)
    - Format : <nom_du_fichier_à_envoyer>
 

Exemple complet :

finsert -serverAddress tcp/24.64.121.178:19114 -htl 20 /rubrique/sous_rubrique/monfichier.txt monfichier.txt

Cet exemple veut dire :
- Envoie le fichier "monfichier.txt".
- Sous le nom de clé "/rubrique/sous_rubrique/monfichier.txt".
- Au serveur tcp/24.64.121.178:19114.
- Avec une profondeur de 20 (ce qui veut dire que le premier serveur contacté retransmettra ce fichier à une chaîne de 19 serveurs supplémentaires).
 
 

Pour récupérer un fichier présent sur Freenet

frequest <nom_de_la_clé_sur_freenet> -htl <profondeur> <nom_du_fichier_à_sauvegarder_chez_moi>

- Adresse du serveur (optionnelle si un noeud Freenet tourne sur votre machine. Sinon, il faut obligatoirement préciser le nom d'un serveur extérieur connu, pris par exemple dans la liste disponible sur http://freenet.sourceforge.net/inform.php)
   - Format : -serverAddress <protocole>/<adresse_IP>:<port>
   - Exemple : frequest -serverAddress tcp/209.163.147.89:19114

- Nombre maxi de sauts (profondeur de recherche) (le paramètre "htl" est important, notamment pour trouver un fichier un peu "loin" et un peu "rare". On peut aller jusqu'à 99. Par défaut, htl est de 5, ce qui ne permet pas toujours de trouver le fichier du premier coup)
   - Défaut : 5
   - Maxi : 99 (?)
   - Format : -htl <nb_sauts>
   - Exemple : frequest -htl 15

- Clé à récupérer (obligatoire)
   - Format : <nom_clé>
   - Exemple : 
frequest /crypto/pgp/7.0/beta/windows/PGP_7.0_Beta_Windows.zip

- Nom du fichier à créer localement (facultatif)
   - Défaut : StdOut (pas très utile pour du binaire ;-)
   - Exemple : 
frequest /crypto/pgp/7.0/beta/windows/PGP_7.0_Beta_Windows.zip PGP_7.0_Beta_Windows.zip
   - (Le 1er paramètre est le nom de la clé, le 2ème est le nom du
fichier à créer localement)
 

Exemple complet:

frequest -serverAddress tcp/209.163.147.89:19114 -htl 15 /crypto/pgp/7.0/beta/windows/PGP_7.0_Beta_Windows.zip PGP_7.0_Beta_Windows.zip

Cet exemple veut dire :
- Emettre une demande de fichier.
- Vers le serveur tcp/209.163.147.89:19114.
- Rechercher jusqu'à une profondeur de 15 (serveurs au total).
- Le fichier identifié par la clé "/crypto/pgp/7.0/beta/windows/PGP_7.0_Beta_Windows.zip".
- Et le stocker sur le disque dur, dans le répertoire courant, sous le nom PGP_7.0_Beta_Windows.zip
 
 

Les commandes pour faire tourner un "noeud serveur"
 

- Editez le fichier "freenet.ini" qui sert à la configuration du serveur
- Vous n'aurez généralement besoin que de toucher à deux paramètres :
   - diskCache=50000000 indique la taille (en octets) de l'espace que vous allouez à des données Freenet sur votre serveur. La valeur par défaut, 50000000, signifie 50 Mo. Si vous avez de la place, mettez plus ;-)
   - informWrite=yes indique si vous voulez que votre serveur soit "visible" sur la page http://freenet.sourceforge.net/inform.php quand il tourne. Si vous ne le voulez pas, mettez "no".
 

Pour lancer votre serveur

  Sous Windows :
1) Ouvrez une fenêtre DOS
2) Mettez-vous dans le répertoire où Freenet est installé, en tapant par exemple :

CD  \freenet
3) Lancez le serveur en tapant :
fserve
4) Le serveur monopolise la session DOS tant qu'il tourne. Laissez-le dans son coin et oubliez-le ;-)

  Sous Linux :
1) Loggez vous sur une console ou un X-term (pas besoin d'être "root")
2) Mettez-vous dans le répertoire où Freenet est installé, en tapant par exemple :

CD  freenet
3) Vous pouvez lancer le serveur de 3 manières:
   a) En mode "Interactif". Le serveur Freenet monopolisera cette console tant qu'il tournera. Pour cela, tapez :
./freenet_server
   b) En "tache de fond". Le serveur sera lancé sans monopoliser la console -- mais il s'arrêtera si vous vous déloggez de cette console ou si vous la fermez. Pour cela, tapez :
./freenet_server &
   c) En "tache de fond nohup" (conseillé). Le serveur sera lancé sans monopoliser la console, et il ne s'arrêtera pas, même si vous vous déloggez ou si vous fermez cette console. Pour cela, tapez :
nohup ./freenet_server &
   d) Pour arrêter un "server node" qui tourne détaché, tapez "ps ax" pour trouver le n° de processus correspondant au programme "..../java Freenet.node.Node" et faites simplement un "kill" de ce processus.
 

  Sous Linux et Windows :
Note: Pour que votre "noeud serveur" Freenet soit "vu" par les autres noeuds, et qu'il commence à être sollicité (recevoir des requêtes et des inserts), il faut :
- Soit que votre serveur se "signale" dans http://freenet.sourceforge.net/inform.php (voir paragraphe sur le fichier ini).
- Soit que vous effectuiez un certain nombre "d'inserts" vous-même depuis votre serveur, afin que celui-ci devienne visible pour le réseau.
 
 
 

Documentation

Lire la FAQ française

Articles :

NoSpoon : "FreeNet : le réseau anonyme distribué qui supplantera le Web" (08/03/2000)
Le Monde : "Un nouveau sous-réseau crypté et décentralisé garantit la liberté d'expression" (27/05/2000)
)Transfert : "Freenet garantit un total anonymat" (30/05/2000)
Libération : "L'anarchie est au bout du clavier" (23/05/2000)
 
 


Mise à jour : juillet 2000
© 1997, 1998, 1999, 2000, pplf 14A0 4A67 0431 2402 684D 6EBA 537F 664D 3F80 0D58
pgpenfrancais@bigfoot.com


accueil  |  présentation  |  sommaire  |  histoire  |  version française  |  mode  d'emploi  |  news  |  autre crypto