Proxyman è un client proxy nativo per macOS e iOS, progettato per intercettare, visualizzare e modificare il traffico HTTP/HTTPS durante lo sviluppo di applicazioni. Secondo il sito ufficiale di Proxyman (2025), lo strumento è utilizzato da più di 10.000 aziende e supporta tutte le versioni moderne di iOS e macOS. Questo client proxy offre una versione base gratuita e si differenzia da Charles Proxy per un'interfaccia più moderna, il supporto per script JavaScript per la modifica dei dati in tempo reale e la compatibilità integrata con il simulatore iOS.
Punti chiave
Proxyman è un client proxy HTTP/HTTPS creato specificamente per l'ecosistema Apple. A differenza delle soluzioni multipiattaforma, Proxyman utilizza framework nativi macOS (Swift, AppKit), garantendo alte prestazioni e un'integrazione perfetta con i meccanismi di proxy di sistema. Lo strumento supporta macOS 11+ e iOS 14+.
Proxyman si posiziona come un'alternativa moderna a Charles Proxy per gli sviluppatori dell'ecosistema Apple. Vantaggi principali: versione gratuita con funzionalità di base complete, interfaccia nativa che corrisponde al sistema di design macOS e configurazione automatica per il simulatore iOS senza passaggi aggiuntivi. Proxyman è stato sviluppato attivamente dal 2018 e dispone di un sistema di feedback aperto con la comunità degli sviluppatori.
Proxyman funziona su macOS (applicazione nativa, non Electron) e fornisce un'applicazione companion per iOS. I dispositivi fisici (iPhone, iPad) vengono configurati tramite WiFi Proxy in modo simile a Charles. L'app companion iOS (Proxyman iOS companion) consente di visualizzare il traffico direttamente sul dispositivo senza computer — questa funzione è unica di Proxyman.
Proxyman opera secondo il principio MITM standard: l'applicazione viene configurata come proxy di sistema attraverso cui passa tutto il traffico HTTP/HTTPS. Lo strumento utilizza i meccanismi nativi di Network Extension di macOS per intercettare il traffico senza necessità di configurazione manuale del proxy per il simulatore iOS.
Su macOS, Proxyman utilizza Apple Network Framework per l'intercettazione trasparente del traffico. Quando il proxy viene attivato, Proxyman crea un'interfaccia di rete virtuale attraverso cui passa il traffico di tutte le applicazioni. Per il simulatore iOS, la configurazione avviene automaticamente all'avvio — Proxyman rileva i simulatori in esecuzione tramite Xcode e reindirizza il loro traffico senza configurazione manuale del proxy nelle impostazioni.
Per la decifratura HTTPS, Proxyman installa un certificato radice locale nel portachiavi di sistema macOS. Al primo avvio, il programma richiede di installare e fidarsi del certificato. Tutti i certificati per domini specifici vengono generati al volo e firmati con il certificato radice di Proxyman. Per il simulatore iOS, il certificato viene installato automaticamente all'avvio del proxy.
// Esempio di script Proxyman per modificare la risposta
// Scripting: cambiare lo stato della risposta a 500 per testare gli errori
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;
}
Proxyman fornisce un set unico di funzionalità che lo distinguono dagli altri strumenti proxy. Particolare enfasi è posta sulla modifica del traffico basata su script e sulle prestazioni native.
La caratteristica principale di Proxyman è il supporto per script JavaScript per modificare richieste e risposte. Invece di modificare manualmente ogni richiesta tramite Breakpoints (come in Charles), lo sviluppatore può scrivere uno script che si applicherà automaticamente a URL specifici. Gli script hanno accesso completo a intestazioni, corpo della richiesta e della risposta, codici di stato e metadati. Ciò consente di automatizzare operazioni di routine: sostituzione di token, modifica delle intestazioni, simulazione di errori per i test.
Proxyman offre un sistema di filtri flessibile basato su regole. Puoi creare profili che raggruppano automaticamente il traffico per domini, tipi di contenuto o codici di stato. Ad esempio, tutte le richieste all'API della tua applicazione vanno automaticamente in un gruppo, mentre le risorse statiche (CSS, JS, immagini) vanno in un altro. Questo è particolarmente utile durante il debugging quando devi concentrarti solo su endpoint specifici.
| Funzionalità | Proxyman | Charles Proxy | Nota |
|---|---|---|---|
| Scripting | JavaScript | No | Modifica automatica senza Breakpoints |
| Simulatore iOS | Automatico | Configurazione manuale | Proxyman rileva il simulatore tramite Xcode |
| Versione gratuita | Sì | 30 giorni di prova | Proxyman — senza limiti di tempo |
| Piattaforma | macOS, iOS | Windows, macOS, Linux | Charles è multipiattaforma, Proxyman — solo Apple |
| Esportazione HAR | Sì | Sì | Entrambi supportano il formato standard |
Proxyman mostra una timeline delle richieste in stile diagramma di Gantt, dove ogni richiesta è rappresentata da una barra colorata che indica durata, stato e dimensione. La timeline è interattiva: puoi selezionare un intervallo di tempo e vedere solo le richieste di quel periodo. Per ogni richiesta, è disponibile la suddivisione in fasi: DNS, Connect, TLS Handshake, Request, Response.
Una capacità unica di Proxyman è un'applicazione iOS separata che può essere installata su un iPhone o iPad. Consente di visualizzare il traffico di rete direttamente sul dispositivo senza collegarsi a un computer. Il traffico viene visualizzato in tempo reale con capacità di filtraggio e ricerca. L'app è particolarmente utile per i test sul campo quando non è disponibile un computer.
Proxyman offre diversi metodi di configurazione per iOS e Android. Grazie all'integrazione nativa con Xcode, la configurazione per il simulatore iOS è quasi automatica. Per dispositivi fisici e Android, è necessaria una configurazione manuale.
Lo scenario più semplice: avvia Proxyman, apri la scheda iOS Simulator e fai clic su Start. Proxyman rileva automaticamente i simulatori in esecuzione tramite Xcode e configura il proxy. Il certificato HTTPS viene installato automaticamente. Non sono necessarie azioni aggiuntive — il traffico del simulatore appare immediatamente nella finestra di Proxyman. Questo è un vantaggio significativo rispetto a Charles, dove la configurazione del simulatore richiede la configurazione manuale del proxy.
Per iPhone o iPad: collega il dispositivo alla stessa rete WiFi del computer. Nelle impostazioni WiFi del dispositivo, specifica il proxy HTTP: l'indirizzo IP del computer e la porta 9090 (porta predefinita di Proxyman). Quindi apri Safari e vai su http://proxy.man/ssl per installare il certificato. Su iOS 10.3+, assicurati di abilitare la fiducia del certificato in Settings → General → About → Certificate Trust Settings.
I dispositivi Android vengono configurati in modo simile a iOS: WiFi Proxy con l'indirizzo IP del computer e la porta 9090. Per HTTPS, è necessario installare il certificato tramite il browser su http://proxy.man/ssl. Su Android 7+ per le build di debug, avrai bisogno di un file network_security_config.xml che si fida dei certificati utente. Per l'emulatore Android, usa l'indirizzo IP dell'host (di solito 10.0.2.2) invece dell'IP del computer.
<!-- network_security_config.xml per Android con 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>
La scelta tra Proxyman e Charles Proxy dipende dalle esigenze specifiche del tuo team e dalla piattaforma di sviluppo. Esaminiamo le differenze principali per aiutare gli sviluppatori a prendere una decisione informata.
Proxyman è scritto in Swift con AppKit, offrendo prestazioni native macOS e un consumo minimo di memoria. Charles è scritto in Java (Eclipse RCP), che consente la compatibilità multipiattaforma ma può portare a un consumo di memoria leggermente superiore e a un'interfaccia non nativa su macOS. Per gli sviluppatori dell'ecosistema Apple, Proxyman risulta generalmente più reattivo.
Charles offre un set di strumenti più maturo e ampio: Rewrite Rules con editor visivo, Repeat per ripetere richieste, Map Local/Remote, Auto Save delle sessioni. Proxyman risponde con funzionalità più moderne: JavaScript Scripting, configurazione automatica del simulatore e un companion iOS per visualizzare il traffico sul dispositivo. Charles ha un vantaggio in scenari di automazione complessi (Rewrite, Repeat), mentre Proxyman eccelle nella modifica rapida e flessibile tramite script.
Proxyman offre una versione gratuita con funzionalità di base senza limiti di tempo. La versione Pro (abbonamento ~$12/anno o acquisto una tantum ~$59) sblocca funzionalità avanzate: scripting, filtri, esportazione. Charles costa $50 per licenza con una prova di 30 giorni. Per gli sviluppatori indipendenti, Proxyman è più accessibile; per gli ambienti aziendali, la differenza è trascurabile.
Domande frequenti
Proxyman ha una versione gratuita con funzionalità di base per l'intercettazione del traffico HTTP/HTTPS senza limiti di tempo. Gli abbonamenti a pagamento (Pro e Team) aggiungono scripting, filtri avanzati, esportazione HAR e supporto prioritario. Per la maggior parte delle attività di debugging, la versione gratuita è sufficiente.
Proxyman è un'applicazione macOS nativa, ma può intercettare il traffico dai dispositivi Android tramite WiFi Proxy in modo simile a Charles. I dispositivi Android vengono configurati come proxy HTTP con l'indirizzo IP del computer e la porta di Proxyman. Per l'emulatore Android, usa l'IP 10.0.2.2. Il certificato HTTPS viene installato separatamente.
Ci sono due metodi: Local Edit — fai doppio clic su una richiesta, seleziona la scheda Response, modifica manualmente, quindi fai clic su Execute per inviare la risposta modificata all'applicazione. Scripting — scrivi uno script JavaScript che applica automaticamente le modifiche a URL specifici ad ogni richiesta.
Sì, Proxyman supporta l'esportazione in formati: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (per ogni richiesta), Plain Text. L'esportazione è disponibile tramite il menu contestuale su una richiesta o un gruppo di richieste. Il formato HAR è compatibile con Charles Proxy, Chrome DevTools e viewer online.
Proxyman rileva automaticamente i simulatori iOS in esecuzione tramite Xcode e reindirizza il loro traffico senza configurazione manuale. Quando il proxy si avvia, Proxyman inserisce un proxy di sistema tramite Network Extension su macOS, che si applica automaticamente a tutti i simulatori. Il certificato HTTPS viene installato automaticamente.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche