# Hyphanet

Hyphanet (Freenet avant 2023) est un réseau informatique anonyme et distribué construit sur l'Internet. Il vise à permettre une liberté d'expression et d'information totale fondée sur la sécurité de l'anonymat, et permet donc à chacun de lire comme de publier du contenu. Il offre la plupart des services actuels d'Internet (courriel, Web, forums, etc.).
Freenet a été créé par suite d'une inquiétude croissante à propos des libertés sur internet, ainsi résumée par Mike Godwin en 1996 : « Je suis tout le temps soucieux au sujet de mon enfant et d'Internet, bien qu'elle soit encore trop jeune pour se connecter. Voilà ce qui m'inquiète. Je redoute que dans 10 ou 15 ans elle vienne me voir et me demande : Papa, où étais-tu quand ils ont supprimé la liberté de la presse sur Internet ? »

## Principe de fonctionnement

Freenet est un espace de stockage partagé et distribué, comparable par exemple aux tables de hachage distribuées des clients BitTorrent, le grand avantage étant que les données sont stockées sous forme chiffrée. Contrairement à BitTorrent où on choisit spécifiquement de partager certains fichiers, Freenet va commencer par relayer des données, et en stocker une partie. De cette manière, les données les plus populaires sont aussi les plus redondantes, un excellent moyen de résister à la censure.
Le fait de stocker — et de faire transiter — les données sous forme de blocs chiffrés permet un déni plausible puisque, lorsqu'on ne possède pas la clé pour déchiffrer le contenu, on ne peut identifier ce qui est stocké ou relayé par le nœud.
De par sa conception, Freenet permet d'exploiter une topologie de type mixnet c'est-à-dire combinant un réseau pair à pair de type "DarkNet" (dans lequel tous les pairs sont des personnes de confiance) et "OpenNet" ("réseau ouvert", dans lequel des pairs peuvent être des inconnus).
La conception acentrée (car sous forme d'architecture distribuée) du réseau interdit à quiconque — même à ses concepteurs — d’interrompre son fonctionnement.

## Logiciels

Les fondateurs et responsables du réseau Freenet sont également les auteurs du logiciel Fred (Freenet REference Daemon, couramment appelé Freenet par abus de langage), qui est un logiciel libre programmé en Java permettant de communiquer selon le protocole du réseau Freenet. Chaque ordinateur possédant un moyen de faire fonctionner Java peut le faire fonctionner et donc accéder à Freenet (Windows, Mac OS, Linux, Unix, etc.).
Fred n'étant qu'un daemon, il est nécessaire d'utiliser un navigateur Web pour s'y connecter (à l'adresse http://localhost:8888/). Fred est capable de générer l'interface de gestion du nœud, et intègre par ailleurs un système de signets. Un navigateur libre disposant d'un mode de navigation privée ou incognito est fortement recommandé du point de vue de la sécurité et de l'anonymat.

### Freesites Insertion Wizard

Freesites Insertion Wizard (FIW) est un logiciel développé en Java qui permet d'insérer un freesite quel que soit son type (One-shot, Edition ou DBR). Il gère seul les clés des freesites, leur insertion dans Freenet, ainsi que la récupération des réponses que font les visiteurs par l'intermédiaire d'un formulaire NIM.
Son interface est complexe et son développement est arrêté. Aujourd'hui il existe deux autres projets de logiciel visant à le remplacer avec une interface plus simple et plus agréable : Exhale et Jsite.

### Frost

Frost n'est pas un outil officiel de Freenet; il est vulnérable au spam et aux attaques par déni de service.
Frost est un logiciel servant à l'échange de fichiers pair à pair et la messagerie instantanée. Il permet en outre de télécharger des fichiers que l'on trouve au moyen d'une fonction de recherche intégrée (un peu comme un p2p classique). Il est également possible d'utiliser Frost en parallèle avec Fuqid, qui gère plus agréablement les téléchargements.
Lors du 1er lancement, Frost ne connaît qu'un nombre limité de « boards » (forums de discussion) et aucun fichier. La liste des boards est publiée régulièrement et viendra s'ajouter automatiquement à la liste des boards consultables.
De même, l'outil de recherche de Frost n'affiche dans ses résultats que les fichiers pour lesquels il a reçu le message annonçant leur insertion, c’est-à-dire très peu.

### Freemail

Freemail est un logiciel libre de courriel fonctionnant exclusivement sur le réseau Freenet. Il permet d'avoir un courriel sur ce réseau et de s'échanger des courriels anonymes et chiffrés.
Le projet est fonctionnel mais le développeur demande à d'autres de le reprendre par manque de temps.

### Plugins

Il est possible d'obtenir des plugins pour le nœud à travers le réseau de façon sécurisée. Les plugins permettent en général d'offrir des fonctionnalités supplémentaires, comme la génération d'index et la recherche dans les freesites.
* ShareLink: Pastebin/Pad sous forme de Freesite
* WoT : Implémentation complète de la "Toile de Confiance" (Web of Trust), permet de gérer le spam et le flood en évaluant la réputation d'un pseudonyme.
* Sone : Réseau social s'appuyant sur WoT
* Freemail: gestion des mails sur freenet, la prochaine version s’appuiera sur WoT (utiliser un client de messagerie classique pour parcourir vos freemails)
* Freetalk: Futur forums s'appuyant sur WoT (aujourd'hui à l'arrêt).

### Outils externes utilisant le réseau Freenet

* jSite, propose une interface plus conviviale que celle présente par défaut pour insérer des freesites, ensemble de fichiers statiques formant des pages Web ;
* Thaw, pour l'insertion et le téléchargement de fichiers à la chaîne
* Freemail, offre un système de courrier électronique anonyme à travers le réseau Freenet.

#### Forums

* FMS (Freenet Message System), système de newsgroups fortement-anonyme - écrit en C++ - résistant au spam (ce dont souffrait Frost) et basé sur une « toile de confiance » (système de confiance (notation) entre pairs)
* Frost, système avancé de forums anonymes. Permet à une personne de ne pas avoir de pseudonyme. Frost est jugé plus simple d'emploi que FMS. Il est à noter que le développement de Frost est inactif depuis 2011.
* Syndie : logiciel capable d'accéder à des forums (hébergés par des "archives") situés dans plusieurs réseaux anonymes : Freenet, I2P, TOR.

#### Autres applications

* FLIP (Freenet Lightweight IRC Program), client IRC - écrit en C - pseudo-anonyme à travers le réseau Freenet, il est dépendant de FMS
* Freekiwiki et Fniki permettent la création de wikis anonymes.

## Types de clés

* CHK (Content Hash Key) : ce type de clé correspond à un fichier ou à un groupe de fichiers. Elle est immutable et, si on insère deux fois le même fichier, la clé obtenue sera la même.
* SSK (Signed Subspace Key) : utilise la cryptographie à clé publique pour permettre l'insertion répétée de plusieurs fichiers sous une même clé (request URI) pourvu qu'on connaisse la clé pour insérer les données (insert URI).
* USK (Updateable Subspace Key) : identique aux SSK, mais le nœud essaiera toujours de trouver la dernière version des données insérées.
* KSK (Keyword Signed Key) : permet de créer une clé facilement mémorisable, par exemple KSK@mon_fichier.txt, mais aucune garantie concernant l'authenticité des données.