Proxyman é um cliente proxy nativo para macOS e iOS, projetado para interceptar, visualizar e modificar tráfego HTTP/HTTPS durante o desenvolvimento de aplicações. De acordo com o site oficial do Proxyman (2025), a ferramenta é usada por mais de 10.000 empresas e suporta todas as versões modernas do iOS e macOS. Este cliente proxy oferece uma versão básica gratuita e se diferencia do Charles Proxy por ter uma interface mais moderna, suporte a scripts JavaScript para modificação de dados em tempo real e compatibilidade integrada com o simulador iOS.
Principais pontos
Proxyman é um cliente proxy HTTP/HTTPS criado especificamente para o ecossistema Apple. Ao contrário de soluções multiplataforma, o Proxyman utiliza frameworks nativos do macOS (Swift, AppKit), o que garante alto desempenho e integração perfeita com os mecanismos de proxy do sistema. A ferramenta suporta macOS 11+ e iOS 14+.
O Proxyman se posiciona como uma alternativa moderna ao Charles Proxy para desenvolvedores do ecossistema Apple. Principais vantagens: versão gratuita com funcionalidade básica completa, interface nativa que corresponde ao sistema de design do macOS e configuração automática para o simulador iOS sem etapas adicionais. O Proxyman é desenvolvido ativamente desde 2018 e possui um sistema aberto de feedback com a comunidade de desenvolvedores.
O Proxyman funciona no macOS (aplicativo nativo, não Electron) e fornece um aplicativo complementar para iOS. Dispositivos físicos (iPhone, iPad) são configurados via WiFi Proxy de forma similar ao Charles. O aplicativo complementar para iOS (Proxyman iOS companion) permite visualizar o tráfego diretamente no dispositivo sem um computador — este recurso é exclusivo do Proxyman.
O Proxyman opera segundo o princípio MITM padrão: o aplicativo é configurado como um proxy do sistema através do qual passa todo o tráfego HTTP/HTTPS. A ferramenta utiliza mecanismos nativos de Network Extension do macOS para interceptar tráfego sem necessidade de configuração manual de proxy para o simulador iOS.
No macOS, o Proxyman utiliza o Apple Network Framework para interceptação transparente de tráfego. Quando o proxy é ativado, o Proxyman cria uma interface de rede virtual através da qual passa o tráfego de todos os aplicativos. Para o simulador iOS, a configuração acontece automaticamente na inicialização — o Proxyman detecta simuladores em execução através do Xcode e redireciona seu tráfego sem configuração manual de proxy nas configurações.
Para descriptografia HTTPS, o Proxyman instala um certificado raiz local no chaveiro do sistema macOS. Na primeira inicialização, o programa solicita instalar e confiar no certificado. Todos os certificados para domínios específicos são gerados dinamicamente e assinados com o certificado raiz do Proxyman. Para o simulador iOS, o certificado é instalado automaticamente quando o proxy inicia.
// Exemplo de script Proxyman para modificar resposta
// Scripting: alterar status da resposta para 500 para testar erros
function onResponse(request, response) {
if (request.url.includes("/api/users")) {
response.statusCode = 500;
response.body = JSON.stringify({
error: "Internal Server Error",
code: "SERVER_TIMEOUT"
});
}
return response;
}
O Proxyman fornece um conjunto único de recursos que o distinguem de outras ferramentas proxy. Ênfase especial é dada à modificação de tráfego baseada em scripts e ao desempenho nativo.
A principal característica do Proxyman é o suporte a scripts JavaScript para modificar requisições e respostas. Em vez de editar manualmente cada requisição através de Breakpoints (como no Charles), o desenvolvedor pode escrever um script que será aplicado automaticamente a URLs específicas. Os scripts têm acesso completo a cabeçalhos, corpo da requisição e resposta, códigos de status e metadados. Isso permite automatizar operações rotineiras: substituição de tokens, modificação de cabeçalhos, simulação de erros para teste.
O Proxyman oferece um sistema de filtros flexível baseado em regras. Você pode criar perfis que agrupam automaticamente o tráfego por domínios, tipos de conteúdo ou códigos de status. Por exemplo, todas as requisições à API do seu aplicativo vão automaticamente para um grupo, enquanto ativos estáticos (CSS, JS, imagens) vão para outro. Isso é especialmente útil ao depurar quando você precisa focar apenas em endpoints específicos.
| Funcionalidade | Proxyman | Charles Proxy | Nota |
|---|---|---|---|
| Scripting | JavaScript | Não | Modificação automática sem Breakpoints |
| Simulador iOS | Automático | Configuração manual | Proxyman detecta o simulador via Xcode |
| Versão gratuita | Sim | 30 dias de teste | Proxyman — sem limite de tempo |
| Plataforma | macOS, iOS | Windows, macOS, Linux | Charles é multiplataforma, Proxyman — apenas Apple |
| Exportação HAR | Sim | Sim | Ambos suportam o formato padrão |
O Proxyman exibe uma linha do tempo de requisições no estilo de um gráfico de Gantt, onde cada requisição é representada por uma barra colorida indicando duração, status e tamanho. A linha do tempo é interativa: você pode selecionar um intervalo de tempo e ver apenas as requisições daquele período. Para cada requisição, está disponível a divisão por fases: DNS, Connect, TLS Handshake, Request, Response.
Uma capacidade única do Proxyman é um aplicativo iOS separado que pode ser instalado em um iPhone ou iPad. Ele permite visualizar o tráfego de rede diretamente no dispositivo sem conectar a um computador. O tráfego é exibido em tempo real com capacidades de filtragem e busca. O aplicativo é especialmente útil para testes de campo quando nenhum computador está disponível.
O Proxyman oferece diferentes métodos de configuração para iOS e Android. Graças à integração nativa com Xcode, a configuração para o simulador iOS é quase automática. Para dispositivos físicos e Android, é necessária configuração manual.
O cenário mais simples: inicie o Proxyman, abra a aba iOS Simulator e clique em Start. O Proxyman detecta automaticamente os simuladores em execução através do Xcode e configura o proxy. O certificado HTTPS também é instalado automaticamente. Nenhuma ação adicional é necessária — o tráfego do simulador aparece imediatamente na janela do Proxyman. Esta é uma vantagem significativa sobre o Charles, onde a configuração do simulador requer configuração manual do proxy.
Para iPhone ou iPad: conecte o dispositivo à mesma rede WiFi do computador. Nas configurações WiFi do dispositivo, especifique o Proxy HTTP: o endereço IP do computador e a porta 9090 (porta padrão do Proxyman). Em seguida, abra o Safari e acesse http://proxy.man/ssl para instalar o certificado. No iOS 10.3+, certifique-se de ativar a confiança do certificado em Settings → General → About → Certificate Trust Settings.
Dispositivos Android são configurados de forma similar ao iOS: WiFi Proxy com o endereço IP do computador e porta 9090. Para HTTPS, você precisa instalar o certificado através do navegador em http://proxy.man/ssl. No Android 7+ para compilações de depuração, você precisará de um arquivo network_security_config.xml que confie em certificados de usuário. Para o emulador Android, use o endereço IP do host (geralmente 10.0.2.2) em vez do IP do computador.
<!-- network_security_config.xml para Android com Proxyman -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</debug-overrides>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
A escolha entre Proxyman e Charles Proxy depende das necessidades específicas da sua equipe e da plataforma de desenvolvimento. Vamos examinar as principais diferenças para ajudar os desenvolvedores a tomar uma decisão informada.
O Proxyman é escrito em Swift com AppKit, proporcionando desempenho nativo do macOS e consumo mínimo de memória. O Charles é escrito em Java (Eclipse RCP), o que permite compatibilidade multiplataforma, mas pode levar a um consumo de memória ligeiramente maior e uma interface não nativa no macOS. Para desenvolvedores do ecossistema Apple, o Proxyman geralmente parece mais responsivo.
O Charles oferece um conjunto de ferramentas mais maduro e amplo: Rewrite Rules com editor visual, Repeat para repetir requisições, Map Local/Remote, Auto Save de sessões. O Proxyman responde com recursos mais modernos: Scripting em JavaScript, configuração automática do simulador e um companheiro iOS para visualizar tráfego no dispositivo. O Charles tem vantagem em cenários complexos de automação (Rewrite, Repeat), enquanto o Proxyman se destaca na modificação rápida e flexível através de scripts.
O Proxyman oferece uma versão gratuita com funcionalidade básica sem limite de tempo. A versão Pro (assinatura ~$12/ano ou compra única ~$59) desbloqueia recursos avançados: scripting, filtros, exportação. O Charles custa US$50 por licença com um trial de 30 dias. Para desenvolvedores independentes, o Proxyman é mais acessível; para ambientes corporativos, a diferença é insignificante.
Perguntas frequentes
O Proxyman tem uma versão gratuita com funcionalidade básica de interceptação de tráfego HTTP/HTTPS sem limite de tempo. Assinaturas pagas (Pro e Team) adicionam scripting, filtros avançados, exportação HAR e suporte prioritário. Para a maioria das tarefas de depuração, a versão gratuita é suficiente.
O Proxyman é um aplicativo nativo do macOS, mas pode interceptar tráfego de dispositivos Android via WiFi Proxy de forma similar ao Charles. Dispositivos Android são configurados como proxy HTTP com o endereço IP do computador e a porta do Proxyman. Para o emulador Android, use o IP 10.0.2.2. O certificado HTTPS é instalado separadamente.
Existem dois métodos: Local Edit — clique duas vezes em uma requisição, selecione a aba Response, edite manualmente e clique em Execute para enviar a resposta modificada ao aplicativo. Scripting — escreva um script JavaScript que aplique automaticamente alterações a URLs específicas em cada requisição.
Sim, o Proxyman suporta exportação para formatos: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (para cada requisição), Plain Text. A exportação está disponível através do menu de contexto em uma requisição ou grupo de requisições. O formato HAR é compatível com Charles Proxy, Chrome DevTools e visualizadores online.
O Proxyman detecta automaticamente Simuladores iOS em execução através do Xcode e redireciona seu tráfego sem configuração manual. Quando o proxy inicia, o Proxyman injeta um proxy de sistema através do Network Extension no macOS, que se aplica automaticamente a todos os simuladores. O certificado HTTPS também é instalado automaticamente.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também