Proxyman: co to jest, konfiguracja i możliwości debugowania ruchu

Autor: IT Sectr Opublikowano: 2026-05-08 Czas czytania: 8 min

Proxyman — to natywny klient proxy dla macOS i iOS, przeznaczony do przechwytywania, przeglądania i modyfikowania ruchu HTTP/HTTPS podczas tworzenia aplikacji. Według danych oficjalnej strony Proxyman (2025), narzędzie jest używane w ponad 10 000 firm i obsługuje wszystkie nowoczesne wersje iOS i macOS. Klient proxy oferuje darmową podstawową wersję i różni się od Charles Proxy nowocześniejszym interfejsem, obsługą skryptów JavaScript do modyfikacji danych w locie oraz wbudowaną kompatybilnością z symulatorem iOS.

Najważniejsze

  • Proxyman — to natywny klient proxy dla macOS i iOS z nowoczesnym UI i szerokimi możliwościami debugowania ruchu
  • HTTPS-proxy jest zrealizowane z automatyczną instalacją certyfikatu dla symulatora iOS, co upraszcza konfigurację w porównaniu z Charles
  • Scripting — unikalna funkcja Proxyman, pozwalająca modyfikować żądania i odpowiedzi za pomocą skryptów JavaScript bez Breakpoints
  • Integracja z iOS obsługuje zarówno symulator (automatycznie), jak i fizyczne urządzenia przez WiFi Proxy
  • Darmowa wersja zawiera podstawową funkcjonalność przechwytywania ruchu bez ograniczeń czasowych

Czym jest Proxyman?

Proxyman — to klient proxy HTTP/HTTPS stworzony specjalnie dla ekosystemu Apple. W przeciwieństwie do rozwiązań wieloplatformowych, Proxyman wykorzystuje natywne frameworki macOS (Swift, AppKit), co zapewnia wysoką wydajność i bezproblemową integrację z systemowymi mechanizmami proxy. Narzędzie obsługuje macOS 11+ i iOS 14+.

Pozycjonowanie na rynku

Proxyman pozycjonuje się jako nowoczesna alternatywa dla Charles Proxy dla programistów ekosystemu Apple. Główne zalety: darmowa wersja z pełną podstawową funkcjonalnością, natywny interfejs zgodny z systemem projektowym macOS, automatyczna konfiguracja dla symulatora iOS bez dodatkowych działań. Proxyman aktywnie rozwija się od 2018 roku i ma otwarty system feedbacku ze społecznością programistów.

Obsługiwane platformy

Proxyman działa na macOS (natywna aplikacja, nie Electron) i udostępnia pomocniczą aplikację dla iOS. Fizyczne urządzenia (iPhone, iPad) konfiguruje się przez WiFi Proxy podobnie jak w Charles. Aplikacja dla iOS (Proxyman iOS companion) pozwala przeglądać ruch bezpośrednio na urządzeniu bez komputera — ta funkcja jest unikalna dla Proxyman.

Jak działa Proxyman

Proxyman działa na standardowej zasadzie MITM: aplikacja konfigurowana jest jako systemowe proxy, przez które przechodzi cały ruch HTTP/HTTPS. Narzędzie wykorzystuje natywne mechanizmy macOS Network Extension do przechwytywania ruchu bez konieczności ręcznej konfiguracji proxy dla symulatora iOS.

Mechanizm przechwytywania na macOS

Na macOS Proxyman używa Apple Network Framework do transparentnego przechwytywania ruchu. Po aktywacji proxy Proxyman tworzy wirtualny interfejs sieciowy, przez który przechodzi ruch wszystkich aplikacji. Dla symulatora iOS konfiguracja odbywa się automatycznie przy uruchomieniu — Proxyman przez Xcode wykrywa uruchomione symulatory i przekierowuje ich ruch bez ręcznego ustawiania proxy w ustawieniach.

Przetwarzanie ruchu HTTPS

Do deszyfrowania HTTPS Proxyman instaluje lokalny certyfikat główny w pęku kluczy systemowych macOS. Przy pierwszym uruchomieniu program proponuje zainstalowanie certyfikatu i zaufanie mu. Wszystkie certyfikaty dla konkretnych domen są generowane w locie i podpisywane certyfikatem głównym Proxyman. Dla symulatora iOS certyfikat instalowany jest automatycznie przy uruchomieniu proxy.

js
// Przykładowy skrypt Proxyman do modyfikacji odpowiedzi
// Scripting: zmieniamy status odpowiedzi na 500 do testowania błędów
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;
}

Główne możliwości Proxyman

Proxyman oferuje unikalny zestaw funkcji, które odróżniają go od innych narzędzi proxy. Szczególny nacisk położono na skryptową modyfikację ruchu i natywną wydajność.

Scripting — modyfikacja przez JavaScript

