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.
AppleScript — 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.

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.
Befehlsreferenz
Verwende die hier gezeigte Befehlsform. Verbindungsname oder Gruppen-Tag stehen in Anführungszeichen.
start
Startet Secure Pipes ohne Fenster.
tell application "Secure Pipes" to start
show
Zeigt das Secure-Pipes-Fenster.
tell application "Secure Pipes" to show
hide
Blendet das Fenster aus; Secure Pipes und Verbindungen laufen weiter.
tell application "Secure Pipes" to hide
shutdown
Beendet Secure Pipes und stoppt aktive Verbindungen.
tell application "Secure Pipes" to shutdown
list connections
Listet die gespeicherten Verbindungen auf.
tell application "Secure Pipes" to list connections
list connection groups
Listet Tags auf, die als Verbindungsgruppen dienen.
tell application "Secure Pipes" to list connection groups
connect connection "Build Tunnel (Local Forward)"
Startet eine gespeicherte Verbindung.
tell application "Secure Pipes" to connect connection "Build Tunnel (Local Forward)"
disconnect connection "Build Tunnel (Local Forward)"
Beendet eine gespeicherte Verbindung.
tell application "Secure Pipes" to disconnect connection "Build Tunnel (Local Forward)"
connection status "Build Tunnel (Local Forward)"
Liest den aktuellen Verbindungsstatus.
tell application "Secure Pipes" to connection status "Build Tunnel (Local Forward)"
connect group "engineering"
Startet eine Gruppe mit ihren gespeicherten Starteinstellungen.
tell application "Secure Pipes" to connect group "engineering"
disconnect group "engineering"
Stoppt eine Gruppe und ihre Mitglieder.
tell application "Secure Pipes" to disconnect group "engineering"
Verwende in Skripten die Verbindungs-UUID, damit sie nach dem Umbenennen weiter funktionieren. Eindeutige Namen und vollständige Namen mit Typ werden ebenfalls unterstützt. Bei doppelten Namen kannst du die UUID verwenden.
Remotedesktop
list remote desktops
Gespeicherte RDP/VNC-Verbindungen auflisten.
tell application "Secure Pipes" to list remote desktops
get remote desktop "<ID>"
Eine Verbindung anhand ihrer ID lesen; Zugangsdaten werden ausgelassen.
tell application "Secure Pipes" to get remote desktop "DESKTOP-ID"
create remote desktop <JSON>
Mit name und values erstellen. Für eine Hostvorlage hostProfileUUID verwenden.
tell application "Secure Pipes" to create remote desktop "{\"name\":\"Office desktop\",\"values\":{\"hostProfileUUID\":\"PRESET-HOST-ID\",\"remoteDesktopType\":\"rdp\",\"remoteDesktopUsername\":\"alice\",\"remoteHost\":\"192.168.1.91\"}}"
tell application "Secure Pipes" to create remote desktop "{\"name\":\"Office VNC\",\"values\":{\"hostProfileUUID\":\"PRESET-HOST-ID\",\"remoteDesktopType\":\"vnc\",\"remoteDesktopVNCOpenMode\":\"screenSharing\"}}"
update remote desktop <JSON>
Anhand von id aktualisieren; name und values sind optional.
tell application "Secure Pipes" to update remote desktop "{\"id\":\"DESKTOP-ID\",\"values\":{\"remoteDesktopOptions\":{\"screen mode id\":1,\"audiomode\":2}}}"
open remote desktop "<ID>"
Bei Bedarf den SSH-Tunnel starten und dann den gespeicherten RDP/VNC-Client öffnen.
tell application "Secure Pipes" to open remote desktop "DESKTOP-ID"
delete remote desktop "<ID>"
Eine getrennte Verbindung anhand ihrer ID löschen.
tell application "Secure Pipes" to 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.
Aufgabenpläne
Geplante Aktionen erstellen und steuern. Leseergebnisse enthalten niemals Passwörter oder private Schlüsselinhalte.
list task plans
Gespeicherte Pläne als bereinigtes JSON auflisten.
tell application "Secure Pipes" to list task plans
get task plan "work-start"
Einen Plan per ID als bereinigtes JSON lesen.
tell application "Secure Pipes" to get task plan "work-start"
create task plan <JSON>
Validierten Plan erstellen. Verbindungs-/Gruppen-IDs in Aktionen verwenden, keine Zugangsdaten.
tell application "Secure Pipes"
create task plan "{\"id\":\"work-start\",\"hour\":9,\"minute\":0,\"repeat\":2,\"actions\":[{\"type\":\"start_group\",\"id\":\"work\"}]}"
end tell
update task plan <JSON>
Plan mit bestehender ID und zu ändernden Feldern aktualisieren.
tell application "Secure Pipes"
update task plan "{\"id\":\"work-start\",\"hour\":8,\"minute\":45,\"repeat\":2,\"actions\":[{\"type\":\"start_group\",\"id\":\"work\"}]}"
end tell
set task plan enabled "work-start"
Aktivieren/deaktivieren ohne Terminänderung. Parameter standardmäßig true.
tell application "Secure Pipes" to set task plan enabled "work-start" enabled false
tell application "Secure Pipes" to set task plan enabled "work-start" enabled true
run task plan "work-start"
Plan sofort ausführen und JSON-Ergebnis zurückgeben.
tell application "Secure Pipes" to run task plan "work-start"
delete task plan "work-start"
Gespeicherten Plan anhand seiner ID löschen.
tell application "Secure Pipes" to delete task plan "work-start"
JSON unterstützt repeat 0–6, eigene Wochentage, Datumsbereiche in ISO 8601 oder YYYY-MM-DD und validierte Aktionen. Zuerst mit list connections und list connection groups IDs ermitteln.
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.
list proxy rules
Listet Regeln in Reihenfolge mit ID, Name, Aktivierungsstatus, Aktion und Szenario-IDs auf.
tell application "Secure Pipes" to list proxy rules
list scenarios
Listet Szenarien einschließlich Universal mit ID, Name und Aktivierungsstatus auf.
tell application "Secure Pipes" to list scenarios
current scenario
Zeigt den Namen des aktuell aktiven Szenarios an.
tell application "Secure Pipes" to current scenario
switch scenario "Office"
Wechselt per ID oder eindeutigem Namen das Szenario und verbindet betroffene Verbindungen nach den gewählten Regeln neu.
tell application "Secure Pipes" to switch scenario "Office"
enable proxy rule "Work websites"
Aktiviert eine Regel per ID oder eindeutigem Namen.
tell application "Secure Pipes" to enable proxy rule "Work websites"
disable proxy rule "Work websites"
Deaktiviert eine Regel, ohne sie zu löschen.
tell application "Secure Pipes" to disable proxy rule "Work websites"
set rule scenarios "Work websites" scenarios {"Office", "Travel"}
Ersetzt die Szenariozuordnungen einer Regel. Universal macht sie zu einer allgemeinen Regel.
tell application "Secure Pipes" to set rule scenarios "Work websites" scenarios {"Office", "Travel"}
create scenario "Travel"
Erstellt ein Szenario mit eindeutigem Namen und gibt seine ID zurück.
tell application "Secure Pipes" to create scenario "Travel"
rename scenario "Travel" to "Mobile work"
Benennt ein Szenario um und behält seine Regelzuordnungen bei.
tell application "Secure Pipes" to rename scenario "Travel" to "Mobile work"
delete scenario "Travel"
Löscht ein Szenario, aber nicht seine Regeln. Regeln ohne weitere Szenarien werden allgemein gültig.
tell application "Secure Pipes" to delete scenario "Travel"
Kombiniertes Beispiel
tell application "Secure Pipes"
set savedRules to list proxy rules
set savedScenarios to list scenarios
set selectedScenario to current scenario
switch scenario "Office"
enable proxy rule "Work websites"
disable proxy rule "Work websites"
set rule scenarios "Work websites" scenarios {"Office", "Travel"}
set rule scenarios "Work websites" scenarios {}
set newScenarioID to create scenario "Travel"
rename scenario newScenarioID to "Mobile work"
delete scenario newScenarioID
end tell
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.
list proxy servers
Listet konfigurierte Proxyserver mit ID, Name, Typ und Adresse auf, ohne Zugangsdaten.
tell application "Secure Pipes" to list proxy servers
transparent proxy status
Zeigt Betriebszustand, Systemerweiterungsstatus und Versionsübereinstimmung des transparenten Proxys an.
tell application "Secure Pipes" to transparent proxy status
initialize transparent proxy
Installiert oder repariert die Systemerweiterung. macOS kann eine Genehmigung verlangen; der transparente Proxy wird nicht gestartet.
tell application "Secure Pipes" to initialize transparent proxy
start transparent proxy
Startet den transparenten Proxy mit den aktuellen Routingregeln, sobald die Erweiterung bereit ist.
tell application "Secure Pipes" to start transparent proxy
stop transparent proxy
Stoppt den transparenten Proxy. Die Netzwerkfreigabe ist von diesem Dienst abhängig.
tell application "Secure Pipes" to stop transparent proxy
network 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.
tell application "Secure Pipes" to network sharing status
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.
tell application "Secure Pipes" to set sharing modes "both"
start network sharing
Startet die gewählten Modi mit gespeicherter Adresse, Port und Authentifizierung. Eine Bestätigung kann erforderlich sein.
tell application "Secure Pipes" to start network sharing
stop network sharing
Stoppt Gateway und Freigabe-Proxy-Listener. Der transparente Proxy läuft weiter.
tell application "Secure Pipes" to stop network sharing
Kombiniertes Beispiel
tell application "Secure Pipes"
set servers to list proxy servers
set proxyState to transparent proxy status
initialize transparent proxy
start transparent proxy
set sharing modes "both"
set sharingState to network sharing status
start network sharing
stop network sharing
stop transparent proxy
end tell
Verbindungen, Aktivität und Protokolle
Mit den IDs aus den Listen lassen sich Einträge eindeutig abrufen. Details werden als JSON-Text zurückgegeben.
group status "engineering"
Zeigt das Gruppenergebnis und den Status jedes Mitglieds.
tell application "Secure Pipes" to group status "engineering"
wait for connection "Build Tunnel" timeout 30
Wartet auf eine bereitstehende Verbindung; Fehler und Zeitüberschreitungen werden gemeldet.
tell application "Secure Pipes" to wait for connection "Build Tunnel" timeout 30
preview route "example.com" port 443
Sagt die lokale Regel im aktuellen Szenario voraus; die Verbindung wird nicht getestet.
tell application "Secure Pipes" to preview route "example.com" port 443 application "com.apple.Safari" transport "TCP"
test proxy server "proxy-id"
Testet einen gespeicherten Proxy und liefert Ergebnis, Grund und Dauer.
tell application "Secure Pipes" to test proxy server "proxy-id"
list active flows "PROXY"
Zeigt Proxy-Aktivität; LAN zeigt Freigaben, ALL beides.
tell application "Secure Pipes" to list active flows "PROXY"
list active flows "LAN"
Zeigt Verbindungen der Netzwerkfreigabe.
tell application "Secure Pipes" to list active flows "LAN"
end active flow "flow-id"
Beendet einen verbundenen Datenfluss anhand seiner ID.
tell application "Secure Pipes" to end active flow "flow-id"
list recent logs
Zeigt bis zu 200 aktuelle, bereinigte Protokolleinträge, neueste zuerst.
tell application "Secure Pipes" to list recent logs
log detail "log-id"
Zeigt den vollständigen aktuellen Protokolleintrag anhand seiner ID.
tell application "Secure Pipes" to log detail "log-id"
Terminalbeispiele
Führe einen AppleScript-Befehl im Terminal mit osascript aus. macOS fragt möglicherweise, ob das Terminal Secure Pipes steuern darf.
Verbindungsgruppen auflisten
osascript -e 'tell application "Secure Pipes" to list connection groups'
Beispielausgabe
engineering, on-call
Verbindungstags bestimmen die Gruppenmitglieder. Beim Start gelten die gespeicherte Reihenfolge, der Parallel- oder Folgemodus und die Fehlerbehandlung.
Gruppe starten oder beenden
osascript -e 'tell application "Secure Pipes" to connect group "engineering"'
osascript -e 'tell application "Secure Pipes" to disconnect group "engineering"'
Verbindung anzeigen und steuern
osascript -e 'tell application "Secure Pipes" to list connections'
osascript -e 'tell application "Secure Pipes" to connection status "Build Tunnel (Local Forward)"'
osascript -e 'tell application "Secure Pipes" to connect connection "Build Tunnel (Local Forward)"'
Im Terminal ausführen
Speichere die Datei und übergib ihren Pfad an osascript:
osascript ~/Scripts/Connect\ Tunnel.applescript
Skriptausführung
Speichere ein Beispiel als .applescript-Datei und führe es im Skripteditor oder mit osascript aus.
Verbindung nach Namen starten
Ersetze den Beispielnamen durch einen Namen aus list connections.
on run
-- Leave this blank to skip opening a URL after connecting.
set postConnectURL to ""
-- Get the saved connections.
tell application "Secure Pipes"
set availableConnections to list connections
end tell
if (count of availableConnections) is 0 then return
set selectedConnection to choose from list availableConnections
if selectedConnection is false then return
set targetConnection to item 1 of selectedConnection
-- Start the selected connection and wait up to 90 seconds.
tell application "Secure Pipes"
connect connection targetConnection
set currentState to "connecting"
repeat with attempt from 1 to 90
set currentState to connection status targetConnection
if currentState is "connected" then exit repeat
if currentState is "authentication failed" or currentState is "unknown host key" or currentState is "host key changed" or currentState is "invalid" or currentState is "error" then exit repeat
delay 1
end repeat
end tell
-- Open the URL only if the connection comes up.
if currentState is "connected" and postConnectURL is not "" then
open location postConnectURL
end if
return currentState
end run
Gruppe auswählen und verbinden
Listet verfügbare Tags auf, lässt dich eine Gruppe wählen und startet alle Verbindungen darin.
on run
-- Get the groups saved in Secure Pipes.
tell application "Secure Pipes"
set availableGroups to list connection groups
end tell
-- Let the user know if there are no groups to choose from.
if (count of availableGroups) is 0 then
display dialog "No tagged connection groups are available." buttons {"OK"}
return
end if
-- Ask which group to start.
set selectedGroup to choose from list availableGroups
if selectedGroup is false then return
set targetGroup to item 1 of selectedGroup
tell application "Secure Pipes"
connect group targetGroup
end tell
end run
Automatisierungsberechtigung
Wenn macOS danach fragt, erlaube der ausführenden App, etwa Terminal oder Skripteditor, Secure Pipes unter Systemeinstellungen > Datenschutz & Sicherheit > Automatisierung zu steuern.
Basierend auf Secure Pipes 2.0.17 · Aktualisiert am 9. November 2026