SECURE PIPES 2 Guía de usuario

Las capturas muestran la interfaz en inglés; los diagramas siguen el idioma de la guía. Los nombres de los controles pueden variar según el idioma de la app.

spcli — Referencia de comandos

Consulta las mismas descripciones de comandos y ejemplos que puedes copiar desde Automatización en la app para Mac. Las referencias incluyen los comandos existentes y las novedades de 2.0.17.

Referencia de comandos de spcli

Se sincronizan todas las explicaciones y los scripts completos desde la referencia integrada en la app. Sustituye los nombres e ID de ejemplo antes de ejecutar. Los ejemplos pueden modificar conexiones y ajustes reales; no ejecutes toda la página como un script.

Escritorio remoto

spcli list remote-desktops --json

Listar las conexiones RDP/VNC guardadas.

spcli list remote-desktops --json

spcli get-remote-desktop "<ID>"

Leer una conexión por ID, sin credenciales.

spcli get-remote-desktop "DESKTOP-ID"

spcli create-remote-desktop <JSON>

Crear con name y values. Usa hostProfileUUID para un host predefinido.

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>

Actualizar por id; name y values son opcionales.

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

spcli open-remote-desktop "<ID>"

Iniciar el túnel SSH si es necesario y abrir el cliente RDP/VNC guardado.

spcli open-remote-desktop "DESKTOP-ID"

spcli delete-remote-desktop "<ID>"

Eliminar por ID una conexión desconectada.

spcli delete-remote-desktop "DESKTOP-ID"

Se pueden escribir nombres de usuario, pero nunca se devuelven. Configura las contraseñas SSH y los archivos de identidad en Secure Pipes; introduce la contraseña del escritorio en el cliente.

Acerca de spcli

spcli es una pequeña herramienta de línea de comandos incluida con Secure Pipes. Controla Secure Pipes directamente desde Terminal, para que puedas iniciar, detener y consultar conexiones guardadas desde scripts de shell, alias o tareas programadas.

spcli usa los mismos comandos AppleScript y el permiso de automatización. Al iniciar el uso compartido de red puede abrirse la ventana de confirmación.

Instalar spcli

spcli se incluye con Secure Pipes, pero no está en tu PATH hasta que lo instales. Usa la fila de la herramienta de línea de comandos bajo Copia de seguridad en Ajustes > General.

  • Haz clic en «Instalar spcli». Secure Pipes enlaza spcli en una carpeta de tu PATH, como /usr/local/bin u /opt/homebrew/bin.

  • Si la carpeta requiere permisos, aprueba el aviso de administrador único.

  • Abre una nueva ventana de Terminal y ejecuta spcli --help para confirmar que está disponible.

Para quitarlo más tarde, haz clic en «Desinstalar spcli» en la misma fila.

Comprobar la instalación

spcli --version
spcli --help

Referencia de comandos

Escribe spcli y luego un comando. Entre comillas van los nombres de conexión y de grupo.

spcli start

Inicia Secure Pipes sin mostrar la ventana.

spcli start

spcli show

Muestra y activa la ventana de Secure Pipes.

spcli show

spcli hide

Oculta las ventanas de Secure Pipes mientras las conexiones siguen activas.

spcli hide

spcli shutdown

Cierra Secure Pipes y detiene las conexiones activas.

spcli shutdown

spcli list connections

Lista las conexiones configuradas. Añade --json para una salida legible por máquina.

spcli list connections

spcli list groups

Lista las etiquetas usadas como grupos de conexiones. Añade --json para una salida legible por máquina.

spcli list groups

spcli connect "<connection>"

Inicia una conexión guardada.

spcli connect "Build Tunnel (Local Forward)"

spcli disconnect "<connection>"

Detiene una conexión guardada.

spcli disconnect "Build Tunnel (Local Forward)"

spcli status "<connection>"

Muestra el estado actual de una conexión.

spcli status "Build Tunnel (Local Forward)"

spcli connect-group "<group>"

Inicia un grupo con sus ajustes guardados.

spcli connect-group "engineering"

spcli disconnect-group "<group>"

Detiene el grupo y las conexiones de sus miembros.

spcli disconnect-group "engineering"

spcli list task-plans

Listar planes sin devolver credenciales.

spcli list task-plans --json

spcli create-task-plan '<JSON>'

Crear un plan validado desde JSON. Usa ID de conexión/grupo, sin credenciales.

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

spcli update-task-plan '<JSON>'

Actualizar con el ID existente y campos que guardar.

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

spcli enable-task-plan "<ID>"

Activar, desactivar o probar inmediatamente un plan guardado.

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

Opciones

--json

Salida JSON legible por máquina para los comandos compatibles.

--help

Muestra el texto de uso completo.

--version

Muestra la versión de spcli.

Códigos de salida

0 éxito, 1 Secure Pipes informó un error, 2 uso no válido, 3 Secure Pipes no encontrado o permiso de automatización denegado, 4 no se pudo enviar el Apple Event.

Reglas y escenarios de uso

Use un ID o un nombre único para modificar reglas o cambiar de escenario. Al cambiar, las conexiones activas se cierran y se vuelven a establecer. Al eliminar un escenario se conservan sus reglas; las que no pertenezcan a otro escenario pasan a ser comunes.

