SECURE PIPES 2 Benutzerhandbuch

Screenshots zeigen die englische Oberfläche; Diagramme folgen der Sprache der Anleitung. Die Bezeichnungen in der App können je nach gewählter Sprache abweichen.

spcli — Befehlsreferenz

Die Befehlsbeschreibungen und kopierbaren Beispiele entsprechen dem Bereich Automatisierung in der Mac-App. Die Referenzen enthalten bestehende Befehle und Ergänzungen in 2.0.17.

spcli-Befehlsreferenz

Diese Abschnitte werden aus der integrierten Mac-App-Referenz synchronisiert, einschließlich aller Erklärungen und vollständigen Skriptbeispiele. Beispielnamen und IDs vor dem Ausführen ersetzen. Beispiele können echte Verbindungen und Einstellungen verändern; nicht die ganze Seite als Skript ausführen.

Remotedesktop

spcli list remote-desktops --json

Gespeicherte RDP/VNC-Verbindungen auflisten.

spcli list remote-desktops --json

spcli get-remote-desktop "<ID>"

Eine Verbindung anhand ihrer ID lesen; Zugangsdaten werden ausgelassen.

spcli get-remote-desktop "DESKTOP-ID"

spcli create-remote-desktop <JSON>

Mit name und values erstellen. Für eine Hostvorlage hostProfileUUID verwenden.

spcli create-remote-desktop '{"name":"Office desktop","values":{"hostProfileUUID":"PRESET-HOST-ID","remoteDesktopType":"rdp","remoteDesktopUsername":"alice","remoteHost":"192.168.1.91"}}'
spcli create-remote-desktop '{"name":"Office VNC","values":{"hostProfileUUID":"PRESET-HOST-ID","remoteDesktopType":"vnc","remoteDesktopVNCOpenMode":"screenSharing"}}'

spcli update-remote-desktop <JSON>

Anhand von id aktualisieren; name und values sind optional.

spcli update-remote-desktop '{"id":"DESKTOP-ID","values":{"remoteDesktopOptions":{"screen mode id":1,"audiomode":2}}}'

spcli open-remote-desktop "<ID>"

Bei Bedarf den SSH-Tunnel starten und dann den gespeicherten RDP/VNC-Client öffnen.

spcli open-remote-desktop "DESKTOP-ID"

spcli delete-remote-desktop "<ID>"

Eine getrennte Verbindung anhand ihrer ID löschen.

spcli delete-remote-desktop "DESKTOP-ID"

Benutzernamen können geschrieben werden, werden aber nie zurückgegeben. SSH-Passwörter und Identitätsdateien in Secure Pipes festlegen; Desktop-Passwörter im Client eingeben.

Über spcli

spcli ist ein kleines, in Secure Pipes enthaltenes Kommandozeilentool. Es steuert Secure Pipes direkt im Terminal, damit du gespeicherte Verbindungen in Shell-Skripten, Aliassen oder geplanten Aufgaben starten, beenden und prüfen kannst.

spcli verwendet dieselben AppleScript-Befehle und Automatisierungsrechte. Beim Start der Netzwerkfreigabe kann das Bestätigungsfenster erscheinen.

spcli installieren

spcli wird mit Secure Pipes ausgeliefert, ist aber erst nach der Installation in deinem PATH verfügbar. Nutze die Zeile für das Kommandozeilentool unter „Sicherung“ in den Einstellungen > Allgemein.

  • Klicke auf „spcli installieren“. Secure Pipes verknüpft spcli mit einem Ordner in deinem PATH, etwa /usr/local/bin oder /opt/homebrew/bin.

  • Wenn der Ordner Rechte erfordert, bestätige die einmalige Administratorabfrage.

  • Öffne ein neues Terminal-Fenster und führe spcli --help aus, um die Verfügbarkeit zu prüfen.

Um es später zu entfernen, klicke in derselben Zeile auf „spcli deinstallieren“.

