NoiXdev
← Alle Projekte
live

macSCP

Schneller, nativer Dateitransfer für den Mac — zwei Fenster nebeneinander für SFTP, S3 und WebDAV, gespeicherte Sessions und ein integriertes Terminal. Drag & drop, SSH-Key- und Agent-Login, Host-Key-Pinning. Passwörter leben nur im macOS-Schlüsselbund.

Worum es geht

macSCP bringt den klassischen Zwei-Fenster-Dateitransfer als echte native App auf den Mac: links dein Mac, rechts dein Server — Dateien wandern per Drag & Drop, Buttons oder direkt in den Finder. Keine Elektron-Hülle, kein Cloud-Konto: eine native SwiftUI-App, die deine Zugangsdaten ausschließlich im macOS-Schlüsselbund hält.

Highlights

  • Drei Server-Protokolle — SFTP über SSH, S3-kompatibler Objektspeicher (Hetzner-Voreinstellungen, Start in der Bucket-Liste) und WebDAV (Basic-, Digest- und TLS-Auth; ein Nextcloud/ownCloud-Klick-Preset). Transfers zwischen zwei verschiedenen Protokollen im selben Fenster funktionieren wie jeder andere.
  • Zwei-Fenster-Browser — lokal und remote nebeneinander, Navigation per Doppelklick, Drag & Drop in beide Richtungen (auch remote Dateien direkt in den Finder ziehen), sortierbare Typ-Spalte und eine Checksummen-Spalte, die bei jeder Zahl verrät, woher sie kommt.
  • Gespeicherte Sessions — Ein-Klick-Reconnect, Gruppen und Tags; ein Klick auf eine Session zeigt vor dem Verbinden die Details: Fakten, letzte Verbindungen und ihre Snippets mit Ein-Klick-Run.
  • Verbindungsdiagnose — den Weg zum Server Schritt für Schritt messen: Namensauflösung, Erreichbarkeit, Ping, der Verbindungsversuch selbst, eine IPv4-Routenverfolgung und protokollspezifische Prüfungen. Bericht als Text oder Markdown kopierbar.
  • Port-Weiterleitung — lokale, dynamische (SOCKS5) und remote Forwardings als gespeicherte Profile je Session, optional automatisch beim App-Start oder bei der Anmeldung.
  • Integriertes Terminal & Snippets — eine echte Shell auf derselben Verbindung, einen Tastendruck (⌘T) entfernt; Snippets mit deklarierten Variablen, Trockenlauf und Ein-Klick-Run, der verbindet und sendet.
  • SSH-Key-Authentifizierung — ed25519-, RSA- und ECDSA-Keys, aus Datei oder SSH-Agent, mit oder ohne Passphrase; PEM-Keys öffnen direkt, der Key-Manager wandelt sie beim Import ins OpenSSH-Format. Einträge aus ~/.ssh/config erscheinen automatisch.
  • Host-Key-Pinning — Bestätigung des Fingerprints beim ersten Verbinden; ein geänderter Host-Key ist ein harter Stopp, kein Dialog.
  • Transfer-Queue — parallele Transfers, Konfliktbehandlung (überschreiben / überspringen / umbenennen / auf alle anwenden), rekursive Ordner, Resume nach Verbindungsabbruch, Bandbreitenlimit je Richtung, Einzel- oder Sammelabbruch.
  • Kommandozeilen-Begleiter — macscp-cli steckt im App-Bundle: ls, get, put, rm, mkdir, diagnose, Sessions und Tunnels aus dem Terminal, mit stabilen Exit-Codes und Shell-Completion.
  • Mehrere Fenster — ein Tab in ein eigenes Fenster verschieben oder in ein anderes ziehen, Fenster oben halten, Fenster beim Start optional getrennt wiederherstellen.
  • Remote-Dateien direkt bearbeiten — Doppelklick öffnet die Datei im Editor; beim Speichern wird sie automatisch wieder hochgeladen.
  • Import aus Cyberduck — eine Vorschau listet jedes Lesezeichen mit Checkbox, bereits importierte Sessions werden aktualisiert statt doppelt angelegt, und Passwörter lassen sich auf Wunsch aus Cyberducks Schlüsselbund übernehmen.
  • Deutsch, Englisch, Französisch und Polnisch als Oberflächensprache.

Tech-Stack

  • Swift 6 & SwiftUI, native App ab macOS 15
  • Citadel (SSH/SFTP) auf SwiftNIO, swift-crypto für die Kryptografie
  • SwiftTerm fürs integrierte Terminal
  • Builds sind signiert und notarisiert

Download

Fertige Builds gibt es direkt von der Releases-Seite — lade das DMG, öffne es und zieh macSCP in den Programme-Ordner. Voraussetzung ist macOS 15 oder neuer; die App ist signiert und notarisiert.

Für Entwickler

macSCP ist ein Swift-Package:

swift build -c release      # Binary bauen
swift test                  # Testsuite
scripts/package-app         # baut macSCP.app unter dist/

Integrationstests nutzen die Docker-SSH-Testumgebung aus docker/test-server/ (MACSCP_ITEST=1).

Status & Dokumentation

macSCP ist LIVE und wird aktiv weiterentwickelt. Die komplette Benutzerdokumentation — Einstieg, Anleitung für jedes Feature und die CLI-Referenz — liegt unter docs.noix.dev/macscp. Issues und PRs sind willkommen — github.com/NoiXdev/macSCP.