Erste öffentliche Fassung von SyncTool.
Menüleisten-App für macOS, die einen lokalen Projektordner mit einem anderen
Ordner abgleicht: auf einer Hetzner Storage Box, einem eigenen Server, einer
externen Platte oder im Ordner eines Cloud-Clients. Der Ablauf ist zweistufig:
Prüfen zeigt, was auseinanderläuft, danach entscheidest du die Richtung.
Herunterladen
SyncTool-1.4.0.dmg, signiert mit Developer ID und notarisiert. Universal
Binary für Apple Silicon und Intel, ab macOS 14.
shasum -a 256 -c SHA256SUMS
DMG öffnen, SyncTool in den Programme-Ordner ziehen. Beim ersten Start fragt
macOS einmal, ob eine aus dem Internet geladene App geöffnet werden soll. Das
ist der einzige Dialog, den es geben sollte. Es ist eine Menüleisten-App: kein
Dock-Symbol, das Symbol erscheint rechts oben.
Was drin ist
Anbieterkatalog. Ein neues Profil fragt zuerst, was das Ziel ist, und zeigt
danach nur die Felder, die dieses Ziel braucht. Eine NFS-Freigabe fragt nicht
nach einem Passwort, ein OneDrive-Ordner nicht nach Server und Port.
Ziele über SSH hinaus. Neben Storage Box und eigenen Servern jetzt auch
lokale Ordner: externe Platten und die Ordner der Anbieter-Clients von
Nextcloud, Google Drive, OneDrive und Dropbox. Ein solcher Lauf braucht keine
Anmeldung, kein Passwort und keinen Host-Key. Vorlagen für SMB, NFS und WebDAV
stehen im Katalog; das Einhängen selbst kommt in einer der nächsten Fassungen.
Löschsicherheit. --delete braucht drei unabhängige Zustimmungen, dazu
--max-delete und Schutzregeln für neue Dateien der Gegenseite. Und der Fall,
der keinen Fehler in der App braucht: liegt der Stammordner auf einem Laufwerk,
das nicht verbunden ist, sieht rsync eine leere Seite und --delete räumt die
andere aus. Dagegen bricht SyncTool ab, wenn auf der Quellseite nichts zu finden
ist, obwohl beim letzten Abgleich dort Dateien lagen.
Backup. Der lokale Stammordner als Zip-Archiv, rein lokal, sortierbar
benannt, nie überschrieben, einschließlich node_modules: die Ausschlussliste
gilt für den Abgleich, nicht für die Sicherung.
Nichts geht nach außen. Keine Telemetrie, keine Aktualisierungsprüfung,
keine Fehlerberichte. Passwörter liegen im Schlüsselbund und erscheinen nie in
einer Kommandozeile, einer Datei oder einer Umgebungsvariablen.
Hinweis für Selbstbauer
Wer SyncTool vorher selbst gebaut hat, hatte eine ad hoc signierte Fassung. Mit
dem Wechsel auf die Developer-ID-Signatur ändert sich die Identität des
Programms, also fragt macOS beim ersten Passwortzugriff einmal nach dem
Schlüsselbund. Einmal „Immer erlauben", dann ist es still. Bei einer frischen
Installation passiert das nicht.
Windows
Geplant, ohne Termin. Die Entscheidungslogik liegt in SyncCore und hängt weder
an AppKit noch an SwiftUI. Der eigentliche Aufwand liegt bei rsync, das es auf
Windows nicht nativ gibt.