Installation prüfen

spcli --version
spcli --help

Befehlsreferenz

Gib spcli und dann einen Befehl ein. Setze Verbindungs- und Gruppennamen in Anführungszeichen.

spcli start

Startet Secure Pipes ohne Fenster.

spcli start

spcli show

Zeigt das Secure-Pipes-Fenster an und aktiviert es.

spcli show

spcli hide

Blendet die Secure-Pipes-Fenster aus, während die Verbindungen weiterlaufen.

spcli hide

spcli shutdown

Beendet Secure Pipes und stoppt aktive Verbindungen.

spcli shutdown

spcli list connections

Listet die konfigurierten Verbindungen. Mit --json als maschinenlesbare Ausgabe.

spcli list connections

spcli list groups

Listet die Tags, die als Verbindungsgruppen dienen. Mit --json als maschinenlesbare Ausgabe.

spcli list groups

spcli connect "<connection>"

Startet eine gespeicherte Verbindung.

spcli connect "Build Tunnel (Local Forward)"

spcli disconnect "<connection>"

Beendet eine gespeicherte Verbindung.

spcli disconnect "Build Tunnel (Local Forward)"

spcli status "<connection>"

Zeigt den aktuellen Zustand einer Verbindung.

spcli status "Build Tunnel (Local Forward)"

spcli connect-group "<group>"

Startet eine Gruppe mit ihren gespeicherten Starteinstellungen.

spcli connect-group "engineering"

spcli disconnect-group "<group>"

Stoppt eine Gruppe und ihre Mitglieder.

spcli disconnect-group "engineering"

spcli list task-plans

Pläne ohne Zugangsdaten auflisten.

spcli list task-plans --json

spcli create-task-plan '<JSON>'

Validierten Plan aus JSON erstellen. Verbindungs-/Gruppen-IDs verwenden, keine Zugangsdaten.

spcli create-task-plan '{"id":"work-start","hour":9,"minute":0,"repeat":2,"actions":[{"type":"start_group","id":"work"}]}'

spcli update-task-plan '<JSON>'

Plan mit bestehender ID und zu speichernden Feldern aktualisieren.

spcli update-task-plan '{"id":"work-start","hour":8,"minute":45,"repeat":2,"actions":[{"type":"start_group","id":"work"}]}'

spcli enable-task-plan "<ID>"

Gespeicherten Plan aktivieren, deaktivieren oder sofort testen.

spcli enable-task-plan "work-start"
spcli disable-task-plan "work-start"
spcli run-task-plan "work-start"

Optionen

--json

Maschinenlesbares JSON für unterstützte Befehle.

--help

Zeigt den vollständigen Hinweistext.

--version

Zeigt die spcli-Version.

Exit-Codes

0 Erfolg, 1 Secure Pipes hat einen Fehler gemeldet, 2 ungültige Verwendung, 3 Secure Pipes nicht gefunden oder Automationserlaubnis verweigert, 4 der Apple Event konnte nicht gesendet werden.

Regeln und Nutzungsszenarien

Verwenden Sie zum Ändern von Regeln oder Wechseln des Szenarios eine ID oder einen eindeutigen Namen. Beim Wechsel werden aktive Verbindungen getrennt und erneut hergestellt. Beim Löschen eines Szenarios bleiben Regeln erhalten; Regeln ohne weitere Zuordnung werden allgemein gültig.

spcli list rules

Listet Regeln in Reihenfolge mit ID, Name, Aktivierungsstatus, Aktion und Szenario-IDs auf.

spcli list rules --json

spcli list scenarios

Listet Szenarien einschließlich Universal mit ID, Name und Aktivierungsstatus auf.

spcli list scenarios --json

spcli current-scenario

Zeigt den Namen des aktuell aktiven Szenarios an.

spcli current-scenario

spcli switch-scenario "Office"