Główna cecha Proxyman — obsługa skryptów JavaScript do modyfikacji żądań i odpowiedzi. Zamiast ręcznie edytować każde żądanie przez Breakpoints (jak w Charles), programista może napisać skrypt, który będzie automatycznie stosowany do określonych URL. Skrypty mają pełny dostęp do nagłówków, treści żądania i odpowiedzi, kodu statusu i metadanych. Pozwala to automatyzować rutynowe operacje: podmiana tokena autoryzacji, zmiana nagłówków, emulacja błędów do testowania.

Filtracja i organizacja ruchu

Proxyman oferuje elastyczny system filtrów oparty na regułach. Można tworzyć profile, które automatycznie grupują ruch według domen, typów treści lub kodów statusu. Na przykład wszystkie żądania do API twojej aplikacji automatycznie trafiają do osobnej grupy, a statyka (CSS, JS, obrazy) — do innej. Jest to szczególnie wygodne przy debugowaniu, gdy trzeba skupić się tylko na określonych endpointach.

FunkcjaProxymanCharles ProxyUwagi
ScriptingJavaScriptNieAutomatyczna modyfikacja bez Breakpoints
iOS SimulatorAutomatycznieRęczna konfiguracjaProxyman wykrywa symulator przez Xcode
Darmowa wersjaTak30 dni trialProxyman — bez ograniczenia czasowego
PlatformamacOS, iOSWindows, macOS, LinuxCharles wieloplatformowy, Proxyman — tylko Apple
HAR ExportTakTakOba obsługują standardowy format

Wizualizacja osi czasu

Proxyman wyświetla oś czasu żądań w stylu diagramu czasowego, gdzie każde żądanie przedstawione jest kolorowym paskiem z informacją o czasie trwania, statusie i rozmiarze. Oś jest interaktywna: można zaznaczyć zakres czasu i zobaczyć tylko żądania z tego okresu. Dla każdego żądania dostępny jest podział fazowy: DNS, Connect, TLS Handshake, Request, Response.

Proxyman iOS Companion

Unikalna możliwość Proxyman — osobna aplikacja dla iOS, którą można zainstalować na iPhonie lub iPadzie. Pozwala ona przeglądać ruch sieciowy bezpośrednio na urządzeniu bez podłączania do komputera. Ruch wyświetlany jest w czasie rzeczywistym z możliwością filtrowania i wyszukiwania. Aplikacja jest szczególnie przydatna podczas testów terenowych, gdy nie ma dostępu do komputera.

Konfiguracja Proxyman dla urządzeń mobilnych

Proxyman oferuje różne sposoby konfiguracji dla iOS i Android. Dzięki natywnej integracji z Xcode, konfiguracja dla symulatora iOS odbywa się praktycznie automatycznie. Dla urządzeń fizycznych i Android wymagana jest ręczna konfiguracja.

Konfiguracja dla iOS Simulator

Najprostszy scenariusz: uruchom Proxyman, otwórz zakładkę iOS Simulator i kliknij Start. Proxyman automatycznie wykryje uruchomione symulatory przez Xcode i skonfiguruje proxy. Certyfikat HTTPS również instalowany jest automatycznie. Nie są wymagane żadne dodatkowe działania — ruch symulatora natychmiast pojawia się w oknie Proxyman. To znacząca przewaga nad Charles, gdzie konfiguracja symulatora wymaga ręcznego ustawienia proxy.

Konfiguracja dla fizycznego urządzenia iOS

Dla iPhone lub iPad: podłącz urządzenie do tej samej sieci WiFi co komputer. W ustawieniach WiFi urządzenia wskaż HTTP Proxy: adres IP komputera i port 9090 (domyślny port Proxyman). Następnie otwórz Safari i przejdź na http://proxy.man/ssl w celu instalacji certyfikatu. Na iOS 10.3+ koniecznie włącz zaufanie certyfikatowi w Settings → General → About → Certificate Trust Settings.

Konfiguracja dla Android

Urządzenia Android konfiguruje się podobnie jak iOS: WiFi Proxy z adresem IP komputera i portem 9090. Dla HTTPS wymagana jest instalacja certyfikatu przez przeglądarkę na http://proxy.man/ssl. Na Android 7+ dla debugowej kompilacji aplikacji będzie potrzebny plik network_security_config.xml z zaufaniem certyfikatom użytkownika. Dla emulatora Android użyj adresu IP hosta (zwykle 10.0.2.2) zamiast IP komputera.

xml
<!-- network_security_config.xml dla Androida z 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>

Proxyman vs Charles Proxy: porównanie

Wybór między Proxyman a Charles Proxy zależy od konkretnych potrzeb zespołu i platformy programistycznej. Rozważmy kluczowe różnice, aby pomóc programiście w podjęciu świadomej decyzji.

