Dieses kostenlose CLI-Tool schlägt jede kostenpflichtige Dateiübertragungs-App (croc)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00Das ist Croc und es ist eines der coolsten Tools, auf die ich kürzlich gestoßen bin.
00:00:04Ich sage es einfach mal so direkt: Ich glaube, das ist das beste Dateiübertragungs-Tool, das ich je
00:00:10verwendet habe. Da habt ihr es. Ich habe es gesagt. Croc ist nicht nur ein Tool zur Dateiübertragung. Es ist grundlegend anders
00:00:17in seiner Bauweise und Funktionsweise. In diesem Video schauen wir uns also Croc an,
00:00:22sehen, wie es funktioniert, und ich zeige euch, wie extrem einfach es zu bedienen ist. Es wird eine Menge
00:00:28Spaß machen. Also legen wir los. Hier ist eine Frage, die man sich stellen sollte: Wie viele Möglichkeiten fallen euch jetzt gerade
00:00:38ein, eine große Datei auf den Computer einer anderen Person zu senden? Es gibt AirDrop, WeTransfer, Dropbox,
00:00:46Google Drive, SCP, Discord, wenn man verzweifelt ist, einen USB-Stick, wenn man wirklich verzweifelt ist, und jemandem einen USB-Stick
00:00:56zuzuschicken, wenn man absolut verrückt ist. Es gibt also Dutzende von Tools dafür. Und doch hat fast
00:01:02jeder eine Geschichte über Dateiübertragungen, die 30 Sekunden hätten dauern sollen und stattdessen den
00:01:08ganzen Nachmittag in Anspruch genommen haben. Zum Beispiel: Dein Kollege versucht, dir etwas per AirDrop zu senden, aber leider bist du
00:01:15auf Windows. In einem anderen Szenario lief der WeTransfer-Link ab, bevor die andere Person dazu kam.
00:01:21Die Datei war zu groß für E-Mail. Die andere Person hat kein Dropbox-Konto und möchte auch kein
00:01:27erstellen. Und ehrlich gesagt, verurteile ich sie nicht. Hier ist also die eigentliche Frage: Bei so vielen Tools,
00:01:32warum passiert das immer wieder? Die Antwort ist: Weil ehrlich gesagt keine dieser Lösungen die
00:01:38Drei-Säulen-Strategie nutzt, die eine großartige Dateiübertragungslösung ausmacht. Croc wurde von Zach Scholl entwickelt,
00:01:45und auf seiner Website erklärt er detailliert, wie die Architektur einer guten Dateiübertragungslösung
00:01:51aussehen sollte. Und das ergibt wirklich viel Sinn. Ein gutes System zur Dateiübertragung braucht drei
00:01:57Säulen: Es muss schnell, sicher und einfach sein. Alle drei gleichzeitig, ohne bei einem davon Abstriche zu machen.
00:02:05Die meisten Tools wählen zwei davon und treffen einfach nicht den richtigen Punkt in diesem Venn-Diagramm.
00:02:11Schauen wir uns also jede Säule einzeln an. Die meisten linkbasierten Tools funktionieren so, dass man die Datei
00:02:18auf einen Server hochlädt und die andere Person sie dann herunterlädt. Klingt gut, aber das ist mathematisch
00:02:23eigentlich langsamer, als es sein müsste. Wenn du mit 5 Megabit pro Sekunde hochlädst und mit 8 Megabit
00:02:30pro Sekunde herunterlädst, ergibt ein sequenzieller Upload und anschließender Download eine effektive Rate von etwa 3,1 Megabit pro Sekunde.
00:02:37Das ist langsamer als jede Geschwindigkeit für sich genommen. Das passiert eben, wenn man Dinge nacheinander
00:02:43statt gleichzeitig erledigt. Reden wir über Sicherheit. Viele sichere Übertragungstools verlassen sich darauf, dass man
00:02:50ein gemeinsam genutztes Passwort zur Verschlüsselung der Datei festlegt. Das ist okay, außer dass Passwörter nur so stark sind
00:02:57wie das Passwort, das man tatsächlich wählt. Und wenn das Passwort erraten oder geleakt wird, nun, dann war es das. Spiel vorbei.
00:03:04Und drittens: Es muss einfach sein. Momentan haben wir fantastische Tools wie SSH oder FTP,
00:03:11die wirklich schnell und sehr sicher sind. Aber sie erfordern, dass ein Computer als Server läuft, bei dem
00:03:18Port-Weiterleitung aktiviert ist. Was eine völlig vernünftige Einrichtung für ein Rechenzentrum oder eine technisch versierte
00:03:24Person ist, aber eine völlig unzumutbare Forderung für zwei Laptops in einem Café. Schaut euch also das Muster an.
00:03:30WeTransfer ist einfach, aber langsam und nur so sicher wie sein Link. SCP ist schnell und sicher,
00:03:37aber kein technisch unversierter Freund wird wissen, wie man SCP sofort verwendet. Fast nichts
00:03:43erfüllt also alle drei Säulen. Aber wie unterscheidet sich Croc? Nun, Croc ist ein Open-Source Go-basiertes CLI-Tool,
00:03:51das speziell dafür entwickelt wurde, bei keiner dieser drei Säulen Kompromisse einzugehen. Zuerst einmal: schnell. Anstatt des
00:03:57Modells “Hochladen, dann Herunterladen” nutzt Croc einen Relay-Server, um eine Vollduplex-Konversation zwischen beiden
00:04:04Computern aufzubauen. Beide Seiten senden und empfangen gleichzeitig Daten, sodass man nicht durch die
00:04:10sequenzielle Upload-Download-Mathematik von vorhin ausgebremst wird. Und wenn sich beide Geräte zufällig im selben lokalen
00:04:17Netzwerk befinden, wird Croc dies erkennen und stattdessen lokal übertragen, was noch schneller ist.
00:04:23Als Nächstes: sicher. Anstatt eines statischen gemeinsam genutzten Passworts verwendet Croc etwas namens PAKE, “password
00:04:30authenticated key exchange”. Es verwendet eine einmalige Code-Phrase, aber es ist an sich kein Verschlüsselungsschlüssel.
00:04:38Beide Seiten nutzen diese Phrase in einem kryptografischen Hin- und Her-Austausch, um im laufenden Betrieb einen viel stärkeren Schlüssel
00:04:44zu generieren. Wenn jemand versucht, diesen Austausch mit der falschen Phrase abzufangen, schlägt die ganze Sache
00:04:50einfach fehl. Es werden also keine Daten übertragen und jeder weiß, dass etwas nicht stimmt. Und schließlich: es ist einfach. Ein einzelnes
00:04:57Binary, kein Server zum Konfigurieren, keine Port-Weiterleitung, funktioniert direkt durch NATs und Firewalls über den Relay-
00:05:04Server. Und beim Empfang muss man nur “Croc” eingeben, gefolgt von der Code-Phrase, wenn danach gefragt wird,
00:05:10und dann die Übertragung akzeptieren, und fertig. Aber Moment, wer betreibt eigentlich dieses Relay? Nun,
00:05:16standardmäßig leitet Croc Ihre Übertragung über ein öffentliches Relay, das vom Schöpfer des Tools selbst,
00:05:22Zach, betrieben wird. Da die Datei selbst per PAKE Ende-zu-Ende verschlüsselt ist, bevor sie überhaupt
00:05:27Ihren Computer verlässt, sieht das Relay nur verschlüsselte Bytes und Verbindungs-Metadaten. Es kann physisch nicht
00:05:34Ihre Dateiinhalte lesen. Aber es ist standardmäßig immer noch ein Drittanbieter-Server, der mitten in einer Übertragung sitzt.
00:05:40Und wenn Sie in einem Unternehmen mit Datenresidenzregeln arbeiten oder eine Richtlinie gegen das Routing von Datenverkehr
00:05:45über Infrastrukturen haben, die Sie nicht kontrollieren, wird das ein Hindernis sein. Aber die gute Nachricht ist,
00:05:50dass Croc das berücksichtigt. Es gibt einen integrierten “Croc-Relay”-Befehl, der mit einem Docker-Image ein eigenes Relay
00:05:57startet. Und dann leiten Sie Ihre Übertragungen einfach mit dem Relay-Befehl und dem Relay-Flag an dieses,
00:06:03statt an das Standard-Relay. Das öffentliche Relay ist also der bequeme Standard für den persönlichen Gebrauch. Aber für alles
00:06:10in einer Unternehmensumgebung ist das Selbsthosten des Relays in fünf Minuten erledigt und kein K.-o.-Kriterium. Aber jetzt
00:06:16möchte ich euch zeigen, wie extrem einfach und bequem die Nutzung von Croc ist. Ich persönlich habe Croc in den
00:06:23letzten Tagen viel benutzt und es ist so praktisch, da ich hier zwei Arbeitsstationen habe. Eine ist ein Windows-Rechner
00:06:29und die andere ein MacBook. Und seht euch an, wie einfach es ist, große Dateien von einem zum anderen
00:06:35mit Croc zu senden. Die Installation von Croc ist super einfach. Es ist nur ein Ein-Zeilen-Befehl für Windows und Mac.
00:06:41Und die GitHub-Seite hat Anweisungen für alle möglichen Setups. Und sobald wir es auf der
00:06:47Senderseite installiert haben, muss man “Croc send” gefolgt von der Datei eingeben und es spuckt eine zufällig generierte
00:06:54Code-Phrase aus. Auf der Empfängerseite führt man “Croc” aus, gibt bei Aufforderung die Code-Phrase ein, tippt Y zum Akzeptieren,
00:07:01und boom. Magie. So einfach, so schnell ist das. Und hier ist noch etwas: Es hat auch die Fähigkeit, Übertragungen
00:07:08wieder aufzunehmen, wenn die Verbindung abbricht. Unterbrechen wir die Verbindung mitten in der Übertragung und nehmen sie dann von der
00:07:14Senderseite aus wieder auf. Und wie ihr seht, macht es dort weiter, wo es aufgehört hat, statt von vorne zu beginnen. Das war's also.
00:07:19Das ist das gesamte Nutzererlebnis. Ein Befehl zum Senden, eine Code-Phrase zum Empfangen, kein Konto,
00:07:27kein Browser-Tab, kein Server, den man starten muss. Wie cool ist das denn? Da habt ihr es also Leute. Das ist Croc kurz zusammengefasst.
00:07:34Es ist schnell dank Vollduplex-Relay-Übertragung. Es ist sicher dank PAKE statt statischer
00:07:40Passwörter. Und es ist super einfach zu bedienen. Und wenn man es erst einmal gegen die Alternative ausprobiert hat, wie
00:07:46jemandem einen WeTransfer-Link zu schicken und zu hoffen, dass er nicht abläuft, ist es ehrlich gesagt schwer, davon wegzukommen,
00:07:52sobald man es benutzt hat. Was denkt ihr also über Croc? Gefällt es euch? Wird es in eurem Toolkit landen?
00:07:57Lasst es uns in den Kommentaren unten wissen. Und Leute, wenn ihr diese Art von technischen Erklärungen mögt,
00:08:02lasst es mich bitte wissen, indem ihr diesen Like-Button unter dem Video zertrümmert.
00:08:06Und vergesst auch nicht, unseren Kanal zu abonnieren.
00:08:09Das war Andres von BetterStack und wir sehen uns in den nächsten Videos.

