Proxyman je nativní proxy-klient pro macOS a iOS, určený k zachytávání, prohlížení a úpravě HTTP/HTTPS provozu během vývoje aplikací. Podle oficiálních stránek Proxyman (2025) je nástroj používán ve více než 10 000 společnostech a podporuje všechny moderní verze iOS a macOS. Proxy-klient nabízí bezplatnou základní verzi a liší se od Charles Proxy modernějším rozhraním, podporou JavaScript skriptů pro úpravu dat za běhu a vestavěnou kompatibilitou s iOS simulátorem.
Hlavní body
Proxyman je HTTP/HTTPS proxy-klient vytvořený speciálně pro ekosystém Apple. Na rozdíl od multiplatformních řešení využívá Proxyman nativní macOS frameworky (Swift, AppKit), což zajišťuje vysoký výkon a bezproblémovou integraci se systémovými mechanismy proxy. Nástroj podporuje macOS 11+ a iOS 14+.
Proxyman se staví jako moderní alternativa k Charles Proxy pro vývojáře v ekosystému Apple. Hlavní výhody: bezplatná verze s plnou základní funkčností, nativní rozhraní odpovídající designovému systému macOS, automatické nastavení pro iOS simulátor bez dalších úkonů. Proxyman je aktivně vyvíjen od roku 2018 a má otevřený systém zpětné vazby s komunitou vývojářů.
Proxyman běží na macOS (nativní aplikace, nikoli Electron) a poskytuje pomocnou aplikaci pro iOS. Fyzická zařízení (iPhone, iPad) se konfigurují prostřednictvím WiFi Proxy podobně jako Charles. Aplikace pro iOS (Proxyman iOS companion) umožňuje prohlížení provozu přímo na zařízení bez počítače — tato funkce je pro Proxyman jedinečná.
Proxyman pracuje na standardním principu MITM: aplikace je nakonfigurována jako systémový proxy, přes který prochází veškerý HTTP/HTTPS provoz. Nástroj využívá nativní mechanismy macOS Network Extension k zachytávání provozu bez nutnosti ručního nastavení proxy pro iOS simulátor.
Na macOS používá Proxyman Apple Network Framework pro transparentní zachytávání provozu. Po aktivaci proxy vytvoří Proxyman virtuální síťové rozhraní, přes které prochází provoz všech aplikací. Pro iOS simulátor probíhá konfigurace automaticky při spuštění — Proxyman prostřednictvím Xcode detekuje spuštěné simulátory a přesměrová jejich provoz bez ručního nastavení proxy v nastavení.
Pro dešifrování HTTPS instaluje Proxyman místní kořenový certifikát do systémového řetězce klíčů macOS. Při prvním spuštění program nabídne instalaci certifikátu a důvěru v něj. Všechny certifikáty pro konkrétní domény jsou generovány za běhu a podepsány kořenovým certifikátem Proxyman. Pro iOS simulátor je certifikát instalován automaticky při spuštění proxy.
// Příklad skriptu Proxyman pro úpravu odpovědi
// Scripting: měníme stav odpovědi na 500 pro testování chyb
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 nabízí jedinečnou sadu funkcí, která jej odlišuje od ostatních proxy nástrojů. Zvláštní důraz je kladen na skriptovou úpravu provozu a nativní výkon.
Hlavní funkce Proxyman — podpora JavaScript skriptů pro úpravu požadavků a odpovědí. Místo ručního editování každého požadavku přes Breakpoints (jako v Charles) může vývojář napsat skript, který bude automaticky aplikován na konkrétní URL. Skripty mají plný přístup k hlavičkám, tělu požadavku a odpovědi, stavovému kódu a metadatům. To umožňuje automatizaci běžných operací: výměna autorizačního tokenu, změna hlaviček, emulace chyb pro testování.
Proxyman nabízí flexibilní systém filtrů založený na pravidlech. Můžete vytvářet profily, které automaticky seskupují provoz podle domén, typů obsahu nebo stavových kódů. Například všechny požadavky na API vaší aplikace automaticky spadají do jedné skupiny a statický obsah (CSS, JS, obrázky) do jiné. To je obzvláště užitečné při ladění, kdy se musíte soustředit pouze na určité endpointy.
| Funkce | Proxyman | Charles Proxy | Poznámka |
|---|---|---|---|
| Scripting | JavaScript | Ne | Automatická úprava bez Breakpoints |
| iOS Simulator | Automaticky | Ruční nastavení | Proxyman detekuje simulátor přes Xcode |
| Bezplatná verze | Ano | 30 dní trial | Proxyman — bez časového omezení |
| Platforma | macOS, iOS | Windows, macOS, Linux | Charles multiplatformní, Proxyman — pouze Apple |
| HAR Export | Ano | Ano | Oba podporují standardní formát |
Proxyman zobrazuje časovou osu požadavků ve stylu časového diagramu, kde každý požadavek je znázorněn barevným pruhem s informací o době trvání, stavu a velikosti. Časová osa je interaktivní: můžete vybrat časový rozsah a vidět pouze požadavky z tohoto období. Pro každý požadavek je k dispozici fázové členění: DNS, Connect, TLS Handshake, Request, Response.
Jedinečná možnost Proxyman — samostatná aplikace pro iOS, kterou lze nainstalovat na iPhone nebo iPad. Umožňuje prohlížení síťového provozu přímo na zařízení bez připojení k počítači. Provoz je zobrazen v reálném čase s možností filtrování a vyhledávání. Aplikace je obzvláště užitečná při testování v terénu, kdy není k dispozici počítač.
Proxyman nabízí různé způsoby nastavení pro iOS a Android. Díky nativní integraci s Xcode probíhá nastavení pro iOS simulátor prakticky automaticky. Pro fyzická zařízení a Android je vyžadována ruční konfigurace.
Nejjednodušší scénář: spusťte Proxyman, otevřete záložku iOS Simulator a klikněte na Start. Proxyman automaticky detekuje spuštěné simulátory přes Xcode a nakonfiguruje proxy. HTTPS certifikát je také instalován automaticky. Nejsou vyžadovány žádné další úkony — provoz simulátoru se okamžitě objeví v okně Proxyman. To je významná výhoda oproti Charles, kde nastavení simulátoru vyžaduje ruční konfiguraci proxy.
Pro iPhone nebo iPad: připojte zařízení ke stejné WiFi síti jako počítač. V nastavení WiFi zařízení uvedťte HTTP Proxy: IP adresu počítače a port 9090 (výchozí port Proxyman). Poté otevřete Safari a přejděte na http://proxy.man/ssl pro instalaci certifikátu. Na iOS 10.3+ zapněte důvěru certifikátu v Settings → General → About → Certificate Trust Settings.
Zařízení Android se konfigurují podobně jako iOS: WiFi Proxy s IP adresou počítače a portem 9090. Pro HTTPS je vyžadována instalace certifikátu prohlížečem na http://proxy.man/ssl. Na Android 7+ bude pro debug sestavení aplikace potřeba soubor network_security_config.xml s důvěrou uživatelským certifikátům. Pro Android emulátor použijte IP adresu hostitele (obvykle 10.0.2.2) místo IP počítače.
<!-- network_security_config.xml pro Android s 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>
Výběr mezi Proxyman a Charles Proxy závisí na konkrétních potřebách týmu a platformě vývoje. Podívejme se na klíčové rozdíly, abychom vývojáři pomohli učinit informované rozhodnutí.
Proxyman je napsán v Swift s AppKit, což zajišťuje nativní výkon macOS a minimální spotřebu paměti. Charles je napsán v Javě (Eclipse RCP), což poskytuje multiplatformnost, ale může vést k mírně vyšší spotřebě paměti a nenativnímu rozhraní na macOS. Pro vývojáře ekosystému Apple se Proxyman obvykle jeví jako ústřednější.
Charles nabízí vyspělejší a širší sadu nástrojů: Rewrite Rules s vizuálním editorem, Repeat pro opakování požadavků, Map Local/Remote, Auto Save relací. Proxyman odpovídá modernějšími funkcemi: Scripting v JavaScriptu, automatické nastavení simulátoru, iOS-companion pro prohlížení provozu na zařízení. Charles má výhodu u komplexních scénářů automatizace (Rewrite, Repeat), Proxyman zase u rychlé a flexibilní úpravy pomocí skriptů.
Proxyman nabízí bezplatnou verzi se základní funkčností bez časového omezení. Pro verze (předplatné ~$12/rok nebo jednorázový nákup ~$59) odemyká pokročilé funkce: scripting, filtry, export. Charles — $50 za licenci s 30denním trialem. Pro nezávislé vývojáře je Proxyman dostupnější; pro firemní prostředí je rozdíl zanedbatelný.
Často kladené otázky
Proxyman má bezplatnou verzi se základní funkčností pro zachytávání HTTP/HTTPS provozu bez časového omezení. Placená předplatné (Pro a Team) přidávají scripting, pokročilé filtry, export do HAR a prioritní podporu. Pro většinu úkolů ladění stačí bezplatná verze.
Proxyman je nativní aplikace pro macOS, ale může zachytávat provoz z Android zařízení prostřednictvím WiFi Proxy podobně jako Charles. Android zařízení se konfigurují jako HTTP-proxy s IP adresou počítače a portem Proxyman. Pro Android emulátor se používá IP 10.0.2.2. HTTPS certifikát se instaluje samostatně.
Existují dva způsoby: Local Edit — poklepejte na požadavek, vyberte záložku Response, ručně upravte, poté tlačítko Execute pro odeslání upravené odpovědi aplikaci. Scripting — napsání JavaScript skriptu, který automaticky aplikuje změny na uvedené URL při každém požadavku.
Ano, Proxyman podporuje export do formátů: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (pro každý požadavek), Plain Text. Export je k dispozici prostřednictvím kontextové nabídky na požadavku nebo skupině požadavků. Formát HAR je kompatibilní s Charles Proxy, Chrome DevTools a online prohlížeči.
Proxyman automaticky detekuje spuštěné iOS Simulátory přes Xcode a přesměrová jejich provoz bez ruční konfigurace. Při spuštění proxy Proxyman aplikuje systémový proxy prostřednictvím Network Extension na macOS, který se automaticky vztahuje na všechny simulátory. HTTPS certifikát je také instalován automaticky.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také