18 Punkte von GN⁺ 2025-03-13 | 1 Kommentare | Auf WhatsApp teilen
  • Entfernt mit WebRTC den anfänglichen Upload-Schritt, den andere webbasierte Dateifreigabedienste erfordern
  • Da die Daten nicht auf einem Zwischenserver gespeichert werden, ist die Übertragung schnell, privat und sicher
  • Die gehostete Instanz von FilePizza ist unter file.pizza verfügbar

Neue Funktionen in FilePizza v2

  • Neue UI mit Dark Mode, aufgebaut auf moderner Browsertechnologie
  • Funktioniert in den meisten mobilen Browsern, einschließlich mobilem Safari
  • Direkte Übertragung vom Browser des Uploaders zum Browser des Downloaders (WebRTC, kein WebTorrent) für schnelleren Handshake
  • Der Uploader kann den Fortschritt der Übertragung überwachen und sie stoppen
  • Verbesserte Sicherheits- und Schutzmaßnahmen durch Passwortschutz und Meldefunktion
  • Mehrere Dateien können gleichzeitig hochgeladen werden; der Empfänger erhält sie als ZIP-Datei
  • Streaming-Downloads über Service Worker
  • Externe Prozessspeicherung des Serverzustands mit Redis

Tech-Stack und Entwicklung

  • Next.js, Tailwind, TypeScript, React, PeerJS (für WebRTC), View Transitions, Redis (optional)
  • Der Source Code kann von GitHub geklont und mit pnpm installiert und ausgeführt werden
  • FilePizza kann mit Docker gebaut und ausgeführt werden

FAQ

  • Art der Dateiübertragung: Dateien werden direkt vom Browser des Uploaders an den Browser des Downloaders übertragen. Sie laufen nicht über einen Server. Für die Dateiübertragung wird WebRTC verwendet, und der Uploader muss das Browserfenster bis zum Abschluss der Übertragung geöffnet lassen.
  • Gleichzeitige Downloads möglich?: Ja. Es reicht, die kurze oder lange URL zu senden.
  • Dateigrößenbeschränkung: So groß, wie der Browser verarbeiten kann
  • Wenn der Browser geschlossen wird: Die Datei-URL funktioniert dann nicht mehr. Wenn ein Download bereits abgeschlossen wurde, stellt dieser Downloader unvollständigen Downloadern weiterhin den Seed bereit, aber neue Downloads können nicht mehr gestartet werden.
  • Werden Dateien verschlüsselt?: Die gesamte WebRTC-Kommunikation wird automatisch über DTLS verschlüsselt. Für zusätzliche Sicherheit kann dem Upload ein Passwort hinzugefügt werden.

1 Kommentare

 
GN⁺ 2025-03-13
Hacker-News-Kommentare
  • Ich pflege eine lange Liste browserbasierter und CLI-basierter P2P-Dateiübertragungstools

    • LimeWire hat zuletzt gute Tools wie ShareDrop und SnapDrop übernommen
    • Derzeit ist https://pairdrop.net/ übrig geblieben
  • Der Opera-Browser bot um 2010 kurzzeitig eine P2P-Dateiübertragungsfunktion namens Unite an

    • In einer GUI in Form eines "Kühlschranks" konnten Nutzer Notizen im Stil von Post-its hinterlassen
    • Opera Presto bot zahlreiche Funktionen, darunter einen Bittorrent-Client, Desktop-Widgets, einen IRC-Client, einen E-Mail-Client und die Anpassung von Hotkeys
    • Trotzdem war der Browser weiterhin eine leichtgewichtige Binärdatei
  • Was mich an solchen Diensten normalerweise nervt, ist, dass sie komplizierte URLs bereitstellen

    • https://file.pizza ist besser, weil die URL aus echten Wörtern besteht
    • https://pairdrop.net bevorzuge ich, weil es einen temporären fünfstelligen "Raum" erzeugen kann, den man leicht am Telefon weitergeben kann
    • Ich warte auf einen P2P-Dienst, der die Verbindung per CLI startet und eine einfache URL bereitstellt
  • Ich wünschte, es gäbe eine Möglichkeit, mit WebRTC lokale Peer-Erkennung zu machen

    • Derzeit benötigen beide Endpunkte eine aktive Internetverbindung und eine geteilte Kennung
    • Offline-Lokalfreigabe ist nicht möglich
  • Ich mache mir Sorgen, dass es mit ShareDrop und Snapdrop so enden könnte wie nach der Übernahme durch LimeWire

  • Dieses Problem hätte vor Jahrzehnten gelöst werden sollen, aber eine leistungsfähige und sichere nichtkommerzielle Lösung fehlt noch immer

    • Ich frage mich, wie es dem IPFS-Projekt heutzutage geht
  • WebRTC ist schnell und sicher, weil die Daten nicht auf einem zwischengeschalteten Server gespeichert werden

    • Für die Übertragung zwischen Clients hinter NAT ist jedoch ein TURN-Server erforderlich
    • Die Daten werden nicht auf dem zwischengeschalteten Server gespeichert, können aber hindurchgeleitet werden
    • Ich frage mich, ob es eine Garantie dafür gibt, dass der TURN-Server die Daten nicht lesen kann
    • Ich frage mich auch, ob E2EE verwendet wird
  • Wenn es kein Problem ist, Transmission oder einen anderen Torrent-Client zu installieren, bevorzuge ich den privtracker-Ansatz

    • Die meisten Torrent-Clients können standardmäßig im Hintergrund laufen
    • Es wäre schade, wenn man es verpasst hätte, obwohl es kürzlich Aufmerksamkeit bekommen hat
  • Ich mag PairDrop wirklich sehr

  • Es gibt auch Magic Wormhole, das nicht browserbasiert ist