- Dumbpipe ist ein Unix-ähnliches Tool, das eine einfache Daten-Pipe-Verbindung zwischen zwei Computern ermöglicht
- Installation und Nutzung sind sehr einfach, und es sind weder ein Konto noch zusätzliche Einrichtung erforderlich
- Auf einem Computer wartet es im Empfängermodus und stellt einen geheimen Schlüssel sowie den Verbindungsbefehl bereit
- Auf dem anderen Computer können Daten mit einer einzigen Befehlszeile gesendet und die Verbindung hergestellt werden
- Es funktioniert unabhängig von der Netzwerkumgebung, sodass es überall eingesetzt werden kann
Einführung in Dumbpipe
- Ein Open-Source-Tool, mit dem sich Daten direkt zwischen zwei Computern wie über eine Unix-Pipe austauschen lassen
- Da Installation und Ausführung ohne komplizierte Einrichtung mit einer einzigen Zeile möglich sind, ist es praktisch und leicht zugänglich
Hauptmerkmale
- Nach der Installation auf einem Computer kann mit dem Befehl
./dumbpipe listen der Warte- bzw. Empfangsmodus gestartet werden
- Beim Start werden automatisch ein geheimer Schlüssel sowie ein dedizierter Verbindungsbefehl erzeugt, mit dem der andere Computer sich verbinden kann
- Der Sender kann Daten einfach im Stil von
echo "hello" | ./dumbpipe connect ... bequem übertragen
- Kein separates Konto erforderlich
- Sofort nutzbar ohne Registrierung, Login oder Eingabe persönlicher Daten
- Ohne zusätzliche Konfiguration sofort einsatzbereit
- Keine separaten Umgebungsvariablen, Konfigurationsdateien oder Firewall-Einstellungen notwendig
- Weltweit Daten zwischen zwei Geräten senden und empfangen
- Funktioniert ohne Einschränkungen durch die Netzwerkumgebung, etwa in privaten Netzen, in der Cloud oder im lokalen Netzwerk
Zusammenfassung des Einsatzbeispiels
- Der Empfänger startet dumbpipe im Listen-Modus und kopiert bzw. übermittelt die für die Verbindung nötigen Schlüssel
- Der Sender verwendet den Connect-Befehl mit dem entsprechenden Schlüssel, um Daten als Stream zu übertragen
Praktische Bedeutung
- Auch neue oder weniger erfahrene Nutzer können damit leicht eine Pipeline für Netzwerk-Datenübertragung aufbauen
- Schnell einsetzbar für viele Zwecke wie Datei- oder einfache Nachrichtenübertragung, Datenweiterleitung zwischen Geräten sowie Entwicklungs- und Deployment-Automatisierung
- Ein einzelner Befehl und ein intuitiver Workflow steigern die Produktivität von Engineers
1 Kommentare
Hacker-News-Kommentare
Es wird eine Methode vorgestellt, mit der man mit
sshundsocatodermkfifoaus der Ferne Kommandos austauschen kann.Falls das Ziel durch eine Firewall oder NAT blockiert ist, kann man einen öffentlichen SSH-Server wie ssh-j.com als Relay nutzen, um Daten sicher zu senden und zu empfangen (mit doppeltem SSH-Tunneling).
Das ist ein Beitrag, der ursprünglich im beam-Thread gepostet wurde Link
Ich frage mich, warum es kein Standard ist, mit nur einem USB-Kabel einfach Dateien zwischen zwei PCs auszutauschen. Wenn alle Betriebssysteme nur dasselbe Protokoll unterstützen würden, hätte das eigentlich von Anfang an eine Grundfunktion sein sollen. Mir ist klar, dass ein USB-A-zu-A-Kabel theoretisch nicht existiert, aber genau das spricht ja für den Bedarf. Mit USB-C müsste es doch möglich sein; zwischen Android und PC geht es teilweise, aber nicht zwischen zwei Laptops
Microsoft hat dafür ebenfalls ein unterstützendes Tool veröffentlicht, aber offenbar nur für Windows CE MS offizieller Link
Dazu passend habe ich eine Liste von Dateiübertragungstools zusammengestellt (vor allem browserbasiert, plus etwas CLI). Ich teile sie immer wieder, wenn das Thema aufkommt, und suche laufend nach weiteren guten Tools meine Tool-Liste
Ich frage mich, wie viel Überschneidung es zwischen dumbpipe und Tailscale bei der Implementierung gibt. Es scheint viele gemeinsam benötigte Funktionen zu geben, und gerade auf niedriger Ebene wie beim NAT-Traversal dürfte es schon einige nutzbare Bibliotheken geben. Oder vielleicht ist das die erste Bibliothek dieser Art
Bei pico.sh wurde eine ähnliche Dateiübertragungsfunktion mit SSH umgesetzt pipe.pico.sh
Wer sich für das Ökosystem ähnlicher Tunneling-Tools interessiert, findet hier eine sehenswerte Awesome-Liste awesome-tunneling
iroh ist wirklich fantastische Technik. Ich habe vor zwei Wochen beim web3 summit in Berlin am Workshop von Rüdiger (N0) teilgenommen und war extrem inspiriert. Der Code für einen ähnlichen Dienst ist hier veröffentlicht iroh-workshop code Es lohnt sich auch, die Folien anzusehen
Wenn man eine etwas weiterentwickelte Pipe will, habe ich auch einen Tunnel-Manager-CLI in Arbeit, der auf Iroh basiert. Unterstützt TCP-, UDP- und UNIX-Socket-Port-Forwarding qtm GitLab
Solche Lösungen erscheinen ein- bis zweimal pro Jahr. Als gutes Open-Source-Projekt, das sich auf Verbindungsorchestrierung spezialisiert, empfehle ich Spacebrew Spacebrew offizielle Dokumentation
Ich fand diese Methode schon immer besonders interessant pwnat GitHub
Sie deckt nicht alle Fälle ab und ist etwas komplexer, hat aber den großen Vorteil, keinen Vermittler in der Mitte zu brauchen