18 points par GN⁺ 2025-03-13 | 1 commentaires | Partager sur WhatsApp
  • Utilise WebRTC pour supprimer l’étape d’upload initiale requise par d’autres services de partage de fichiers sur le web
  • Comme les données ne sont pas stockées sur un serveur intermédiaire, le transfert est rapide, privé et sécurisé
  • L’instance hébergée de FilePizza est disponible sur file.pizza

Nouveautés de FilePizza v2

  • Nouvelle interface et prise en charge du mode sombre, construites sur des technologies de navigateur modernes
  • Fonctionne sur la plupart des navigateurs mobiles, y compris Safari sur mobile
  • Transfert direct de l’uploader vers le navigateur qui télécharge (WebRTC, sans WebTorrent), pour un handshake plus rapide
  • L’uploader peut surveiller la progression du transfert et l’arrêter
  • Renforcement des mesures de sécurité et de sûreté avec protection par mot de passe et fonctionnalités de signalement
  • Possibilité d’envoyer plusieurs fichiers à la fois, reçus sous forme d’archive zip par le destinataire
  • Téléchargement en streaming via un service worker
  • Stockage de l’état du serveur dans un processus externe avec Redis

Stack technique et développement

  • Next.js, Tailwind, TypeScript, React, PeerJS (pour WebRTC), View Transitions, Redis (optionnel)
  • Le code source peut être cloné depuis GitHub, puis installé et exécuté avec pnpm
  • FilePizza peut être compilé et exécuté avec Docker

FAQ

  • Mode de transfert des fichiers : les fichiers sont transférés directement du navigateur de l’uploader vers celui du destinataire. Ils ne passent pas par un serveur. Le transfert utilise WebRTC, et l’uploader doit laisser la fenêtre du navigateur ouverte jusqu’à la fin du transfert.
  • Téléchargements simultanés possibles ? : oui. Il suffit d’envoyer l’URL courte ou longue.
  • Limite de taille des fichiers : aussi grande que ce que le navigateur peut gérer
  • Si le navigateur est fermé : l’URL du fichier ne fonctionne plus. Si un téléchargement est terminé, cette personne continue à seeder auprès des téléchargeurs incomplets, mais aucun nouveau téléchargement ne peut commencer.
  • Les fichiers sont-ils chiffrés ? : toutes les communications WebRTC sont automatiquement chiffrées via DTLS. Pour plus de sécurité, un mot de passe peut être ajouté à l’upload.

1 commentaires

 
GN⁺ 2025-03-13
Commentaires sur Hacker News
  • Je tiens à jour une longue liste d’outils de transfert de fichiers P2P via navigateur et en CLI

    • LimeWire a récemment acquis de bons outils comme ShareDrop et SnapDrop
    • Pour l’instant, il reste https://pairdrop.net/
  • Le navigateur Opera a brièvement proposé vers 2010 une fonctionnalité de transfert de fichiers P2P appelée Unite

    • Dans une interface en forme de « réfrigérateur », les utilisateurs pouvaient laisser des notes façon Post-it
    • Opera Presto proposait de nombreuses fonctionnalités, dont un client Bittorrent, des widgets de bureau, un client IRC, un client e-mail et des options de personnalisation des raccourcis clavier
    • Malgré tout cela, le navigateur restait un binaire léger
  • Ce qui m’agace généralement avec ces services, c’est qu’ils fournissent des URL compliquées

    • https://file.pizza est mieux, car son URL est composée de vrais mots
    • Je préfère https://pairdrop.net, qui peut générer une « salle » temporaire de cinq lettres facile à partager par téléphone
    • J’attends toujours un service P2P qui permette d’initier la connexion en CLI et fournisse une URL simple
  • J’aimerais qu’il existe un moyen de faire de la découverte de pairs locale avec WebRTC

    • Actuellement, les deux extrémités ont besoin d’une connexion Internet active et d’un identifiant partagé
    • Le partage local hors ligne est impossible
  • Je crains que ShareDrop et Snapdrop ne finissent comme après leur acquisition par LimeWire

  • Ce problème aurait dû être résolu il y a des décennies, mais il n’existe toujours pas de solution non commerciale à la fois robuste et sûre

    • Je me demande ce que devient le projet IPFS ces temps-ci
  • WebRTC permet des transferts rapides et sûrs, car les données ne sont pas stockées sur un serveur intermédiaire

    • Cependant, un serveur TURN est nécessaire pour les transferts entre clients derrière un NAT
    • Les données ne sont pas stockées sur le serveur intermédiaire, mais elles peuvent y transiter
    • Je me demande s’il existe une garantie que le serveur TURN ne puisse pas lire les données
    • Je me demande aussi si l’E2EE est utilisée
  • Si installer Transmission ou un autre client torrent n’est pas un problème, je préfère l’approche privtracker

    • La plupart des clients torrent peuvent tourner en arrière-plan par défaut
    • Ce serait dommage de l’avoir manqué s’il a récemment gagné en visibilité
  • J’aime vraiment PairDrop

  • Il y a aussi Magic Wormhole, qui n’est pas basé sur le navigateur