Saltar al contenido principal

Línea de comandos

Usa proxyman-cli para controlar desde Terminal el proxy de depuración HTTP Proxyman para macOS: exporta e importa reglas, activa o desactiva herramientas y el proxy del sistema, exporta registros y gestiona certificados.

Proxyman para macOS incluye proxyman-cli, una herramienta de línea de comandos para controlar Proxyman desde Terminal y tus propios scripts ✅.

Puedes acceder a la herramienta en /Applications/Proxyman.app/Contents/MacOS/proxyman-cli

Para ver todos los comandos de la versión instalada, ejecuta:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli --help

1. Exportar la configuración de Proxyman​

Exporta las reglas de todas las herramientas de depuración, como SSL Proxying List, Breakpoint, Map Local, Scripting, Block List, Allow List, Reverse Proxy y Network Conditions.

$ /Applications/Proxyman.app/Contents/MacOS/proxyman-cli export -h

OVERVIEW: Export all debugging tools rules (Breakpoint, SSL Pinning, Map Local, Map
Remote, Scripting, etc).

USAGE: proxyman-cli export [--mode <mode>] --output <output>

OPTIONS:
-m, --mode <mode> Export Mode (all = "All debugging tools's rules", enabledRules
= "Only enabled rules"). (default: all)
-o, --output <output> A Output file to save the config to.
--version Show the version.
-h, --help Show help information.
información

De forma predeterminada, el comando export exporta todas las reglas. Para excluir reglas concretas, desmarca la columna "Enabled" en cada herramienta de depuración y usa -m enabledRules.

Por ejemplo:​

  • Exporta las reglas de todas las herramientas de depuración:

$ /Applications/Proxyman.app/Contents/MacOS/proxyman-cli export -o ~/Desktop/data.json

  • Exporta solo las reglas activadas:

$ /Applications/Proxyman.app/Contents/MacOS/proxyman-cli export -m enabledRules -o ~/Desktop/data.json

2. Importar la configuración de Proxyman​

Importa las reglas de las herramientas de depuración de Proxyman que hayas exportado con el comando export.

$ /Applications/Proxyman.app/Contents/MacOS/proxyman-cli import -h

OVERVIEW: Import config to Proxyman.

USAGE: proxyman-cli import [--mode <mode>] --input <input>

OPTIONS:
-m, --mode <mode> Import Mode (append = "Append to the existing rules"),
override = "Import and Replace all existing rules". (default:
append)
-i, --input <input> A input file to import.
--version Show the version.
-h, --help Show help information.
información

De forma predeterminada, las reglas importadas nuevas se añaden a las reglas de depuración existentes. Para reemplazar todas las reglas, usa -m override

Por ejemplo:​

  • Importa todas las reglas de depuración añadiéndolas:
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli import -i ~/Desktop/data.json
  • Importa, pero reemplaza todas mis reglas existentes:
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli import -m override -i ~/Desktop/data.json

Consulta la página sobre licencias para ver los comandos que activan y desvinculan una licencia.

4. Activar o desactivar el proxy HTTP del sistema​

A partir de Proxyman 4.8.0, puedes activar o desactivar el System Proxy de macOS desde la línea de comandos. La extensión de Raycast lo usa.

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli proxy on
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli proxy off

Referencia: https://github.com/ProxymanApp/Proxyman/issues/1626#issuecomment-1545862020

5. Borrar la sesión​

  • Puedes borrar la sesión actual desde la línea de comandos. Disponible desde Proxyman 4.12.0.
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli clear-session

6. Activar o desactivar las herramientas de depuración​

  • Activa o desactiva las herramientas Breakpoint, Map Local y Scripting desde la línea de comandos. Disponible desde Proxyman 4.12.0.
# Scripting
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli scripting on
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli scripting off

# Map Local
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli maplocal on
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli maplocal off

# Breakpoint
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli breakpoint on
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli breakpoint off
  • Desde Proxyman para macOS 6.3.0, también puedes activar o desactivar estas herramientas de la misma forma: map-remote, block-list, allow-list, reverse-proxy, network-condition, no-caching y dns-spoofing.
  • Usa open en lugar de on u off para abrir la ventana de la herramienta, por ejemplo proxyman-cli map-remote open. no-caching solo admite on y off.
  • Proxyman debe estar en ejecución para que estos comandos funcionen.
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli map-remote on
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli block-list off
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-condition open

