SECURE PIPES 2 Guide d'utilisation

Les captures montrent l’interface en anglais ; les diagrammes suivent la langue du guide. Les noms des commandes de l’app peuvent varier selon la langue choisie.

AppleScript — Référence des commandes

Retrouvez les mêmes descriptions de commandes et exemples à copier que dans Automatisation sur Mac. Les références incluent les commandes existantes et les ajouts de la version 2.0.17.

Référence des commandes AppleScript

Ces sections sont synchronisées depuis la référence intégrée à l’app Mac, avec chaque explication et les scripts complets. Remplacez les noms et ID avant exécution. Les exemples peuvent modifier des connexions et réglages réels : ne lancez pas toute la page comme un script.

Référence des commandes

Utilisez la forme de commande indiquée. Placez le nom de connexion ou le tag de groupe entre guillemets.

start

Démarre Secure Pipes sans afficher sa fenêtre.

tell application "Secure Pipes" to start

show

Affiche la fenêtre de Secure Pipes.

tell application "Secure Pipes" to show

hide

Masque la fenêtre sans interrompre Secure Pipes ni ses connexions.

tell application "Secure Pipes" to hide

shutdown

Quitte Secure Pipes et arrête les connexions actives.

tell application "Secure Pipes" to shutdown

list connections

Liste les connexions enregistrées.

tell application "Secure Pipes" to list connections

list connection groups

Liste les tags utilisés comme groupes de connexions.

tell application "Secure Pipes" to list connection groups

connect connection "Build Tunnel (Local Forward)"

Démarre une connexion enregistrée.

tell application "Secure Pipes" to connect connection "Build Tunnel (Local Forward)"

disconnect connection "Build Tunnel (Local Forward)"

Arrête une connexion enregistrée.

tell application "Secure Pipes" to disconnect connection "Build Tunnel (Local Forward)"

connection status "Build Tunnel (Local Forward)"

Renvoie l’état actuel de la connexion.

tell application "Secure Pipes" to connection status "Build Tunnel (Local Forward)"

connect group "engineering"

Démarre un groupe selon ses réglages enregistrés.

tell application "Secure Pipes" to connect group "engineering"

disconnect group "engineering"

Arrête un groupe et les connexions de ses membres.

tell application "Secure Pipes" to disconnect group "engineering"

Utilisez un UUID de connexion pour que vos scripts fonctionnent même après un renommage. Les noms uniques et les noms complets avec leur type sont aussi acceptés. En cas de doublon, utilisez un UUID.

Bureau à distance

list remote desktops

Lister les connexions RDP/VNC enregistrées.

tell application "Secure Pipes" to list remote desktops

get remote desktop "<ID>"

Lire une connexion par son ID, sans identifiants.

tell application "Secure Pipes" to get remote desktop "DESKTOP-ID"

create remote desktop <JSON>

Créer avec name et values. Utiliser hostProfileUUID pour un hôte prédéfini.

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>

Modifier par id ; name et values sont facultatifs.

tell application "Secure Pipes" to update remote desktop "{\"id\":\"DESKTOP-ID\",\"values\":{\"remoteDesktopOptions\":{\"screen mode id\":1,\"audiomode\":2}}}"

open remote desktop "<ID>"

Démarrer le tunnel SSH si nécessaire, puis ouvrir le client RDP/VNC enregistré.

tell application "Secure Pipes" to open remote desktop "DESKTOP-ID"

delete remote desktop "<ID>"

Supprimer une connexion déconnectée par son ID.

tell application "Secure Pipes" to delete remote desktop "DESKTOP-ID"

Les noms d’utilisateur peuvent être écrits, mais ne sont jamais renvoyés. Définissez les mots de passe SSH et les fichiers d’identité dans Secure Pipes ; saisissez les mots de passe du bureau dans le client.

Tâches planifiées

Créer et contrôler des actions planifiées. Les lectures ne renvoient jamais mots de passe ou contenu de clés privées.

list task plans