핵심 요약

Croc ermöglicht als Open-Source CLI-Tool den sicheren und schnellen Dateitransfer über eine Ein-Befehls-Architektur mit PAKE-Verschlüsselung, ohne dass eine manuelle Netzwerkkonfiguration erforderlich ist.

하이라이트

  • Croc erreicht eine höhere Übertragungsgeschwindigkeit, da es Vollduplex-Konversationen statt sequenzieller Upload-Download-Zyklen verwendet.

  • Die Sicherheit basiert auf PAKE (Password Authenticated Key Exchange), das während des Austauschs einmalige, temporäre Verschlüsselungsschlüssel generiert.

  • Das Tool erfordert keine Port-Weiterleitung oder Server-Konfiguration, da es NATs und Firewalls durch einen Relay-Server umgeht.

  • Croc erkennt Geräte im selben lokalen Netzwerk automatisch und führt Übertragungen direkt für maximale Geschwindigkeit aus.

  • Die Daten werden Ende-zu-Ende verschlüsselt, bevor sie den Computer verlassen, wodurch der Relay-Server keinen Zugriff auf Dateiinhalte hat.

  • Übertragungen lassen sich nach Verbindungsabbrüchen nahtlos an der unterbrochenen Stelle fortsetzen, ohne den Vorgang neu zu starten.