7. Instalar la Helper Tool del proxy desde la línea de comandos​

Desde Proxyman para macOS 4.12.0, puedes instalar la Helper Tool sin la interfaz gráfica.

sudo /Applications/Proxyman.app/Contents/MacOS/proxyman --install-privileged-components

8. Exportar el registro de Proxyman​

Proxyman para macOS v5.11.0+ ahora admite:

  • Exportar todo (formato ProxymanSession)
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli export-log -m all -o "~/desktop/output"
  • Exportar dominios concretos (solo el host, sin esquema, sin puerto, sin rutas y sin parámetros de consulta)
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli export-log -m domains -o "~/desktop/output" --domains 'api.twitter.com' --domains 'www.producthunt.com'

Desde Proxyman para macOS 5.20.0+, puedes exportar en formato Raw o HAR.

  • Exportar todo: formato RAW de solicitud y respuesta
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli export-log -m all -o "~/desktop/output" --format raw
  • Exportar todo: formato HAR
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli export-log -m all -o "~/desktop/output" --format har
  • Exportar dominios concretos: formato RAW de solicitud y respuesta
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli export-log -m domains -o "~/desktop/output" --domains 'api.twitter.com' --domains 'www.producthunt.com' --format raw
  • Exportar dominios concretos: formato HAR
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli export-log -m domains -o "~/desktop/output" --domains 'api.twitter.com' --domains 'www.producthunt.com' --format har

Desde Proxyman para macOS 6.2.0+, puedes añadir --since <flow_id> para exportar solo los flujos desde ese ID de flujo en adelante (el flujo con ese ID se incluye). Funciona con todos los formatos de exportación.

Los formatos admitidos para --format son proxymansession (predeterminado), har y raw.

9. Importar un certificado raíz personalizado​

  • ✅ Importa un certificado raíz personalizado en formato p12 en Proxyman
  • Confía automáticamente en el certificado en el llavero del sistema (requiere sudo)
  • Disponible desde Proxyman para macOS 5.15.0 o posterior

Instalar y confiar​

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli install-root-cert <certificate_path> --password <your_cert_password> --trust

Instalar sin confiar (es posible que tengas que confiar en él manualmente en el llavero)​

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli install-root-cert <certificate_path> --password <your_cert_password>

10. Exportar la IP y el puerto actuales​

  • Disponible desde Proxyman para macOS 6.7.0 o posterior
  • Obtiene la IP y el puerto de escucha actuales en formato JSON
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli proxy-host

La salida tiene un campo ip y un campo port, por ejemplo {"ip":"192.168.1.10","port":9090}. Si Proxyman solo escucha en localhost, la IP es 127.0.0.1.

11. Añadir, eliminar y reemplazar los certificados personalizados (cliente y servidor)​

  • Disponible en Proxyman para macOS 6.10.0 o posterior ✅
  • Admite certificados P12 con contraseña
  • En los certificados de cliente, --port usa 443 de forma predeterminada
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli custom-cert add server ~/Desktop/mycert.p12 --password 123

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli custom-cert add client ~/Desktop/mycert.p12 --password 123 --host myserver.com --port 443

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli custom-cert replace server ~/Desktop/mycert.p12 --password 123 --name mycert.p12

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli custom-cert replace client ~/Desktop/mycert.p12 --password 123 --host myserver.com --port 443

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli custom-cert remove server --name mycert.p12

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli custom-cert remove client --host myserver.com --port 443

12. CLI de External Proxy​

  • Proxyman para macOS 6.12.0 o posterior ✅

Activar​

Activa External Proxy sin cambiar la configuración guardada:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy enable
  • Activa y configura un modo de proxy:
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy enable http --host proxy.example.com --port 8080
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy enable https --host proxy.example.com --port 8443
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy enable socks --host proxy.example.com --port 1080
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy enable pac --url https://example.com/proxy.pac

Desactivar​