Wechselt per ID oder eindeutigem Namen das Szenario und verbindet betroffene Verbindungen nach den gewählten Regeln neu.

spcli switch-scenario "Office"

spcli enable-rule "Work websites"

Aktiviert eine Regel per ID oder eindeutigem Namen.

spcli enable-rule "Work websites"

spcli disable-rule "Work websites"

Deaktiviert eine Regel, ohne sie zu löschen.

spcli disable-rule "Work websites"

spcli set-rule-scenarios "Work websites" "Office" "Travel"

Ersetzt die Szenariozuordnungen einer Regel. Universal macht sie zu einer allgemeinen Regel.

spcli set-rule-scenarios "Work websites" "Office" "Travel"

spcli create-scenario "Travel"

Erstellt ein Szenario mit eindeutigem Namen und gibt seine ID zurück.

spcli create-scenario "Travel"

spcli rename-scenario "Travel" "Mobile work"

Benennt ein Szenario um und behält seine Regelzuordnungen bei.

spcli rename-scenario "Travel" "Mobile work"

spcli delete-scenario "Travel"

Löscht ein Szenario, aber nicht seine Regeln. Regeln ohne weitere Szenarien werden allgemein gültig.

spcli delete-scenario "Travel"

Kombiniertes Beispiel

spcli list rules --json
spcli list scenarios --json
spcli current-scenario
spcli switch-scenario "Office"
spcli enable-rule "Work websites"
spcli disable-rule "Work websites"
spcli set-rule-scenarios "Work websites" "Office" "Travel"
spcli set-rule-scenarios "Work websites" Universal
spcli create-scenario "Travel"
spcli rename-scenario "Travel" "Mobile work"
spcli delete-scenario "Mobile work"

Proxy und Netzwerkfreigabe

Die Freigabe verwendet die gespeicherte Adresse, den Port und die Authentifizierung. Beim Start öffnet sich bei Bedarf das Bestätigungsfenster. Für den Gateway-Modus bleiben Risikobestätigung und macOS-Autorisierung erforderlich.

spcli list proxy-servers

Listet konfigurierte Proxyserver mit ID, Name, Typ und Adresse auf, ohne Zugangsdaten.

spcli list proxy-servers --json

spcli transparent-proxy-status

Zeigt Betriebszustand, Systemerweiterungsstatus und Versionsübereinstimmung des transparenten Proxys an.

spcli transparent-proxy-status --json

spcli initialize-transparent-proxy

Installiert oder repariert die Systemerweiterung. macOS kann eine Genehmigung verlangen; der transparente Proxy wird nicht gestartet.

spcli initialize-transparent-proxy

spcli start-transparent-proxy

Startet den transparenten Proxy mit den aktuellen Routingregeln, sobald die Erweiterung bereit ist.

spcli start-transparent-proxy

spcli stop-transparent-proxy

Stoppt den transparenten Proxy. Die Netzwerkfreigabe ist von diesem Dienst abhängig.

spcli stop-transparent-proxy

spcli sharing-status

Zeigt den Status von Freigabe und Gateway an. Während des Betriebs gelten die angezeigten Modi; im Ruhezustand sind es die gespeicherten Modi.

spcli sharing-status --json

spcli set-sharing-modes both

Wählt Proxy, Gateway, beide oder Aus für den nächsten manuellen Start. Stoppen Sie vor einer Änderung die Freigabe.

spcli set-sharing-modes both

spcli start-sharing

Startet die gewählten Modi mit gespeicherter Adresse, Port und Authentifizierung. Eine Bestätigung kann erforderlich sein.

spcli start-sharing

spcli stop-sharing

Stoppt Gateway und Freigabe-Proxy-Listener. Der transparente Proxy läuft weiter.

spcli stop-sharing

Kombiniertes Beispiel

spcli list proxy-servers --json
spcli transparent-proxy-status --json
spcli initialize-transparent-proxy
spcli start-transparent-proxy
spcli set-sharing-modes both
spcli sharing-status --json
spcli start-sharing
spcli stop-sharing
spcli stop-transparent-proxy