Lister les plans en JSON expurgé.

tell application "Secure Pipes" to list task plans

get task plan "work-start"

Lire un plan par ID sous forme de JSON expurgé.

tell application "Secure Pipes" to get task plan "work-start"

create task plan <JSON>

Créer un plan validé avec des ID de connexion/groupe dans les actions, sans identifiants secrets.

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>

Mettre à jour avec l’ID existant et les champs à modifier.

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"

Activer/désactiver sans changer le calendrier. Paramètre true par défaut.

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"

Exécuter immédiatement un plan et renvoyer son résultat JSON.

tell application "Secure Pipes" to run task plan "work-start"

delete task plan "work-start"

Supprimer un plan enregistré par ID.

tell application "Secure Pipes" to delete task plan "work-start"

JSON accepte repeat 0–6, jours personnalisés, plages ISO 8601 ou YYYY-MM-DD et actions validées. Obtenir d’abord les ID avec list connections et list connection groups.

Règles et scénarios d’utilisation

Utilisez un ID ou un nom unique pour modifier une règle ou changer de scénario. Le changement ferme puis rétablit les connexions actives. Supprimer un scénario conserve ses règles ; celles qui n’appartiennent à aucun autre scénario deviennent communes.

list proxy rules

Liste les règles dans l'ordre avec leur ID, nom, état d'activation, action et ID de scénarios.

tell application "Secure Pipes" to list proxy rules

list scenarios

Liste les scénarios, dont Universal, avec leur ID, nom et état actif.

tell application "Secure Pipes" to list scenarios

current scenario

Affiche le nom du scénario actuellement actif.

tell application "Secure Pipes" to current scenario

switch scenario "Office"

Change de scénario par ID ou nom unique et reconnecte les connexions concernées selon les règles choisies.

tell application "Secure Pipes" to switch scenario "Office"

enable proxy rule "Work websites"

Active une règle par ID ou nom unique.

tell application "Secure Pipes" to enable proxy rule "Work websites"

disable proxy rule "Work websites"

Désactive une règle sans la supprimer.

tell application "Secure Pipes" to disable proxy rule "Work websites"

set rule scenarios "Work websites" scenarios {"Office", "Travel"}

Remplace les scénarios associés à une règle. Universal rend la règle universelle.

tell application "Secure Pipes" to set rule scenarios "Work websites" scenarios {"Office", "Travel"}

create scenario "Travel"

Crée un scénario portant un nom unique et renvoie son ID.

tell application "Secure Pipes" to create scenario "Travel"

rename scenario "Travel" to "Mobile work"

Renomme un scénario en conservant ses associations aux règles.

tell application "Secure Pipes" to rename scenario "Travel" to "Mobile work"

delete scenario "Travel"

Supprime un scénario sans supprimer ses règles. Les règles sans autre scénario deviennent universelles.

tell application "Secure Pipes" to delete scenario "Travel"

Exemple complet

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 et partage réseau

Le partage utilise l’adresse, le port et les paramètres d’authentification enregistrés. La fenêtre de confirmation s’ouvre au besoin. Le mode passerelle conserve la confirmation des risques et l’autorisation macOS.

list proxy servers

Liste les serveurs proxy configurés avec leur ID, nom, type et adresse, sans identifiants.

tell application "Secure Pipes" to list proxy servers

transparent proxy status

Affiche l'état du proxy transparent, celui de l'extension système et la correspondance des versions.

tell application "Secure Pipes" to transparent proxy status

initialize transparent proxy

Installe ou répare l'extension système. macOS peut demander une autorisation ; cela ne démarre pas le proxy transparent.

tell application "Secure Pipes" to initialize transparent proxy

start transparent proxy

Démarre le proxy transparent avec les règles de routage actuelles une fois l'extension prête.

tell application "Secure Pipes" to start transparent proxy

stop transparent proxy

Arrête le proxy transparent. Le partage réseau dépend de ce service.

tell application "Secure Pipes" to stop transparent proxy

