Syq - Schnelle, programmierbare Dateioperationen über Maschinen hinweg
Show HN: Syq – copy files between machines fast (better than rsync)
Syq ist ein leistungsstarkes Tool für schnelle, programmierbare Dateioperationen – lokal oder über Maschinen hinweg. Es kopiert, reorganisiert und entfernt Dateien, setzt unterbrochene Transfers fort und ermöglicht es, Dateien von einem Server auf den eigenen Laptop zu senden oder dort Befehle auszuführen, ohne dass der Laptop einen SSH-Server oder eingehenden Netzwerkport benötigt. Syq bietet eine JSON-API und ein Python SDK für die Automatisierung und ist damit ideal für Entwickler, die ihre Workflows effizienter gestalten wollen. Erste Schritte sind einfach: `syq cp project --to server --into backup` oder die Verwendung mit rsync-ähnlichen Befehlen.
Ihr Laptop benötigt keinen SSH-Server oder eingehenden Netzwerkport.
- hxseven
Ich dachte, ich teile mal einen positiveren Kommentar. Ich arbeite an einem Tool in einem ähnlichen Bereich (Dinge hin- und herbewegen), aber auf einer höheren Ebene. Aktuell nutze ich rsync oder rclone für die Dateibewegungsteile. Für mich sieht dein Tool also interessant und vielversprechend aus, danke fürs Teilen :)
Einige Verbesserungsvorschläge für deine Website/Github:
- Ich wollte verstehen, wie es sich von rsync unterscheidet. Eine Vergleichsseite wäre hilfreich.
- Ein Vergleich zu rclone wäre auch interessant, da es ebenfalls mehrere parallele Verbindungen nutzt.
- Da es eher fortgeschrittene Nutzer anspricht, fände ich es hilfreich, mehr fortgeschrittene technische Einblicke zu geben, wie deine Transfers genau funktionieren. Auch wie Randfälle behandelt werden, welche Tests durchgeführt werden? Das Verschieben und Kopieren von Dateien ist kritisch, und du musst Vertrauen in dein Projekt bei den Nutzern aufbauen.
- unsnap_biceps
> Ich habe auch coole Features hinzugefügt, wie die Möglichkeit, eine persistente SSH-Verbindung zum Server für schnelle Einmalvorgänge aufrechtzuerhalten
rsync unterstützt dies bereits über die ControlMaster-Direktive von OpenSSH. Bonus: Es beschleunigt jede Verbindung zu diesem Server, nicht nur die eines einzelnen Tools.
> die Möglichkeit, direkte Remote-zu-Remote-Transfers durchzuführen, ohne deinen SSH-Agent weiterzuleiten (indem du eingeschränkte SSH-Schlüssel auf dem Empfänger verwendest, die nur eine bestimmte, mit dem Schlüssel auf deinem Laptop signierte Anfrage ausführen).
Du kannst deine Agent-Weiterleitung in deiner lokalen SSH-Client-Konfiguration steuern. Und mit modernem ProxyJump musst du deinen Agent überhaupt nicht weiterleiten, unabhängig davon, wie viele Bastion-Hops zwischen dir und deinem endgültigen Ziel liegen.
- jttnr
Seite öffnen, Überschrift lesen, ersten Satz lesen, Gedankenstrich, Seite schließen.
- AceJohnny2
Danke, dass du das zeigst. Ich schließe mich dem an, was einige andere sagen: Wenn du behauptest, schneller als rsync zu sein, solltest du das prominent demonstrieren. Es gibt jahrzehntelange Dokumentation darüber, wie rsync Transfers optimiert, also ist das eine hohe Messlatte.
Nebenbei bemerkt: Es ist vielleicht ein Armutszeugnis für unsere Netzwerklandschaft, dass mehrere parallele Verbindungen zwischen zwei bestimmten Maschinen einen Transfer beschleunigen würden. Ich hätte erwartet, dass eine einzelne TCP-Verbindung eine Leitung sättigen kann. Oder vielleicht versuchen die parallelen Verbindungen, den Setup-Overhead pro Datei zu amortisieren?
- hikarudo
Sehr cool!
Wie funktioniert der direkte TCP-Modus?