Verbindungen, Aktivität und Protokolle

Mit den IDs aus den Listen lassen sich Einträge eindeutig abrufen. Details werden als JSON-Text zurückgegeben.

spcli group-status "engineering"

Zeigt das Gruppenergebnis und den Status jedes Mitglieds.

spcli group-status "engineering" --json

spcli connect-and-wait "Build Tunnel" 30

Wartet auf eine bereitstehende Verbindung; Fehler und Zeitüberschreitungen werden gemeldet.

spcli connect-and-wait "Build Tunnel" 30

spcli preview-route

Sagt die lokale Regel im aktuellen Szenario voraus; die Verbindung wird nicht getestet.

spcli preview-route example.com 443 com.apple.Safari TCP --json

spcli test-proxy

Testet einen gespeicherten Proxy und liefert Ergebnis, Grund und Dauer.

spcli test-proxy "proxy-id" --json

spcli list proxy-flows

Zeigt Proxy-Aktivität; LAN zeigt Freigaben, ALL beides.

spcli list proxy-flows --json

spcli list sharing-flows

Zeigt Verbindungen der Netzwerkfreigabe.

spcli list sharing-flows --json

spcli end-flow

Beendet einen verbundenen Datenfluss anhand seiner ID.

spcli end-flow "flow-id"

spcli list logs

Zeigt bis zu 200 aktuelle, bereinigte Protokolleinträge, neueste zuerst.

spcli list logs --json

spcli log-detail

Zeigt den vollständigen aktuellen Protokolleintrag anhand seiner ID.

spcli log-detail "log-id" --json

Terminalbeispiele

Kombiniere spcli mit üblichen Shell-Tools, um deine Abläufe zu automatisieren.

Verbindungen auflisten

spcli list connections

Beispielausgabe

Build Tunnel (Local Forward), Debug DB (Remote Forward), Dev Box SOCKS (SOCKS Proxy)

Verbindung starten und warten

spcli connect "Build Tunnel (Local Forward)"
until [ "$(spcli status "Build Tunnel (Local Forward)")" = "connected" ]; do sleep 1; done
echo "Tunnel is up"

Eine Verbindung kann auch bei authentication failed, unknown host key, host key changed, invalid oder error stehen bleiben; prüfe den Status, bevor du dich darauf verlässt.

Gruppe starten oder beenden

spcli connect-group "engineering"
spcli disconnect-group "engineering"

Status als JSON lesen

spcli status "Build Tunnel (Local Forward)" --json

Beispielausgabe

{ "connection" : "Build Tunnel (Local Forward)", "status" : "connected" }

Automationserlaubnis

Wenn Terminal spcli zum ersten Mal ausführt, fragt macOS, ob Terminal Secure Pipes steuern darf. Erlaube dies in den Systemeinstellungen unter Datenschutz & Sicherheit > Automatisierung.

Vollständige spcli-Hilfe (englisches Original aus der App)

spcli — control Secure Pipes from the command line

Usage: spcli <command> [arguments]

Application:
  spcli start                       Start Secure Pipes without showing its window
  spcli show                        Show and activate the Secure Pipes window
  spcli hide                        Hide Secure Pipes windows
  spcli shutdown                    Quit Secure Pipes immediately