network sharing status

Affiche l'état du partage et de la passerelle. Les modes sont effectifs pendant l'exécution et enregistrés après l'arrêt.

tell application "Secure Pipes" to network sharing status

set sharing modes "both"

Choisit proxy, passerelle, les deux ou désactivé pour le prochain démarrage manuel. Arrêtez le partage avant de changer de mode.

tell application "Secure Pipes" to set sharing modes "both"

start network sharing

Démarre les modes choisis avec l'adresse, le port et l'authentification enregistrés. Une confirmation peut être nécessaire.

tell application "Secure Pipes" to start network sharing

stop network sharing

Arrête la passerelle et l'écouteur proxy partagé. Le proxy transparent reste actif.

tell application "Secure Pipes" to stop network sharing

Exemple complet

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

Connexions, activité et journaux

Utilisez les ID des listes pour retrouver précisément les éléments. Les détails sont renvoyés au format JSON.

group status "engineering"

Affiche le résultat du groupe et l’état de chaque membre.

tell application "Secure Pipes" to group status "engineering"

wait for connection "Build Tunnel" timeout 30

Attend que la connexion soit prête ; un échec ou une expiration renvoie une erreur.

tell application "Secure Pipes" to wait for connection "Build Tunnel" timeout 30

preview route "example.com" port 443

Prévoit la règle locale du scénario actuel sans tester la connectivité.

tell application "Secure Pipes" to preview route "example.com" port 443 application "com.apple.Safari" transport "TCP"

test proxy server "proxy-id"

Teste un proxy enregistré et renvoie le résultat, la raison et la durée.

tell application "Secure Pipes" to test proxy server "proxy-id"

list active flows "PROXY"

Affiche l’activité du proxy ; LAN affiche le partage et ALL les deux.

tell application "Secure Pipes" to list active flows "PROXY"

list active flows "LAN"

Affiche les connexions du partage réseau.

tell application "Secure Pipes" to list active flows "LAN"

end active flow "flow-id"

Ferme un flux connecté à partir de son ID.

tell application "Secure Pipes" to end active flow "flow-id"

list recent logs

Affiche jusqu’à 200 entrées récentes expurgées, les plus récentes en premier.

tell application "Secure Pipes" to list recent logs

log detail "log-id"

Affiche l’enregistrement complet d’un journal récent à partir de son ID.

tell application "Secure Pipes" to log detail "log-id"

Exemples dans le terminal

Exécutez une commande AppleScript dans Terminal avec osascript. macOS peut vous demander d’autoriser Terminal à contrôler Secure Pipes.

Lister les groupes de connexions

osascript -e 'tell application "Secure Pipes" to list connection groups'

Exemple de résultat

engineering, on-call

Les tags déterminent les membres du groupe. Le démarrage suit l’ordre, le mode parallèle ou séquentiel et la gestion des erreurs enregistrés.

Démarrer ou arrêter un groupe

osascript -e 'tell application "Secure Pipes" to connect group "engineering"'
osascript -e 'tell application "Secure Pipes" to disconnect group "engineering"'

Consulter et contrôler une connexion

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)"'

Exécuter depuis Terminal

Enregistrez le fichier, puis transmettez son chemin à osascript :

osascript ~/Scripts/Connect\ Tunnel.applescript

Exécuter depuis un fichier script

Enregistrez un exemple au format .applescript, puis exécutez-le dans Éditeur de script ou avec osascript.

Se connecter par nom

Remplacez le nom d’exemple par un nom renvoyé par 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

Choisir et démarrer un groupe

Liste les tags disponibles, permet d’en choisir un et démarre toutes les connexions du groupe.

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

Autorisation Automatisation

Si macOS le demande, autorisez l’app qui exécute le script, par exemple Terminal ou Éditeur de script, à contrôler Secure Pipes dans Réglages Système > Confidentialité et sécurité > Automatisation.

Basé sur Secure Pipes 2.0.17 · Mis à jour le 9 novembre 2026