>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
TypeScript

So verschickst du 50 Gigabyte an Kollegen – ohne Cloud und Geschwindigkeitslimits

DashBeam Header

Eine vertraute Situation: Du musst einem Kollegen einen frischen Datenbank-Dump von zwanzig Gigabyte oder ein Archiv mit umfangreichen Logs schicken. Telegram beschwert sich über die Dateigrößenbegrenzung. Google Drive und Yandex Disk erfordern, dass du zuerst alles in deinen eigenen Speicher hochlädst, was dein Speicherkontingent belastet, und zwingen den Empfänger dann, auf den Download zu warten. Das bekannte LocalSend ist im Büro praktisch, versagt aber, wenn die andere Person bei einem anderen ISP ist.

Neulich bin ich auf ein interessantes Projekt namens DashBeam gestoßen (zuvor entwickelt als AltSendme). Das Programm löst genau dieses Problem: Es leitet Dateien und ganze Ordner direkt von einem Rechner auf einen anderen über das Internet weiter, ohne etwas auf zwischengeschalteten Servern zu speichern.

DashBeam Arbeitsdemo

Unter der Haube

DashBeam basiert auf dem Iroh-Netzwerk-Stack. Es ist eine Open-Source-P2P-Engine, geschrieben in Rust. Anstelle von klassischem HTTP oder launischem WebRTC verwendet es das QUIC-Protokoll über UDP mit TLS-1.3-Verschlüsselung.

Die Datenübertragung ist clever konzipiert:

  • Dateien und Ordner werden in inhaltsadressierte Blöcke (Blobs) aufgeteilt. Jeder Block wird mit einem schnellen kryptografischen BLAKE3-Hash verifiziert. Wenn die Verbindung abbricht, lädt DashBeam die Datei nicht von Grund auf neu herunter – es sendet nur die fehlenden Teile.
  • Für die Kopplung wird ein Text-Ticket generiert. Der String enthält die Kennung des Absenders (Ed25519-Schlüssel), Adressen für die direkte Verbindung und den Hash der angeforderten Datei.
  • Geräte versuchen zunächst, NAT über QUIC-Hole-Punching zu durchbrechen, um den Datenverkehr direkt zu leiten. Wenn beide Knoten hinter strengen Firewalls stehen, wird der Datenverkehr über ein Relay geleitet, aber verschlüsselt. Das Relay sieht nur Rauschen und kann die Nutzdaten nicht lesen.
  • Für den regulären Austausch zwischen eigenen Geräten gibt es die permanente Kopplung. Verknüpfe deinen Arbeitslaptop und dein Handy einmal mit einem Code, und dann werden Dateien mit einem Klick gesendet, ohne Tickets manuell kopieren zu müssen.

In Benchmarks zeigt der Entwickler Geschwindigkeiten von bis zu 125 MB/s (begrenzt durch eine Gigabit-Netzwerkverbindung), und die größte aufgezeichnete Übertragung betrug 452 GB.

+----------------+                               +------------------+
| Sender (NodeA) | <====== QUIC / TLS 1.3 =====> | Receiver (NodeB) |
+----------------+        (Direct P2P Link)      +------------------+
        \                                                 /
         \-- [Fallback via encrypted Relay if NAT fails]-/

Wodurch sich DashBeam von Alternativen unterscheidet

Der P2P-Transfer-Markt hat keinen Mangel an Lösungen, aber jede hat ihre eigenen Eigenheiten:

LocalSend funktioniert großartig in einem einzelnen lokalen Netzwerk, kann aber ohne VPN-Konfiguration nicht durch das Internet durchbrechen, und unterbrochene Übertragungen müssen von Grund auf neu gestartet werden.

Magic Wormhole ist wunderbar im Terminal, hat jedoch keine ordentliche offizielle GUI und kann unterbrochene Dateiübertragungen nicht fortsetzen.

Browser-basierte Tools wie PairDrop sind durch WebRTC-Einschränkungen und den Speicher des Browser-Tabs begrenzt, weshalb Ordner in Gigabyte-Größe oft die Seite zum Absturz bringen.

DashBeam kombiniert alle Szenarien. Die App ist als Desktop-Client für Windows, macOS und Linux verfügbar, als eigenständige APK für Android, als leichtgewichtiges Terminal-CLI und sogar als abgespeckte Web-Version für Fälle, in denen das Installieren von Software keine Option ist.

So verwendest du es

Der Workflow ist unkompliziert:

  1. Ziehe eine Datei oder ein Verzeichnis per Drag & Drop in das Programmfenster.
  2. Erhalte das generierte Ticket und sende es über einen beliebigen Messenger an den Empfänger.
  3. Der Empfänger fügt das Ticket in seinen Client ein, sieht eine Vorschau der Dateien und bestätigt den Download.

Wenn du regelmäßig Test-Builds oder Archive zwischen deinen eigenen Rechnern teilst, ist es bequemer, in den Einstellungen die permanente Gerätekopplung einzurichten und Daten mit einem einzigen Klick auf die Schaltfläche „Senden" direkt zu übertragen.

Für wen ist dieses Projekt nützlich? Entwickler und DevOps-Ingenieure für die schnelle Übertragung von VMs, Backups und Dumps ohne Unternehmensspeicher zu belegen. Videoeditoren und Designer, die Quelldateien an Kunden liefern müssen, ohne Einschränkungen durch Cloud-Speichergrößen.

Der Quellcode wird unter der AGPL-3.0-Lizenz verbreitet. Bei Bedarf kannst du deinen eigenen Relay-Server und die DNS-Erkennung auf deinem VPS bereitstellen – die Dokumentation und Konfigurationen dafür befinden sich direkt im Projekt-Repository.

Ähnliche Projekte