Wydajność i natywność

Proxyman napisany jest w Swift z AppKit, co zapewnia natywną wydajność macOS i minimalne zużycie pamięci. Charles napisany jest w Javie (Eclipse RCP), co daje wieloplatformowość, ale może prowadzić do nieco wyższego zużycia pamięci i nienatywnego interfejsu na macOS. Dla programistów ekosystemu Apple Proxyman zwykle wydaje się bardziej responsywny.

Różnice funkcjonalne

Charles oferuje bardziej dojrzały i szeroki zestaw narzędzi: Rewrite Rules z edytorem wizualnym, Repeat do powtarzania żądań, Map Local/Remote, Auto Save sesji. Proxyman odpowiada nowocześniejszymi funkcjami: Scripting w JavaScript, automatyczna konfiguracja symulatora, iOS-companion do przeglądania ruchu na urządzeniu. Charles ma przewagę przy złożonych scenariuszach automatyzacji (Rewrite, Repeat), a Proxyman — przy szybkiej i elastycznej modyfikacji przez skrypty.

Cena i licencjonowanie

Proxyman oferuje darmową wersję z podstawową funkcjonalnością bez ograniczenia czasowego. Wersja Pro (subskrypcja ~$12/rok lub jednorazowy zakup ~$59) odblokowuje zaawansowane funkcje: scripting, filtry, eksport. Charles — $50 za licencję z 30-dniowym trialem. Dla niezależnych programistów Proxyman jest bardziej dostępny, dla środowisk korporacyjnych różnica jest nieznaczna.

Często zadawane pytania

Czy Proxyman jest darmowy?

Proxyman ma darmową wersję z podstawową funkcjonalnością do przechwytywania ruchu HTTP/HTTPS bez ograniczenia czasowego. Płatne subskrypcje (Pro i Team) dodają scripting, zaawansowane filtry, eksport do HAR i priorytetowe wsparcie. Do większości zadań debugowania wystarczy darmowa wersja.

Czy Proxyman obsługuje Android?

Proxyman — natywna aplikacja macOS, ale może przechwytywać ruch z urządzeń Android przez WiFi Proxy podobnie jak Charles. Urządzenia Android konfiguruje się jako HTTP-proxy z adresem IP komputera i portem Proxyman. Dla emulatora Android używany jest IP 10.0.2.2. Certyfikat HTTPS instaluje się osobno.

Jak zmienić odpowiedź serwera w Proxyman?

Są dwa sposoby: Local Edit — podwójne kliknięcie na żądanie, wybór zakładki Response, ręczna edycja, następnie przycisk Execute do wysłania zmodyfikowanej odpowiedzi do aplikacji. Scripting — napisanie skryptu JavaScript, który automatycznie stosuje zmiany do wskazanych URL przy każdym żądaniu.

Czy można eksportować dane z Proxyman?

Tak, Proxyman obsługuje eksport do formatów: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (dla każdego żądania), Plain Text. Eksport dostępny jest przez menu kontekstowe na żądaniu lub grupie żądań. Format HAR jest kompatybilny z Charles Proxy, Chrome DevTools i przeglądarkami online.

Jak Proxyman działa z iOS Simulator?

Proxyman automatycznie wykrywa uruchomione iOS Simulatory przez Xcode i przekierowuje ich ruch bez ręcznej konfiguracji. Przy uruchomieniu proxy Proxyman wdraża systemowe proxy przez Network Extension na macOS, które automatycznie stosuje się do wszystkich symulatorów. Certyfikat HTTPS również instalowany jest automatycznie.

Podsumowanie

  • Proxyman — to natywny klient proxy dla macOS i iOS z nowoczesnym interfejsem Swift, stworzony jako alternatywa dla Charles Proxy w ekosystemie Apple
  • Scripting w JavaScript — unikalna funkcja pozwalająca automatycznie modyfikować żądania i odpowiedzi bez Breakpoints, co przyspiesza testowanie przypadków brzegowych
  • Automatyczna konfiguracja dla symulatora iOS przez Xcode bez ręcznego ustawiania proxy — kluczowa przewaga nad Charles
  • iOS Companion — osobna aplikacja do przeglądania ruchu bezpośrednio na iPhone lub iPad bez podłączania do komputera
  • Wydajność dzięki natywnym frameworkom Swift/AppKit — niższe zużycie pamięci w porównaniu z rozwiązaniami Java
  • Darmowa wersja z pełną podstawową funkcjonalnością bez ograniczeń czasowych odpowiednia dla większości zadań debugowania
  • Do programowania wieloplatformowego (Windows + macOS + Linux) wybierz Charles Proxy, dla czystego ekosystemu Apple — Proxyman zapewnia lepsze doświadczenie użytkownika

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również