Desactiva toda la función External Proxy:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy disable
  • Desactiva solo un modo de proxy:
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy disable http
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy disable https
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy disable socks
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy disable pac

Abrir los ajustes​

Abre la ventana de Settings de External Proxy en Proxyman:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli external-proxy open

13. CRUD para todas las herramientas de depuración​

consejo

Solo disponible en Proxyman para macOS 6.14.0 o posterior

Herramientas admitidas​

block-list, allow-list, ssl-proxying, map-local, map-remote, breakpoint, scripting, network-condition, reverse-proxy, protobuf y dns-spoofing.

Comandos habituales​

Sustituye <tool> por una de las herramientas admitidas y <id> por el ID de una regla obtenido con list o get.

# Read rules
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> list
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> list --enabled true
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> get <id>

# Change one rule
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> update <id> --name "New name"
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> delete <id>

# Turn a whole tool on or off
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> enable
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> disable

# Turn one rule on or off
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> enable <id>
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> disable <id>

enable <id> también activa su herramienta cuando hace falta. Desactivar una herramienta mantiene la configuración de activación de cada regla. Las actualizaciones solo cambian los campos que envías; delete elimina la regla de inmediato.

map-local, map-remote, breakpoint y scripting también tienen un comando folders para gestionar carpetas de reglas, y sus comandos list y create aceptan --folder <name or id>. Ejecuta /Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules map-local folders --help para ver las opciones.

Crear una regla​

Estos son los comandos de creación más sencillos. Las opciones opcionales permiten definir más campos. Ejecuta /Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules <tool> create --help para verlas.

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules block-list create https://ads.example.com/*
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules allow-list create https://api.example.com/*
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules ssl-proxying create '*.example.com' --list include
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules map-local create https://api.example.com/* --path ./response.json
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules map-remote create https://old.example.com/* https://new.example.com/
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules breakpoint create https://api.example.com/* --phase both
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules scripting create https://api.example.com/* --script-file ./rule.js
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules network-condition create --profile 3g
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules reverse-proxy create https://upstream.example.com --local-port 8080
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules protobuf create https://api.example.com/* --request-type package.Request
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules dns-spoofing create example.com 127.0.0.1

Entre las opciones habituales de regla están --name, --enabled true|false, --method, --match wildcard|regex y --include-subpaths true|false, cuando la herramienta las admite. Los nombres son opcionales. Si omites un valor opcional, Proxyman usa el valor predeterminado de esa herramienta.

Entrada JSON​

Para crear y actualizar, usa --input <file> para enviar un objeto JSON. Usa --input - para leer JSON desde la entrada estándar. No combines --input con opciones de campo.

printf '%s' '{"url":"https://api.example.com/*","name":"Local API","enabled":true}' \
| /Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules map-local create --input -

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli rules map-local update <id> --input ./map-local-change.json

Si Proxyman está cerrado, el comando devuelve JSON con ok: false y el código de error app_not_running. Los errores de entrada usan el código de salida 2; los demás errores usan el código de salida 1.

14. Políticas de la empresa​

MCP (Proxyman para macOS 6.15.0+)​

  • Activa o desactiva la función MCP, incluso cuando Proxyman está cerrado
  • Si MCP se desactiva desde la línea de comandos, los usuarios no podrán volver a activarlo en Settings

Desactiva MCP y bloquea el interruptor de Settings:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli mcp off

Activa MCP y desbloquea el interruptor:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli mcp on

15. Versión de HTTP​

Consulta o cambia la política global de HTTP/2. Mantén Proxyman abierto; estos comandos funcionan incluso cuando MCP está desactivado.

# Read the current policy
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli http-version status

# Prefer HTTP/2, with HTTP/1.1 fallback
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli http-version set prefer_http2

# Turn the HTTP/2 preference off
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli http-version set http1_only

HTTP/2 está desactivado de forma predeterminada. Cambiar la política cierra las conexiones HTTP, WebSocket y Server-Sent Events activas y actualiza el cliente Compose. Establecer de nuevo la política actual deja las conexiones abiertas.

