Proxyman este un client proxy nativ pentru macOS și iOS, destinat interceptării, vizualizării și modificării traficului HTTP/HTTPS în timpul dezvoltării aplicațiilor. Conform site-ului oficial Proxyman (2025), instrumentul este utilizat în peste 10 000 de companii și suportă toate versiunile moderne de iOS și macOS. Clientul proxy oferă o versiune de bază gratuită și se deosebește de Charles Proxy printr-o interfață mai modernă, suport pentru scripturi JavaScript pentru modificarea datelor în zbor și compatibilitate încorporată cu simulatorul iOS.
Principalele puncte
Proxyman este un client proxy HTTP/HTTPS creat special pentru ecosistemul Apple. Spre deosebire de soluțiile cross-platform, Proxyman utilizează framework-uri native macOS (Swift, AppKit), ceea ce asigură performanță ridicată și integrare perfectă cu mecanismele de proxy ale sistemului. Instrumentul suportă macOS 11+ și iOS 14+.
Proxyman se poziționează ca o alternativă modernă la Charles Proxy pentru dezvoltatorii din ecosistemul Apple. Principalele avantaje: versiune gratuită cu funcționalitate de bază completă, interfață nativă conformă cu sistemul de design macOS, configurare automată pentru simulatorul iOS fără acțiuni suplimentare. Proxyman se dezvoltă activ din 2018 și are un sistem deschis de feedback cu comunitatea de dezvoltatori.
Proxyman funcționează pe macOS (aplicație nativă, nu Electron) și oferă o aplicație auxiliară pentru iOS. Dispozitivele fizice (iPhone, iPad) se configurează prin WiFi Proxy similar cu Charles. Aplicația pentru iOS (Proxyman iOS companion) permite vizualizarea traficului direct pe dispozitiv fără computer — această funcție este unică pentru Proxyman.
Proxyman funcționează conform principiului MITM standard: aplicația este configurată ca proxy de sistem prin care trece tot traficul HTTP/HTTPS. Instrumentul utilizează mecanismele native macOS Network Extension pentru interceptarea traficului fără a fi necesară configurarea manuală a proxy-ului pentru simulatorul iOS.
Pe macOS, Proxyman utilizează Apple Network Framework pentru interceptarea transparentă a traficului. La activarea proxy-ului, Proxyman creează o interfață de rețeană virtuală prin care trece traficul tuturor aplicațiilor. Pentru simulatorul iOS, configurarea are loc automat la pornire — Proxyman detectează prin Xcode simulatoarele lansate și redirecționează traficul lor fără setarea manuală a proxy-ului în setări.
Pentru decriptarea HTTPS, Proxyman instalează un certificat rădăcină local în setul de chei de sistem macOS. La prima lansare, programul propune instalarea certificatului și acordarea de încredere. Toate certificatele pentru domenii specifice sunt generate din mers și semnate cu certificatul rădăcină Proxyman. Pentru simulatorul iOS, certificatul este instalat automat la pornirea proxy-ului.
// Exemplu de script Proxyman pentru modificarea răspunsului
// Scripting: schimbăm starea răspunsului la 500 pentru testarea erorilor
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 oferă un set unic de funcții care îl deosebesc de alte instrumente proxy. Accentul special este pus pe modificarea scriptată a traficului și performanța nativă.
Caracteristica principală a Proxyman — suport pentru scripturi JavaScript pentru modificarea cererilor și răspunsurilor. În loc să editați manual fiecare cerere prin Breakpoints (ca în Charles), dezvoltatorul poate scrie un script care va fi aplicat automat la URL-uri specifice. Scripturile au acces complet la antete, corpul cererii și răspunsului, codul de stare și metadate. Acest lucru permite automatizarea operațiilor de rutină: înlocuirea tokenului de autorizare, modificarea antetelor, emularea erorilor pentru testare.
Proxyman oferă un sistem flexibil de filtre bazat pe reguli. Puteți crea profile care grupează automat traficul pe domenii, tipuri de conținut sau coduri de stare. De exemplu, toate cererile către API-ul aplicației dvs. ajung automat într-un grup separat, iar elementele statice (CSS, JS, imagini) — într-altul. Acest lucru este deosebit de convenabil la depanare, când trebuie să vă concentrați doar pe anumite endpoint-uri.
| Funcție | Proxyman | Charles Proxy | Notă |
|---|---|---|---|
| Scripting | JavaScript | Nu | Modificare automată fără Breakpoints |
| iOS Simulator | Automat | Configurare manuală | Proxyman detectează simulatorul prin Xcode |
| Versiune gratuită | Da | 30 zile trial | Proxyman — fără limită de timp |
| Platformă | macOS, iOS | Windows, macOS, Linux | Charles cross-platform, Proxyman — doar Apple |
| HAR Export | Da | Da | Ambele suportă formatul standard |
Proxyman afișează cronologia cererilor în stilul unei diagrame temporale, unde fiecare cerere este reprezentată printr-o bandă colorată cu informații despre durată, stare și dimensiune. Cronologia este interactivă: puteți selecta un interval de timp și vedea doar cererile din această perioadă. Pentru fiecare cerere este disponibilă o defalcare pe faze: DNS, Connect, TLS Handshake, Request, Response.
O capacitate unică Proxyman — o aplicație separată pentru iOS care poate fi instalată pe iPhone sau iPad. Aceasta permite vizualizarea traficului de rețeană direct pe dispozitiv fără conexiune la computer. Traficul este afișat în timp real cu posibilitatea de filtrare și căutare. Aplicația este deosebit de utilă în testarea pe teren când nu există acces la computer.
Proxyman oferă diferite moduri de configurare pentru iOS și Android. Datorită integrării native cu Xcode, configurarea pentru simulatorul iOS are loc aproape automat. Pentru dispozitivele fizice și Android este necesară configurarea manuală.
Cel mai simplu scenariu: lansați Proxyman, deschideți fila iOS Simulator și faceți clic pe Start. Proxyman va detecta automat simulatoarele lansate prin Xcode și va configura proxy-ul. Certificatul HTTPS este de asemenea instalat automat. Nu sunt necesare acțiuni suplimentare — traficul simulatorului apare imediat în fereastra Proxyman. Acesta este un avantaj semnificativ față de Charles, unde configurarea simulatorului necesită setarea manuală a proxy-ului.
Pentru iPhone sau iPad: conectați dispozitivul la aceeași rețeană WiFi ca și computerul. În setările WiFi ale dispozitivului, specificați HTTP Proxy: adresa IP a computerului și portul 9090 (portul implicit Proxyman). Apoi deschideți Safari și accesați http://proxy.man/ssl pentru instalarea certificatului. Pe iOS 10.3+, activați încrederea certificatului în Settings → General → About → Certificate Trust Settings.
Dispozitivele Android se configurează similar cu iOS: WiFi Proxy cu adresa IP a computerului și portul 9090. Pentru HTTPS este necesară instalarea certificatului prin browser la http://proxy.man/ssl. Pe Android 7+, pentru compilarea de debug a aplicației va fi necesar fișierul network_security_config.xml cu încredere în certificatele utilizatorului. Pentru emulatorul Android, utilizați adresa IP a gazdei (de obicei 10.0.2.2) în locul IP-ului computerului.
<!-- network_security_config.xml pentru Android cu 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>
Alegerea între Proxyman și Charles Proxy depinde de nevoile specifice ale echipei și de platforma de dezvoltare. Să analizăm diferențele cheie pentru a ajuta dezvoltatorul să ia o decizie informată.
Proxyman este scris în Swift cu AppKit, ceea ce asigură performanță nativă macOS și consum minim de memorie. Charles este scris în Java (Eclipse RCP), ceea ce oferă cross-platformitate, dar poate duce la un consum ușor mai mare de memorie și o interfață non-nativă pe macOS. Pentru dezvoltatorii din ecosistemul Apple, Proxyman se simte de obicei mai receptiv.
Charles oferă un set mai matur și mai larg de instrumente: Rewrite Rules cu editor vizual, Repeat pentru repetarea cererilor, Map Local/Remote, Auto Save al sesiunilor. Proxyman răspunde cu funcții mai moderne: Scripting în JavaScript, configurare automată a simulatorului, iOS-companion pentru vizualizarea traficului pe dispozitiv. Charles are avantaj în scenarii complexe de automatizare (Rewrite, Repeat), iar Proxyman — în modificarea rapidă și flexibilă prin scripturi.
Proxyman oferă o versiune gratuită cu funcționalitate de bază fără limită de timp. Versiunea Pro (abonament ~$12/an sau achiziție unică ~$59) deblochează funcții avansate: scripting, filtre, export. Charles — $50 pentru o licență cu trial de 30 de zile. Pentru dezvoltatorii independenți, Proxyman este mai accesibil; pentru mediile corporative, diferența este nesemnificativă.
Întrebări frecvente
Proxyman are o versiune gratuită cu funcționalitate de bază pentru interceptarea traficului HTTP/HTTPS fără limită de timp. Abonamentele plătite (Pro și Team) adaugă scripting, filtre avansate, export în HAR și suport prioritar. Pentru majoritatea sarcinilor de depanare, versiunea gratuită este suficientă.
Proxyman — o aplicație nativă macOS, dar poate intercepta trafic de pe dispozitive Android prin WiFi Proxy similar cu Charles. Dispozitivele Android se configurează ca HTTP-proxy cu adresa IP a computerului și portul Proxyman. Pentru emulatorul Android se utilizează IP 10.0.2.2. Certificatul HTTPS se instalează separat.
Există două moduri: Local Edit — dublu clic pe cerere, selectarea filei Response, editare manuală, apoi butonul Execute pentru trimiterea răspunsului modificat către aplicație. Scripting — scrierea unui script JavaScript care aplică automat modificări la URL-urile specificate la fiecare cerere.
Da, Proxyman suportă export în formatele: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (pentru fiecare cerere), Plain Text. Exportul este disponibil prin meniul contextual pe cerere sau grup de cereri. Formatul HAR este compatibil cu Charles Proxy, Chrome DevTools și vizualizatoare online.
Proxyman detectează automat simulatoarele iOS lansate prin Xcode și redirecționează traficul lor fără configurare manuală. La pornirea proxy-ului, Proxyman aplică un proxy de sistem prin Network Extension pe macOS, care se aplică automat tuturor simulatoarelor. Certificatul HTTPS este de asemenea instalat automat.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și