This could replace Soulseek

SYNTHÈSE STRUCTURÉE

Présentation de FriendNet

FriendNet est présenté comme un successeur moderne et flexible de Soulseek. Sa principale caractéristique est d’être entièrement pair-à-pair sans nécessiter l’ouverture manuelle de ports. L’intervenant mentionne également des fonctionnalités planifiées ou en développement, comme le support d’I2P et une Progressive Web App (PWA) pour une utilisation mobile complète. “You can think of friendnet like more of a flexible kind of soulseek. You don’t need to open a port. It’s completely peer-to-peer.”

Compilation à partir des sources

La méthode privilégiée dans le tutoriel est la compilation depuis le code source, nécessitant Go version 1.26.2. Le processus utilise un Makefile qui permet de compiler trois éléments distincts : le client, le serveur, et le client RPC pour interagir avec le serveur via la ligne de commande.

Configuration et lancement du serveur

Après compilation, le serveur est lancé via un exécutable, offrant une interface en ligne de commande (CLI). L’utilisateur y crée une “room” (salle) et des comptes. Un mot de passe est généré automatiquement pour chaque compte, bien qu’il soit possible d’en spécifier un manuellement. La démonstration montre la création d’une room “test” et d’un utilisateur “dactyl”.

Configuration et connexion du client

Le client, une fois compilé, lance une interface web accessible via le navigateur. Pour se connecter au serveur local, il faut ajouter un serveur en spécifiant son adresse (localhost:20038), le nom de la room (qui doit être exact) ainsi que les identifiants du compte créé précédemment. L’intervenant note que le nom donné au serveur dans l’interface est purement “cosmetic”.

Partage de fichiers et de dossiers

Une fonctionnalité clé mise en avant est la possibilité de partager n’importe quel dossier du système avec les autres utilisateurs connectés au serveur. L’utilisateur peut nommer ce partage et naviguer dans son contenu via l’interface web du client. L’exemple donné est le partage d’un dossier contenant les fichiers d’un site web minimaliste (HTML, CSS, images).

Création d’un profil personnalisé

FriendNet permet de créer un profil public personnalisé en partageant un dossier nommé _profile. Le fichier index.html à l’intérieur de ce dossier constitue la page de profil. Cependant, cette fonctionnalité est volontairement limitée pour des raisons de sécurité : pas de balises meta ni de liens externes sans l’attribut target="_blank". “This is the cost of keeping things uh safe and secure while also being super freeing.”

Fonction de recherche intégrée

Le client intègre un moteur de recherche qui permet de trouver des fichiers par nom ou par utilisateur. Les résultats sont pour l’instant triés par pertinence, mais l’intervenant indique que cette fonctionnalité devrait devenir “plus robuste dans le futur”. La recherche permet de filtrer efficacement le contenu partagé au sein d’une room.

Philosophie d’utilisation recommandée

En conclusion, l’intervenant émet une réserve importante : il ne recommande pas d’héberger de grands serveurs publics par manque de confiance. Il préconise plutôt une utilisation en cercle restreint, entre amis ou connaissances. “I think it’s best if people just host friendet as a friend circle type of thing rather than a very large scale thousand plus users file sharing platform.”

CONCEPTS CLÉS

  • Pair-à-pair (P2P) : Architecture réseau où chaque participant (pair) partage ses ressources directement avec les autres, sans serveur central obligatoire.
  • Room (Salle) : Espace de partage distinct au sein d’un serveur FriendNet, nécessitant un nom précis pour s’y connecter.
  • Client RPC : Outil en ligne de commande permettant de contrôler et d’interagir avec le serveur FriendNet (créer des rooms, des comptes, etc.).
  • Progressive Web App (PWA) : Type d’application web utilisant les technologies web modernes pour offrir une expérience similaire à une application native, notamment sur mobile.
  • I2P : Réseau overlay anonyme, souvent comparé à Tor, permettant un routage des données chiffré et anonyme. Son support est en développement pour FriendNet.

CONCLUSION

Le message principal est que FriendNet se présente comme un outil de partage de fichiers décentralisé et accessible, reprenant l’esprit de Soulseek avec des améliorations techniques (pas d’ouverture de port manuelle) et des fonctionnalités sociales (profils web). Il compte car il met l’accent sur la simplicité d’auto-hébergement et la personnalisation, tout en insistant sur une philosophie d’utilisation en communauté de confiance plutôt qu’à grande échelle, plaçant le contrôle et la responsabilité entre les mains des utilisateurs.

Du même canal

Tout voir