A Proxyman egy natív proxy-kliens macOS és iOS rendszerekhez, amely az alkalmazásfejlesztés során a HTTP/HTTPS forgalom elfogására, megtekintésére és módosítására szolgál. A Proxyman hivatalos weboldala (2025) szerint az eszközt több mint 10 000 vállalat használja, és támogatja az iOS és macOS összes modern verzióját. A proxy-kliens ingyenes alapverziót kínál és eltér a Charles Proxy-tól modernebb interfészével, a JavaScript szkriptek támogatásával az adatok menet közbeni módosításához és az iOS szimulátorral való beépített kompatibilitással.
Főbb pontok
A Proxyman egy HTTP/HTTPS proxy-kliens, amelyet kifejezetten az Apple ökoszisztémához hoztak létre. A többplatformos megoldásokkal ellentétben a Proxyman natív macOS keretrendszereket (Swift, AppKit) használ, ami magas teljesítményt és zökkenőmentes integrációt biztosít a rendszer proxy mechanizmusaival. Az eszköz támogatja a macOS 11+ és iOS 14+ verziókat.
A Proxyman modern alternatívaként pozicionálja magát a Charles Proxy mellett az Apple ökoszisztéma fejlesztői számára. Fő előnyök: ingyenes verzió teljes alapfunkcionalitással, natív interfész, amely megfelel a macOS dizájnrendszerének, automatikus konfiguráció az iOS szimulátorhoz további műveletek nélkül. A Proxyman 2018 óta aktívan fejlődik, és nyitott visszajelzési rendszerrel rendelkezik a fejlesztői közösséggel.
A Proxyman macOS-en fut (natív alkalmazás, nem Electron), és egy segédalkalmazást biztosít iOS-hez. A fizikai eszközök (iPhone, iPad) WiFi Proxy-n keresztül konfigurálhatók, hasonlóan a Charleshoz. Az iOS alkalmazás (Proxyman iOS companion) lehetővé teszi a forgalom megtekintését közvetlenül az eszközön számítógép nélkül — ez a funkció egyedi a Proxyman esetében.
A Proxyman a szabványos MITM-elven működik: az alkalmazás rendszerproxyként van konfigurálva, amelyen keresztül az összes HTTP/HTTPS forgalom áthalad. Az eszköz natív macOS Network Extension mechanizmusokat használ a forgalom elfogásához anélkül, hogy kézi proxy beállításra lenne szükség az iOS szimulátorhoz.
macOS-en a Proxyman az Apple Network Framework-et használja a forgalom átlátszó elfogásához. A proxy aktiválásakor a Proxyman létrehoz egy virtuális hálózati interfészt, amelyen keresztül az összes alkalmazás forgalma áthalad. Az iOS szimulátor esetében a konfiguráció automatikusan történik az indításkor — a Proxyman az Xcode-on keresztül észleli a futó szimulátorokat, és átirányítja a forgalmukat anélkül, hogy kézzel kellene beállítani a proxyt a beállításokban.
A HTTPS visszafejtéséhez a Proxyman egy helyi győkértanúsítványt telepít a macOS rendszerkulcstartójába. Az első indításkor a program felajánloz a tanúsítvány telepítését és a megbízhatóság beállítását. Az összes tanúsítvány adott domainekhez menet közben generálódik, és a Proxyman győkértanúsítványával van aláírva. Az iOS szimulátor számára a tanúsítvány automatikusan települ a proxy indításakor.
// Példa Proxyman szkript a válasz módosítására
// Scripting: a válasz állapotát 500-ra változtatjuk a hibák teszteléséhez
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;
}
A Proxyman egyedi funkciókészletet kínál, amely megkülönbözteti más proxy eszközöktől. Külön hangsúly a szkript alapú forgalommódosításon és a natív teljesítményen van.
A Proxyman fő jellemzője — JavaScript szkriptek támogatása a kérések és válaszok módosításához. Ahelyett, hogy minden kérést kézzel szerkesztene Breakpoints-on keresztül (mint a Charlesban), a fejlesztő írhat egy szkriptet, amely automatikusan alkalmazódik bizonyos URL-ekre. A szkriptek teljes hozzáféréssel rendelkeznek a fejlécekhez, a kérés és válasz törzséhez, az állapotkódhoz és a metaadatokhoz. Ez lehetővé teszi a rutin műveletek automatizálását: engedélyezési token cseréje, fejlécek módosítása, hibák szimulálása teszteléshez.
A Proxyman rugalmas szűrőrendszert kínál szabályok alapján. Létrehozhat profilokat, amelyek automatikusan csoportosítják a forgalmat domain, tartalomtípus vagy állapotkód szerint. Például az alkalmazása API-jának összes kérése automatikusan egy külön csoportba kerül, a statikus tartalom (CSS, JS, képek) pedig egy másikba. Ez különösen kényelmes hibakereséskor, amikor csak bizonyos endpointokra kell összpontosítani.
| Funkció | Proxyman | Charles Proxy | Megjegyzés |
|---|---|---|---|
| Scripting | JavaScript | Nincs | Automatikus módosítás Breakpoints nélkül |
| iOS Simulator | Automatikus | Kézi beállítás | A Proxyman Xcode-on keresztül észleli a szimulátort |
| Ingyenes verzió | Igen | 30 napos próbaverzió | Proxyman — időkorlátozás nélkül |
| Platform | macOS, iOS | Windows, macOS, Linux | Charles többplatformos, Proxyman — csak Apple |
| HAR Export | Igen | Igen | Mindkettő támogatja a szabványos formátumot |
A Proxyman kérések idővonalát idődiagram stílusban jeleníti meg, ahol minden kérést egy színes sáv reprezentál az időtartamra, állapotra és méretre vonatkozó információkkal. Az idővonal interaktív: kiválaszthat egy időtartományt, és csak az adott időszak kéréseit láthatja. Minden kéréshez elérhető egy fázisbontás: DNS, Connect, TLS Handshake, Request, Response.
A Proxyman egyedi lehetősége — külön alkalmazás iOS-hez, amely iPhone-ra vagy iPad-re telepíthető. Lehetővé teszi a hálózati forgalom megtekintését közvetlenül az eszközön számítógéphez való csatlakozás nélkül. A forgalom valós időben jelenik meg szűrési és keresési lehetőséggel. Az alkalmazás különösen hasznos terepi teszteléskor, amikor nincs hozzáférés számítógéphez.
A Proxyman különböző beállítási módokat kínál iOS és Android rendszerekhez. Az Xcode-val való natív integrációnak köszönhetően az iOS szimulátor beállítása gyakorlatilag automatikus. A fizikai eszközökhöz és Androidhoz kézi konfiguráció szükséges.
A legegyszerűbb forgatókönyv: indítsa el a Proxymant, nyissa meg a iOS Simulator fült, és kattintson a Start gombra. A Proxyman automatikusan észleli a futó szimulátorokat az Xcode-on keresztül, és beállítja a proxyt. A HTTPS tanúsítvány szintén automatikusan települ. Nincs szükség további műveletekre — a szimulátor forgalma azonnal megjelenik a Proxyman ablakában. Ez jelentŕs előny a Charleshoz képest, ahol a szimulátor beállítása a proxy kézi beállítását igényli.
iPhone vagy iPad esetén: csatlakoztassa az eszközt ugyanahhoz a WiFi hálózathoz, mint a számítógépet. Az eszköz WiFi beállításaiban adja meg az HTTP Proxy-t: a számítógép IP-címét és a 9090-es portot (a Proxyman alapértelmezett portja). Ezután nyissa meg a Safarit, és látogasson el a http://proxy.man/ssl címre a tanúsítvány telepítéséhez. iOS 10.3+ esetén kapcsolja be a tanúsítvány megbízhatóságát a Settings → General → About → Certificate Trust Settings menüben.
Az Android eszközök az iOS-hez hasonlóan konfigurálhatók: WiFi Proxy a számítógép IP-címével és a 9090-es porttal. A HTTPS-hez a tanúsítvány telepítése szükséges a böngészőn keresztül a http://proxy.man/ssl címen. Android 7+ esetén az alkalmazás debug építéséhez szükség lesz egy network_security_config.xml fájlra a felhasználói tanúsítványokba vetett bizalommal. Az Android emulátorhoz használja a gazdagép IP-címét (általában 10.0.2.2) a számítógép IP-címe helyett.
<!-- network_security_config.xml Androidhoz Proxyman használatával -->
<?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 Proxyman és a Charles Proxy közötti választás a csapat konkrét igényeitől és a fejlesztési platformtól függ. Vizsgáljuk meg a legfontosabb különbségeket, hogy segítsük a fejlesztőt a megalapozott döntés meghozatalában.
A Proxyman Swift és AppKit használatával készült, ami natív macOS teljesítményt és minimális memóriahasználatot biztosít. A Charles Java (Eclipse RCP) nyelven íródott, ami többplatformos működést tesz lehetővé, de valamivel magasabb memóriahasználathoz és nem natív interfészhez vezethet macOS-en. Az Apple ökoszisztéma fejlesztői számára a Proxyman általában reagálóbbnak érződik.
A Charles érettebb és szélesebb eszközkészletet kínál: Rewrite Rules vizuális szerkesztővel, Repeat a kérések ismétléséhez, Map Local/Remote, munkamenetek Auto Save-je. A Proxyman modernebb funkciókkal válaszol: Scripting JavaScriptben, automatikus szimulátor konfiguráció, iOS-companion a forgalom eszközön való megtekintéséhez. A Charles az összetett automatizálási forgatókönyvekben (Rewrite, Repeat) rendelkezik előnnyel, a Proxyman pedig a gyors és rugalmas szkriptalapú módosításban.
A Proxyman ingyenes verziót kínál alapfunkcionalitással, időkorlátozás nélkül. A Pro verzió (előfizetés ~$12/év vagy egyszeri vásárlás ~$59) fejlett funkciókat nyit meg: scripting, szűrők, exportálás. A Charles — $50 licencenként 30 napos próbaverzióval. Független fejlesztők számára a Proxyman megfizethetőbb; vállalati környezetben a különbség elhanyagolható.
Gyakran ismételt kérdések
A Proxyman rendelkezik ingyenes verzióval, amely alapvető funkcionalitást biztosít a HTTP/HTTPS forgalom elfogásához időkorlátozás nélkül. A fizetős előfizetések (Pro és Team) scriptinget, fejlett szűrőket, HAR exportálást és prioritásos támogatást adnak hozzá. A legtöbb hibakeresési feladathoz elegendő az ingyenes verzió.
A Proxyman egy natív macOS alkalmazás, de képes forgalmat elfogni Android eszközökről WiFi Proxy-n keresztül, hasonlóan a Charleshoz. Az Android eszközök HTTP-proxyként konfigurálhatók a számítógép IP-címével és a Proxyman portjával. Az Android emulátorhoz a 10.0.2.2 IP-cím használatos. A HTTPS tanúsítvány külön kerül telepítésre.
Két módszer létezik: Local Edit — kattintson duplán egy kérésre, válassza a Response fült, szerkessze kézzel, majd az Execute gomb elküldi a módosított választ az alkalmazásnak. Scripting — írjon egy JavaScript szkriptet, amely automatikusan alkalmazza a változtatásokat a megadott URL-ekre minden kérésnél.
Igen, a Proxyman támogatja az exportálást a következő formátumokba: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (minden kéréshez), Plain Text. Az exportálás a helyi menün keresztül érhető el egy kérésen vagy kéréscsoporton. A HAR formátum kompatibilis a Charles Proxy-val, a Chrome DevTools-szal és az online megtekintőkkel.
A Proxyman automatikusan észleli a futó iOS Simulatorokat az Xcode-on keresztül, és átirányítja a forgalmukat kézi konfiguráció nélkül. A proxy indításakor a Proxyman alkalmaz egy rendszerproxyt a macOS Network Extension szolgáltatásán keresztül, amely automatikusan érvényesül az összes szimulátorra. A HTTPS tanúsítvány szintén automatikusan települ.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is