타임라인

Problemstellung bei Dateiübertragungen

  • Gängige Übertragungsmethoden scheitern oft an Inkompatibilität, abgelaufenen Links oder mangelnder Benutzerfreundlichkeit.
  • Der sequentielle Prozess von Upload gefolgt von Download reduziert die effektive Bandbreite mathematisch deutlich unter die Einzelraten.

Viele existierende Lösungen wie WeTransfer, AirDrop oder Cloud-Dienste sind entweder langsam, unsicher oder erfordern für technisch komplexe Verfahren wie SCP eine umständliche Server-Konfiguration. Ein effizientes System muss gleichzeitig schnell, sicher und einfach bedienbar sein, was bei den meisten aktuellen Tools nicht der Fall ist.

Technische Architektur von Croc

  • Croc ersetzt statische Passwörter durch den PAKE-Algorithmus zur dynamischen Schlüsselerzeugung.
  • Ein Relay-Server ermöglicht Vollduplex-Übertragungen und umgeht die Notwendigkeit von Port-Weiterleitungen.
  • Die Verschlüsselung erfolgt Ende-zu-Ende, sodass Relay-Betreiber lediglich verschlüsselte Datenpakete ohne Zugriff auf die Inhalte verarbeiten.

Anstatt Dateien auf einem Server zwischenzuspeichern, baut Croc eine direkte Verbindung zwischen zwei Rechnern auf. Wenn beide Geräte im selben lokalen Netzwerk sind, erfolgt die Datenübertragung direkt ohne Relay. Für Unternehmensumgebungen erlaubt das Tool zudem das Hosten eines eigenen Relays via Docker.

Praktische Anwendung und Bedienung

  • Die Installation erfolgt über einen Ein-Zeilen-Befehl auf Windows und Mac.
  • Der Versand initiiert sich mit 'croc send [Dateiname]', gefolgt von einer einmaligen Code-Phrase.
  • Das Tool unterstützt das Fortsetzen abgebrochener Übertragungen direkt ab der Stelle des Verbindungsverlusts.

Die Bedienung erfordert keine Browser-Tabs oder Benutzerkonten. Der Sender erhält eine generierte Phrase, die auf der Empfängerseite eingegeben wird, um die Übertragung zu autorisieren. Durch diese minimalistische CLI-Struktur eignet sich das Tool besonders für den schnellen Austausch großer Dateien zwischen verschiedenen Betriebssystemen.

커뮤니티 글

모든 글 보기