La política no indica qué protocolo usó una solicitud. Revisa la solicitud capturada y la conexión upstream. Con la captura de Network Extension, un cliente que solo ofrece h2 mantiene HTTP/2 incluso con http1_only.

Ambos comandos devuelven JSON. Status incluye httpVersionMode y http2Enabled; set también incluye previousMode y changed. Por ejemplo, al cambiar de HTTP/1 a la preferencia de HTTP/2 se devuelve:

{
"success": true,
"data": {
"httpVersionMode": "prefer_http2",
"http2Enabled": true,
"previousMode": "http1_only",
"changed": true
}
}

16. Network Extension​

Gestiona la instalación y la captura de Network Extension desde la línea de comandos. Mantén Proxyman abierto; no es necesario activar MCP.

información

Network Extension requiere la edición directa de Proxyman y macOS 26 o posterior. La instalación y la captura requieren Proxyman PRO. El estado y la desinstalación siguen disponibles sin PRO. Setapp no admite Network Extension.

# Read installation and capture status without changing either
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension status

# Install or update the bundled extension without enabling capture
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension install

# Enable capture, installing the extension if necessary
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension enable

# Stop capture and keep the extension installed
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension disable

# Retry requested installation or capture after resolving an error
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension retry

# Stop capture and remove the extension and its saved network configurations
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension uninstall

install deja la captura desactivada si ya estaba desactivada. enable inicia la captura y desactiva el proxy del sistema basado en la Helper Tool. No se puede activar el proxy del sistema mientras la captura de Network Extension está activa.

disable y uninstall cierran las conexiones existentes a través del proveedor, incluidas las conexiones TCP directas. Después, el proxy del sistema se rige por Auto Override System Proxy Settings at Launch.

macOS puede pedir una aprobación o un reinicio. Completa esos pasos y, después, vuelve a ejecutar network-extension status. Un comando correcto significa que la solicitud se aceptó; no significa que la instalación o la captura hayan terminado. Si una operación está ocupada o agota el tiempo de espera, consulta el estado antes de repetirla.

El descifrado HTTPS sigue requiriendo un certificado de Proxyman de confianza y reglas de SSL Proxying coincidentes. Vuelve a conectar los clientes para capturar las conexiones recién abiertas.

Leer el estado JSON​

CampoSignificado
supportedIndica si esta app y la versión de macOS admiten Network Extension. Los equipos no compatibles devuelven false y rechazan los cambios.
installed, installedBuild, bundledBuildInstalación notificada por macOS y la compilación incluida con la app en ejecución.
systemExtensionEnabledIndica si macOS informa de que la extensión instalada está activada.
proAvailableIndica si Proxyman PRO está disponible para la instalación y la captura.
captureEnabledIndica si se ha solicitado la captura.
captureActiveIndica si el proveedor ha confirmado la sesión de captura.
state, messageEstado actual de la app y una explicación legible.
operationPendingIndica si hay una instalación, eliminación o inicio de captura en curso.
approvalRequired, restartRequiredIndica si hace falta una aprobación o un reinicio.
removalPendingIndica si macOS todavía tiene registros de la extensión pendientes de eliminar, incluso después de reiniciar la app.
systemProxyEnabledIndica si Proxyman informa de que el proxy del sistema de macOS está activado.

Los equipos compatibles devuelven estos campos dentro de data. disable no espera a una consulta de instalación, así que installed es null en su respuesta. Usa status para hacer una comprobación actualizada de la instalación.

Salida JSON y códigos de salida​

Los grupos de comandos http-version y network-extension devuelven una respuesta JSON con success, data cuando esté disponible, y error si falla.

  • 0: La lectura se realizó correctamente o el cambio se aceptó. Comprueba el estado de Network Extension para saber si ha terminado.
  • 1: El comando falló, Proxyman está cerrado o se agotó el tiempo de espera del comando.
  • 64: Argumentos de línea de comandos no válidos. Los errores del analizador y la ayuda usan texto sin formato.

Comprueba la sintaxis admitida por tu app instalada con:

/Applications/Proxyman.app/Contents/MacOS/proxyman-cli http-version --help
/Applications/Proxyman.app/Contents/MacOS/proxyman-cli network-extension --help