Proxyman är en inbyggd proxy-klient för macOS och iOS, avsedd för att fånga upp, visa och ändra HTTP/HTTPS-trafik under applikationsutveckling. Enligt den officiella webbplatsen för Proxyman (2025) används verktyget i över 10 000 företag och stödjer alla moderna versioner av iOS och macOS. Proxy-klienten erbjuder en gratis grundversion och skiljer sig från Charles Proxy genom ett modernare gränssnitt, stöd för JavaScript-skript för att ändra data i farten och inbyggd kompatibilitet med iOS-simulatorn.
Huvudpunkter
Proxyman är en HTTP/HTTPS proxy-klient som skapats speciellt för Apples ekosystem. Till skillnad från plattformsoberoende lösningar använder Proxyman inbyggda macOS-ramverk (Swift, AppKit), vilket ger hög prestanda och sömlös integration med systemets proxymekanismer. Verktyget stödjer macOS 11+ och iOS 14+.
Proxyman positionerar sig som ett modernt alternativ till Charles Proxy för utvecklare i Apples ekosystem. Huvudfördelar: gratis version med full grundläggande funktionalitet, inbyggt gränssnitt som följer macOS designsystem, automatisk konfiguration för iOS-simulatorn utan extra åtgärder. Proxyman har utvecklats aktivt sedan 2018 och har ett öppet återkopplingssystem med utvecklargemenskapen.
Proxyman körs på macOS (inbyggd applikation, inte Electron) och tillhandahåller en hjälpapplikation för iOS. Fysiska enheter (iPhone, iPad) konfigureras via WiFi Proxy på samma sätt som Charles. Appen för iOS (Proxyman iOS companion) gör det möjligt att visa trafik direkt på enheten utan dator — denna funktion är unik för Proxyman.
Proxyman fungerar enligt den vanliga MITM-principen: applikationen konfigureras som en systemproxy genom vilken all HTTP/HTTPS-trafik passerar. Verktyget använder inbyggda macOS Network Extension-mekanismer för att fånga trafik utan att behöva manuell konfiguration av proxy för iOS-simulatorn.
På macOS använder Proxyman Apple Network Framework för transparent trafikavlyssning. När proxyn aktiveras skapar Proxyman ett virtuellt nätverksgränssnitt genom vilket all trafik från alla applikationer passerar. För iOS-simulatorn sker konfigurationen automatiskt vid start — Proxyman upptäcker via Xcode körande simulatorer och omdirigerar deras trafik utan manuell proxyinställning i inställningarna.
För att dekryptera HTTPS installerar Proxyman ett lokalt rotcertifikat i macOS systemnyckelring. Vid första starten erbjuder programmet att installera certifikatet och lita på det. Alla certifikat för specifika domäner genereras i farten och signeras med Proxymans rotcertifikat. För iOS-simulatorn installeras certifikatet automatiskt när proxyn startas.
// Exempelskript Proxyman för att ändra svar
// Scripting: ändrar svarsstatusen till 500 för att testa fel
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 erbjuder en unik uppsättning funktioner som skiljer det från andra proxyverktyg. Särskild tonvikt läggs på skriptbaserad trafikändring och inbyggd prestanda.
Huvudfunktionen i Proxyman — stöd för JavaScript-skript för att ändra förfrågningar och svar. Istället för att manuellt redigera varje förfrågan via Breakpoints (som i Charles) kan utvecklaren skriva ett skript som automatiskt tillämpas på specifika URL:er. Skript har full tillgång till rubriker, begäran- och svarskropp, statuskod och metadata. Detta gör det möjligt att automatisera rutinoperationer: byte av autentiseringstoken, ändring av rubriker, simulering av fel för testning.
Proxyman erbjuder ett flexibelt filtersystem baserat på regler. Du kan skapa profiler som automatiskt grupperar trafik efter domän, innehållstyp eller statuskod. Till exempel hamnar alla förfrågningar till din applikations API automatiskt i en separat grupp och statiskt innehåll (CSS, JS, bilder) i en annan. Detta är särskilt praktiskt vid felsökning när du behöver fokusera endast på specifika endpoints.
| Funktion | Proxyman | Charles Proxy | Anmärkning |
|---|---|---|---|
| Scripting | JavaScript | Nej | Automatisk ändring utan Breakpoints |
| iOS Simulator | Automatiskt | Manuell konfiguration | Proxyman upptäcker simulator via Xcode |
| Gratis version | Ja | 30 dagars trial | Proxyman — utan tidsbegränsning |
| Plattform | macOS, iOS | Windows, macOS, Linux | Charles plattformsoberoende, Proxyman — endast Apple |
| HAR Export | Ja | Ja | Båda stödjer standardformatet |
Proxyman visar en tidslinje över förfrågningar i stil med ett tidsdiagram, där varje förfrågan representeras av ett färgglatt fält med information om varaktighet, status och storlek. Tidslinjen är interaktiv: du kan välja ett tidsintervall och se endast förfrågningar från den perioden. För varje förfrågan finns en fasindelning tillgänglig: DNS, Connect, TLS Handshake, Request, Response.
En unik möjlighet i Proxyman — en separat app för iOS som kan installeras på iPhone eller iPad. Den gör det möjligt att visa nätverkstrafik direkt på enheten utan anslutning till en dator. Trafiken visas i realtid med möjlighet till filtrering och sökning. Appen är särskilt användbar vid fälttestning när det inte finns tillgång till en dator.
Proxyman erbjuder olika sätt att konfigurera för iOS och Android. Tack vare inbyggd integration med Xcode sker konfigurationen för iOS-simulatorn nästan automatiskt. För fysiska enheter och Android krävs manuell konfiguration.
Det enklaste scenariot: starta Proxyman, öppna fliken iOS Simulator och klicka på Start. Proxyman kommer automatiskt att upptäcka körande simulatorer via Xcode och konfigurera proxyn. HTTPS-certifikatet installeras också automatiskt. Inga ytterligare åtgärder krävs — simulatortrafiken visas omedelbart i Proxyman-fönstret. Detta är en betydande fördel jämfört med Charles, där konfiguration av simulatorn kräver manuell proxyinställning.
För iPhone eller iPad: anslut enheten till samma WiFi-nätverk som datorn. I enhetens WiFi-inställningar anger du HTTP Proxy: datorns IP-adress och port 9090 (Proxymans standardport). Öppna sedan Safari och gå till http://proxy.man/ssl för att installera certifikatet. På iOS 10.3+ aktiverar du förtroende för certifikatet i Settings → General → About → Certificate Trust Settings.
Android-enheter konfigureras på samma sätt som iOS: WiFi Proxy med datorns IP-adress och port 9090. För HTTPS krävs installation av certifikat via webbläsaren på http://proxy.man/ssl. På Android 7+ kommer en debug-build av applikationen att behöva filen network_security_config.xml med förtroende för användarcertifikat. För Android-emulatorn använder du värdens IP-adress (vanligtvis 10.0.2.2) istället för datorns IP.
<!-- network_security_config.xml för Android med 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>
Valet mellan Proxyman och Charles Proxy beror på teamets specifika behov och utvecklingsplattform. Låt oss undersöka de viktigaste skillnaderna för att hjälpa utvecklaren att fatta ett välgrundat beslut.
Proxyman är skrivet i Swift med AppKit, vilket ger inbyggd macOS-prestanda och minimal minnesanvändning. Charles är skrivet i Java (Eclipse RCP), vilket ger plattformsoberoende men kan leda till något högre minnesanvändning och ett icke-inbyggt gränssnitt på macOS. För utvecklare i Apples ekosystem känns Proxyman vanligtvis mer responsivt.
Charles erbjuder en mer mogen och bredare uppsättning verktyg: Rewrite Rules med en visuell redigerare, Repeat för att upprepa förfrågningar, Map Local/Remote, Auto Save av sessioner. Proxyman svarar med mer moderna funktioner: Scripting i JavaScript, automatisk simulatorkonfiguration, iOS-companion för att visa trafik på enheten. Charles har fördel i komplexa automatiseringsscenarier (Rewrite, Repeat), och Proxyman — i snabb och flexibel ändring via skript.
Proxyman erbjuder en gratis version med grundläggande funktionalitet utan tidsbegränsning. Pro-versionen (prenumeration ~$12/år eller engångsköp ~$59) låser upp avancerade funktioner: scripting, filter, export. Charles — $50 för en licens med 30 dagars trial. För oberoende utvecklare är Proxyman mer prisvärt; för företagsmiljöer är skillnaden försumbar.
Vanliga frågor
Proxyman har en gratis version med grundläggande funktionalitet för att fånga HTTP/HTTPS-trafik utan tidsbegränsning. Betalda prenumerationer (Pro och Team) lägger till scripting, avancerade filter, export till HAR och prioriterad support. För de flesta felsökningsuppgifter räcker den gratis versionen.
Proxyman är en inbyggd macOS-applikation, men kan fånga trafik från Android-enheter via WiFi Proxy på samma sätt som Charles. Android-enheter konfigureras som HTTP-proxy med datorns IP-adress och Proxymans port. För Android-emulatorn används IP 10.0.2.2. HTTPS-certifikatet installeras separat.
Det finns två sätt: Local Edit — dubbelklicka på en förfrågan, välj fliken Response, redigera manuellt, sedan knappen Execute för att skicka det ändrade svaret till applikationen. Scripting — skriv ett JavaScript-skript som automatiskt tillämpar ändringar på angivna URL:er vid varje förfrågan.
Ja, Proxyman stödjer export till formaten: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (för varje förfrågan), Plain Text. Export är tillgänglig via högermenyn på en förfrågan eller grupp av förfrågningar. HAR-formatet är kompatibelt med Charles Proxy, Chrome DevTools och online-visare.
Proxyman upptäcker automatiskt körande iOS Simulatorer via Xcode och omdirigerar deras trafik utan manuell konfiguration. När proxyn startas tillämpar Proxyman en systemproxy via Network Extension på macOS, som automatiskt gäller för alla simulatorer. HTTPS-certifikatet installeras också automatiskt.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också