Le schermate mostrano l’interfaccia in inglese; i diagrammi seguono la lingua della guida. I nomi dei controlli possono variare in base alla lingua scelta nell’app.
AppleScript — Riferimento dei comandi
Le descrizioni dei comandi e gli esempi da copiare corrispondono alla sezione Automazione dell’app per Mac. I riferimenti includono i comandi esistenti e le aggiunte della versione 2.0.17.

Spiegazioni e script completi sono sincronizzati dalla documentazione integrata nell’app Mac. Sostituisci nomi e ID di esempio prima di eseguire. Gli esempi possono cambiare connessioni e impostazioni reali: non eseguire l’intera pagina come script.
Riferimento dei comandi
Usa la frase di comando mostrata. Racchiudi tra virgolette il nome della connessione o il tag del gruppo.
start
Avvia Secure Pipes senza mostrare la finestra.
tell application "Secure Pipes" to start
show
Mostra la finestra di Secure Pipes.
tell application "Secure Pipes" to show
hide
Nasconde la finestra lasciando Secure Pipes e le connessioni in esecuzione.
tell application "Secure Pipes" to hide
shutdown
Chiude Secure Pipes e interrompe le connessioni attive.
tell application "Secure Pipes" to shutdown
list connections
Elenca le connessioni salvate.
tell application "Secure Pipes" to list connections
list connection groups
Elenca i tag usati come gruppi di connessioni.
tell application "Secure Pipes" to list connection groups
connect connection "Build Tunnel (Local Forward)"
Avvia una connessione salvata.
tell application "Secure Pipes" to connect connection "Build Tunnel (Local Forward)"
disconnect connection "Build Tunnel (Local Forward)"
Interrompe una connessione salvata.
tell application "Secure Pipes" to disconnect connection "Build Tunnel (Local Forward)"
connection status "Build Tunnel (Local Forward)"
Legge lo stato attuale della connessione.
tell application "Secure Pipes" to connection status "Build Tunnel (Local Forward)"
connect group "engineering"
Avvia un gruppo con le impostazioni salvate.
tell application "Secure Pipes" to connect group "engineering"
disconnect group "engineering"
Arresta il gruppo e le connessioni dei membri.
tell application "Secure Pipes" to disconnect group "engineering"
Usa l’UUID della connessione negli script perché continuino a funzionare dopo una rinomina. Sono supportati anche nomi univoci e nomi completi con il tipo. In caso di nomi duplicati, usa un UUID.
Desktop remoto
list remote desktops
Elenca le connessioni RDP/VNC salvate.
tell application "Secure Pipes" to list remote desktops
get remote desktop "<ID>"
Leggi una connessione per ID, senza credenziali.
tell application "Secure Pipes" to get remote desktop "DESKTOP-ID"
create remote desktop <JSON>
Crea con name e values. Usa hostProfileUUID per un host predefinito.
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>
Aggiorna per id; name e values sono facoltativi.
tell application "Secure Pipes" to update remote desktop "{\"id\":\"DESKTOP-ID\",\"values\":{\"remoteDesktopOptions\":{\"screen mode id\":1,\"audiomode\":2}}}"
open remote desktop "<ID>"
Avvia il tunnel SSH se necessario, poi apri il client RDP/VNC salvato.
tell application "Secure Pipes" to open remote desktop "DESKTOP-ID"
delete remote desktop "<ID>"
Elimina una connessione disconnessa tramite ID.
tell application "Secure Pipes" to delete remote desktop "DESKTOP-ID"
I nomi utente possono essere scritti, ma non vengono mai restituiti. Imposta password SSH e file di identità in Secure Pipes; inserisci la password del desktop nel client.
Piani attività
Creare e controllare azioni pianificate. Le letture non restituiscono password o contenuto delle chiavi private.
list task plans
Elencare piani come JSON privo di dati sensibili.
tell application "Secure Pipes" to list task plans
get task plan "work-start"
Leggere per ID un piano come JSON privo di dati sensibili.
tell application "Secure Pipes" to get task plan "work-start"
create task plan <JSON>
Creare piano validato con ID connessione/gruppo nelle azioni, senza credenziali.
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>
Aggiornare con ID esistente e campi da cambiare.
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"
Attivare/disattivare senza cambiare calendario. Parametro true per impostazione predefinita.
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"
Eseguire subito un piano e restituire il risultato JSON.
tell application "Secure Pipes" to run task plan "work-start"
delete task plan "work-start"
Eliminare piano salvato per ID.
tell application "Secure Pipes" to delete task plan "work-start"
JSON supporta repeat 0–6, giorni personalizzati, intervalli ISO 8601 o YYYY-MM-DD e azioni validate. Prima ottieni gli ID con list connections e list connection groups.
Regole e scenari d’uso
Usa un ID o un nome univoco per modificare una regola o cambiare scenario. Il cambio interrompe e ristabilisce le connessioni attive. Eliminare uno scenario conserva le sue regole; quelle senza altri scenari diventano comuni.
list proxy rules
Elenca le regole in ordine con ID, nome, stato di attivazione, azione e ID degli scenari.
tell application "Secure Pipes" to list proxy rules
list scenarios
Elenca gli scenari, incluso Universal, con ID, nome e stato attivo.
tell application "Secure Pipes" to list scenarios
current scenario
Mostra il nome dello scenario attualmente attivo.
tell application "Secure Pipes" to current scenario
switch scenario "Office"
Cambia scenario tramite ID o nome univoco e riconnette le connessioni interessate con le regole selezionate.
tell application "Secure Pipes" to switch scenario "Office"
enable proxy rule "Work websites"
Attiva una regola tramite ID o nome univoco.
tell application "Secure Pipes" to enable proxy rule "Work websites"
disable proxy rule "Work websites"
Disattiva una regola senza eliminarla.
tell application "Secure Pipes" to disable proxy rule "Work websites"
set rule scenarios "Work websites" scenarios {"Office", "Travel"}
Sostituisce gli scenari assegnati a una regola. Universal la rende una regola universale.
tell application "Secure Pipes" to set rule scenarios "Work websites" scenarios {"Office", "Travel"}
create scenario "Travel"
Crea uno scenario con nome univoco e restituisce il suo ID.
tell application "Secure Pipes" to create scenario "Travel"
rename scenario "Travel" to "Mobile work"
Rinomina uno scenario mantenendo le assegnazioni delle regole.
tell application "Secure Pipes" to rename scenario "Travel" to "Mobile work"
delete scenario "Travel"
Elimina uno scenario senza eliminare le sue regole. Le regole senza altri scenari diventano universali.
tell application "Secure Pipes" to delete scenario "Travel"
Esempio completo
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 e condivisione di rete
La condivisione usa indirizzo, porta e autenticazione salvati. Se necessario, all’avvio si apre la finestra di conferma. La modalità gateway richiede ancora la conferma dei rischi e l’autorizzazione di macOS.
list proxy servers
Elenca i server proxy configurati con ID, nome, tipo e indirizzo, senza credenziali.
tell application "Secure Pipes" to list proxy servers
transparent proxy status
Mostra lo stato del proxy trasparente, dell'estensione di sistema e la corrispondenza delle versioni.
tell application "Secure Pipes" to transparent proxy status
initialize transparent proxy
Installa o ripara l'estensione di sistema. macOS potrebbe richiedere l'autorizzazione; il proxy trasparente non viene avviato.
tell application "Secure Pipes" to initialize transparent proxy
start transparent proxy
Avvia il proxy trasparente con le regole di instradamento correnti quando l'estensione è pronta.
tell application "Secure Pipes" to start transparent proxy
stop transparent proxy
Arresta il proxy trasparente. La condivisione di rete dipende da questo servizio.
tell application "Secure Pipes" to stop transparent proxy
network sharing status
Mostra lo stato della condivisione e del gateway. In esecuzione mostra le modalità attive; da fermo, quelle salvate.
tell application "Secure Pipes" to network sharing status
set sharing modes "both"
Seleziona proxy, gateway, entrambi o disattivato per il prossimo avvio manuale. Arresta la condivisione prima di cambiare modalità.
tell application "Secure Pipes" to set sharing modes "both"
start network sharing
Avvia le modalità selezionate con indirizzo, porta e autenticazione salvati. Potrebbe essere necessaria una conferma.
tell application "Secure Pipes" to start network sharing
stop network sharing
Arresta il gateway e il listener del proxy condiviso. Il proxy trasparente resta in esecuzione.
tell application "Secure Pipes" to stop network sharing
Esempio completo
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
Connessioni, attività e registri
Usa gli ID degli elenchi per individuare esattamente le voci. I dettagli vengono restituiti come testo JSON.
group status "engineering"
Mostra il risultato del gruppo e lo stato di ogni membro.
tell application "Secure Pipes" to group status "engineering"
wait for connection "Build Tunnel" timeout 30
Attende che la connessione sia pronta; errori e timeout vengono segnalati.
tell application "Secure Pipes" to wait for connection "Build Tunnel" timeout 30
preview route "example.com" port 443
Prevede la regola locale nello scenario corrente; non verifica la connettività.
tell application "Secure Pipes" to preview route "example.com" port 443 application "com.apple.Safari" transport "TCP"
test proxy server "proxy-id"
Verifica un proxy salvato e restituisce risultato, motivo e durata.
tell application "Secure Pipes" to test proxy server "proxy-id"
list active flows "PROXY"
Mostra l’attività del proxy; LAN mostra la condivisione e ALL entrambe.
tell application "Secure Pipes" to list active flows "PROXY"
list active flows "LAN"
Mostra le connessioni della condivisione di rete.
tell application "Secure Pipes" to list active flows "LAN"
end active flow "flow-id"
Chiude un flusso connesso tramite il suo ID.
tell application "Secure Pipes" to end active flow "flow-id"
list recent logs
Mostra fino a 200 registri recenti privi di dati sensibili, dal più recente.
tell application "Secure Pipes" to list recent logs
log detail "log-id"
Mostra il record completo di un registro recente tramite ID.
tell application "Secure Pipes" to log detail "log-id"
Esempi nel Terminale
Esegui un comando AppleScript da Terminale con osascript. macOS potrebbe chiederti di consentire a Terminale di controllare Secure Pipes.
Elencare i gruppi di connessioni
osascript -e 'tell application "Secure Pipes" to list connection groups'
Risultato di esempio
engineering, on-call
I tag determinano i membri del gruppo. L’avvio segue ordine, modalità parallela o sequenziale e gestione degli errori salvati.
Avviare o interrompere un gruppo
osascript -e 'tell application "Secure Pipes" to connect group "engineering"'
osascript -e 'tell application "Secure Pipes" to disconnect group "engineering"'
Consultare e controllare una connessione
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)"'
Eseguire da Terminale
Salva il file e passa il relativo percorso a osascript:
osascript ~/Scripts/Connect\ Tunnel.applescript
Esegui da un file script
Salva un esempio con estensione .applescript ed eseguilo con Script Editor o osascript.
Connettersi per nome
Sostituisci il nome di esempio con un nome restituito da 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
Scegliere e avviare un gruppo
Elenca i tag disponibili, consente di sceglierne uno e avvia tutte le connessioni del gruppo.
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
Permesso di automazione
Quando macOS lo richiede, consenti all’app che esegue lo script, ad esempio Terminale o Script Editor, di controllare Secure Pipes in Impostazioni di Sistema > Privacy e sicurezza > Automazione.
Basato su Secure Pipes 2.0.17 · Aggiornato il 9 novembre 2026