spcli list rules

Enumera las reglas en orden con ID, nombre, estado, acción e ID de escenarios.

spcli list rules --json

spcli list scenarios

Enumera los escenarios, incluido Universal, con ID, nombre y estado activo.

spcli list scenarios --json

spcli current-scenario

Muestra el nombre del escenario actualmente activo.

spcli current-scenario

spcli switch-scenario "Office"

Cambia de escenario por ID o nombre único y reconecta las conexiones afectadas con las reglas elegidas.

spcli switch-scenario "Office"

spcli enable-rule "Work websites"

Activa una regla por ID o nombre único.

spcli enable-rule "Work websites"

spcli disable-rule "Work websites"

Desactiva una regla sin eliminarla.

spcli disable-rule "Work websites"

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

Sustituye los escenarios asignados a una regla. Universal la convierte en regla universal.

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

spcli create-scenario "Travel"

Crea un escenario con nombre único y devuelve su ID.

spcli create-scenario "Travel"

spcli rename-scenario "Travel" "Mobile work"

Cambia el nombre de un escenario conservando sus asignaciones de reglas.

spcli rename-scenario "Travel" "Mobile work"

spcli delete-scenario "Travel"

Elimina un escenario sin borrar sus reglas. Las reglas sin otro escenario pasan a ser universales.

spcli delete-scenario "Travel"

Ejemplo completo

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 y uso compartido de red

El uso compartido utiliza la dirección, el puerto y la autenticación guardados. Al iniciarlo se abre la ventana de confirmación cuando hace falta. El modo de puerta de enlace sigue requiriendo la confirmación de riesgos y la autorización de macOS.

spcli list proxy-servers

Enumera los servidores proxy configurados con ID, nombre, tipo y dirección, sin credenciales.

spcli list proxy-servers --json

spcli transparent-proxy-status

Muestra el estado del proxy transparente, el de la extensión del sistema y si coinciden las versiones.

spcli transparent-proxy-status --json

spcli initialize-transparent-proxy

Instala o repara la extensión del sistema. macOS puede solicitar autorización; no inicia el proxy transparente.

spcli initialize-transparent-proxy

spcli start-transparent-proxy

Inicia el proxy transparente con las reglas de enrutamiento actuales cuando la extensión esté lista.

spcli start-transparent-proxy

spcli stop-transparent-proxy

Detiene el proxy transparente. El uso compartido de red depende de este servicio.

spcli stop-transparent-proxy

spcli sharing-status

Muestra los estados del uso compartido y la puerta de enlace. Durante la ejecución, los modos son los activos; al detenerse, los guardados.

spcli sharing-status --json

spcli set-sharing-modes both

Selecciona proxy, puerta de enlace, ambos o desactivado para el próximo inicio manual. Detenga el uso compartido antes de cambiar de modo.

spcli set-sharing-modes both

spcli start-sharing

Inicia los modos seleccionados con la dirección, el puerto y la autenticación guardados. Puede requerir confirmación.

spcli start-sharing

spcli stop-sharing

Detiene la puerta de enlace y el listener del proxy compartido. El proxy transparente sigue funcionando.

spcli stop-sharing

Ejemplo completo

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

Conexiones, actividad y registros

Usa los ID de las listas para consultar elementos con precisión. Los detalles se devuelven como texto JSON.

spcli group-status "engineering"

Muestra el resultado del grupo y el estado de cada miembro.

spcli group-status "engineering" --json

spcli connect-and-wait "Build Tunnel" 30

Espera a que la conexión esté lista; un fallo o tiempo agotado devuelve un error.

spcli connect-and-wait "Build Tunnel" 30

spcli preview-route

Predice la regla local del escenario actual; no prueba la conectividad.

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

spcli test-proxy

Prueba un proxy guardado y devuelve el resultado, el motivo y la duración.

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

spcli list proxy-flows

Muestra la actividad del proxy; LAN muestra el uso compartido y ALL ambos.

spcli list proxy-flows --json

spcli list sharing-flows

Muestra las conexiones de red compartida.

spcli list sharing-flows --json

spcli end-flow

Cierra un flujo conectado mediante su ID.

spcli end-flow "flow-id"

spcli list logs

Muestra hasta 200 registros recientes depurados, primero los más nuevos.

spcli list logs --json

spcli log-detail

Muestra el registro reciente completo mediante su ID.

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

Ejemplos en Terminal

Combina spcli con herramientas de shell habituales para automatizar tus flujos de trabajo.

Listar conexiones

spcli list connections

Resultado de ejemplo

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

Iniciar una conexión y esperar

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

Una conexión también puede quedarse en authentication failed, unknown host key, host key changed, invalid o error; comprueba el estado antes de confiar en ella.

Iniciar o detener un grupo

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

Leer el estado como JSON

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

Resultado de ejemplo

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

Permiso de automatización

La primera vez que Terminal ejecuta spcli, macOS te pide permitir que Terminal controle Secure Pipes. Concédelo en Ajustes del Sistema > Privacidad y seguridad > Automatización.

Ayuda completa de spcli (original inglés de la 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

Basado en Secure Pipes 2.0.17 · Actualizado el 9 de noviembre de 2026