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.
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.
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
3. Activar o desvincular la licencia
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-cachingydns-spoofing. - Usa
openen lugar deonuoffpara abrir la ventana de la herramienta, por ejemploproxyman-cli map-remote open.no-cachingsolo admiteonyoff. - 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,
--portusa443de 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
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.
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
| Campo | Significado |
|---|---|
supported | Indica si esta app y la versión de macOS admiten Network Extension. Los equipos no compatibles devuelven false y rechazan los cambios. |
installed, installedBuild, bundledBuild | Instalación notificada por macOS y la compilación incluida con la app en ejecución. |
systemExtensionEnabled | Indica si macOS informa de que la extensión instalada está activada. |
proAvailable | Indica si Proxyman PRO está disponible para la instalación y la captura. |
captureEnabled | Indica si se ha solicitado la captura. |
captureActive | Indica si el proveedor ha confirmado la sesión de captura. |
state, message | Estado actual de la app y una explicación legible. |
operationPending | Indica si hay una instalación, eliminación o inicio de captura en curso. |
approvalRequired, restartRequired | Indica si hace falta una aprobación o un reinicio. |
removalPending | Indica si macOS todavía tiene registros de la extensión pendientes de eliminar, incluso después de reiniciar la app. |
systemProxyEnabled | Indica 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