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.

spcli — 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 spcli

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.

Bureau à distance

spcli list remote-desktops --json

Lister les connexions RDP/VNC enregistrées.

spcli list remote-desktops --json

spcli get-remote-desktop "<ID>"

Lire une connexion par son ID, sans identifiants.

spcli get-remote-desktop "DESKTOP-ID"

spcli create-remote-desktop <JSON>

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

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>

Modifier par id ; name et values sont facultatifs.

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

spcli open-remote-desktop "<ID>"

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

spcli open-remote-desktop "DESKTOP-ID"

spcli delete-remote-desktop "<ID>"

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

spcli 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.

À propos de spcli

spcli est un petit outil en ligne de commande fourni avec Secure Pipes. Il pilote Secure Pipes directement depuis Terminal, ce qui vous permet de démarrer, arrêter et consulter les connexions enregistrées dans des scripts shell, des alias ou des tâches planifiées.

spcli utilise les mêmes commandes AppleScript et l’autorisation d’automatisation. Le démarrage du partage réseau peut ouvrir la fenêtre de confirmation.

Installer spcli

spcli est fourni avec Secure Pipes mais n’est pas dans votre PATH tant que vous ne l’avez pas installé. Utilisez la ligne de l’outil en ligne de commande sous Sauvegarde dans Réglages > Général.

  • Cliquez sur « Installer spcli ». Secure Pipes crée un lien vers spcli dans un dossier de votre PATH, comme /usr/local/bin ou /opt/homebrew/bin.

  • Si ce dossier exige des droits, approuvez la demande d’administrateur unique.

  • Ouvrez une nouvelle fenêtre Terminal et exécutez spcli --help pour confirmer sa disponibilité.

Pour le retirer plus tard, cliquez sur « Désinstaller spcli » sur la même ligne.

Vérifier l’installation

spcli --version
spcli --help

Référence des commandes

Tapez spcli, puis une commande. Mettez les noms de connexion et de groupe entre guillemets.

spcli start

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

spcli start

spcli show

Affiche et active la fenêtre de Secure Pipes.

spcli show

spcli hide

Masque les fenêtres de Secure Pipes pendant que les connexions continuent.

spcli hide

spcli shutdown

Quitte Secure Pipes et arrête les connexions actives.

spcli shutdown

spcli list connections

Liste les connexions configurées. Ajoutez --json pour une sortie lisible par machine.

spcli list connections

spcli list groups

Liste les tags utilisés comme groupes de connexions. Ajoutez --json pour une sortie lisible par machine.

spcli list groups

spcli connect "<connection>"

Démarre une connexion enregistrée.

spcli connect "Build Tunnel (Local Forward)"

spcli disconnect "<connection>"

Arrête une connexion enregistrée.

spcli disconnect "Build Tunnel (Local Forward)"

spcli status "<connection>"

Affiche l’état actuel d’une connexion.

spcli status "Build Tunnel (Local Forward)"

spcli connect-group "<group>"

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

spcli connect-group "engineering"

spcli disconnect-group "<group>"

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

spcli disconnect-group "engineering"

spcli list task-plans

Lister les plans sans renvoyer d’identifiants secrets.

spcli list task-plans --json

spcli create-task-plan '<JSON>'

Créer un plan validé depuis JSON. Utiliser les ID de connexion/groupe, sans identifiants secrets.

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

spcli update-task-plan '<JSON>'

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

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

spcli enable-task-plan "<ID>"

Activer, désactiver ou tester immédiatement un plan enregistré.

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

Options

--json

Sortie JSON exploitable par machine pour les commandes compatibles.

--help

Affiche le mode d’emploi complet.

--version

Affiche la version de spcli.

Codes de retour

0 succès, 1 Secure Pipes a signalé une erreur, 2 utilisation invalide, 3 Secure Pipes introuvable ou autorisation d’automatisation refusée, 4 l’Apple Event n’a pas pu être envoyé.

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.

spcli list rules

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

spcli list rules --json

spcli list scenarios

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

spcli list scenarios --json

spcli current-scenario

Affiche le nom du scénario actuellement actif.

spcli current-scenario

spcli switch-scenario "Office"

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

spcli switch-scenario "Office"

spcli enable-rule "Work websites"

Active une règle par ID ou nom unique.

spcli enable-rule "Work websites"

spcli disable-rule "Work websites"

Désactive une règle sans la supprimer.

spcli disable-rule "Work websites"

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

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

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

spcli create-scenario "Travel"

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

spcli create-scenario "Travel"

spcli rename-scenario "Travel" "Mobile work"

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

spcli rename-scenario "Travel" "Mobile work"

spcli delete-scenario "Travel"

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

spcli delete-scenario "Travel"

Exemple complet

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

spcli list proxy-servers

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

spcli list proxy-servers --json

spcli transparent-proxy-status

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

spcli transparent-proxy-status --json

spcli initialize-transparent-proxy

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

spcli initialize-transparent-proxy

spcli start-transparent-proxy

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

spcli start-transparent-proxy

spcli stop-transparent-proxy

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

spcli stop-transparent-proxy

spcli 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.

spcli sharing-status --json

spcli 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.

spcli set-sharing-modes both

spcli start-sharing

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

spcli start-sharing

spcli stop-sharing

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

spcli stop-sharing

Exemple complet

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

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.

spcli group-status "engineering"

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

spcli group-status "engineering" --json

spcli connect-and-wait "Build Tunnel" 30

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

spcli connect-and-wait "Build Tunnel" 30

spcli preview-route

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

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

spcli test-proxy

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

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

spcli list proxy-flows

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

spcli list proxy-flows --json

spcli list sharing-flows

Affiche les connexions du partage réseau.

spcli list sharing-flows --json

spcli end-flow

Ferme un flux connecté à partir de son ID.

spcli end-flow "flow-id"

spcli list logs

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

spcli list logs --json

spcli log-detail

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

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

Exemples dans Terminal

Combinez spcli avec des outils shell classiques pour automatiser vos flux de travail.

Lister les connexions

spcli list connections

Exemple de résultat

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

Démarrer une connexion et l’attendre

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

Une connexion peut aussi se figer sur authentication failed, unknown host key, host key changed, invalid ou error ; vérifiez donc l’état avant de vous y fier.

Démarrer ou arrêter un groupe

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

Lire l’état en JSON

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

Exemple de résultat

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

Autorisation d’automatisation

La première fois que Terminal exécute spcli, macOS vous demande d’autoriser Terminal à contrôler Secure Pipes. Autorisez-le dans Réglages Système > Confidentialité et sécurité > Automatisation.

Aide spcli complète (original anglais de l’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

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