Connections and groups:
  Connection arguments accept a UUID, unique name or full display name.
  spcli list connections [--json]   List configured connections
  spcli connect "<connection>"      Start a connection
  spcli disconnect "<connection>"   Stop a connection
  spcli status "<connection>" [--json]
                                    Show the status of a connection
  spcli wait "<connection>" [seconds]
                                    Wait until connected (1-45 seconds)
  spcli connect-and-wait "<connection>" [seconds]
                                    Start and wait for a ready connection
  spcli list remote-desktops [--json]  List RDP/VNC profiles (redacted)
  spcli get-remote-desktop "<ID>" [--json]
  spcli create-remote-desktop '<JSON>'  Create name/values; preset host supported
  spcli update-remote-desktop '<JSON>'  Update id/name/values
  spcli open-remote-desktop "<ID>"    Start tunnel and open client
  spcli delete-remote-desktop "<ID>"  Delete disconnected profile
  spcli list groups [--json]        List connection groups
  spcli group-status "<group>" [--json]
                                    Show the status of a group
  spcli connect-group "<group>"     Start all connections in a group
  spcli disconnect-group "<group>"  Stop all connections in a group

Rules and scenarios:
  spcli list rules [--json]         List proxy rules and scenario assignments
  spcli preview-route <host> <port> <bundle-id> [TCP|UDP] [--json]
                                    Predict the current local rule decision
  spcli enable-rule "<name|ID>"    Enable a proxy rule
  spcli disable-rule "<name|ID>"   Disable a proxy rule
  spcli set-rule-scenarios "<rule>" "<scenario>" ["<scenario>" ...]
                                    Replace assignments; Universal clears them
  spcli list scenarios [--json]     List usage scenarios (ID, name, active state)
  spcli current-scenario            Show the active usage scenario
  spcli switch-scenario "<name|ID>"
                                    Switch scenario; active connections reconnect
  spcli create-scenario "<name>"   Create a usage scenario
  spcli rename-scenario "<old>" "<new>"
                                    Rename a scenario
  spcli delete-scenario "<name|ID>"
                                    Delete a scenario; orphaned rules become universal

Task plans:
  spcli list task-plans [--json]    List scheduled plans (redacted)
  spcli get-task-plan "<ID>" [--json]
                                    Read one scheduled plan
  spcli create-task-plan '<JSON>'   Create a validated task plan
  spcli update-task-plan '<JSON>'   Update a plan; JSON must include id
  spcli delete-task-plan "<ID>"   Delete a scheduled plan
  spcli enable-task-plan "<ID>"   Enable a plan
  spcli disable-task-plan "<ID>"  Disable a plan
  spcli run-task-plan "<ID>"      Run a plan immediately
                                    JSON repeat: 0 once, 1 daily, 2 weekdays,
                                    3 custom weekdays, 4 app launch, 5 app quit,
                                    6 custom dates; dates are ISO 8601 or YYYY-MM-DD

Proxies and sharing:
  spcli list proxy-servers [--json] List proxy servers without credentials
  spcli test-proxy <name|ID> [--json]
                                    Test a proxy server
  spcli transparent-proxy-status [--json]
                                    Show transparent proxy and extension state
  spcli initialize-transparent-proxy
                                    Install or repair the system extension
  spcli start-transparent-proxy     Start the transparent proxy
  spcli stop-transparent-proxy      Stop the transparent proxy
  spcli sharing-status [--json]     Show sharing, gateway and mode states
  spcli set-sharing-modes <proxy|gateway|both|off>
                                    Select network sharing modes
  spcli start-sharing               Start the selected sharing modes
  spcli stop-sharing                Stop gateway and network sharing

Activity and logs:
  spcli list flows [--json]         List proxy and sharing connections
  spcli list proxy-flows [--json]   List transparent proxy connections
  spcli list sharing-flows [--json] List network sharing connections
  spcli end-flow <flow-id>          End a connected flow
  spcli list logs [--json]          Show the 200 newest redacted logs
  spcli log-detail <log-id> [--json]
                                    Show the complete recent log record

Options:
  --json    Machine-readable JSON output for supported commands
  --help    Show this help
  --version Show the spcli version

Exit codes:
  0 success   1 Secure Pipes reported an error   2 invalid usage
  3 application not found / not launchable / Automation permission denied
  4 Apple Event send, timeout, or reply failure

Basierend auf Secure Pipes 2.0.17 · Aktualisiert am 9. November 2026