Proxyman: какво е, настройка и възможности за дебагване на трафик

Автор: IT Sectr Публикувано: 2026-05-08 Време за четене: 8 мин

Proxyman е нативен прокси клиент за macOS и iOS, предназначен за прехващане, преглед и модификация на HTTP/HTTPS трафик при разработка на приложения. Според официалния сайт на Proxyman (2025), инструментът се използва в над 10 000 компании и поддържа всички съвременни версии на iOS и macOS. Прокси клиентът предлага безплатна базова версия и се различава от Charles Proxy с по-модерен интерфейс, подкрепа на JavaScript скриптове за модификация на данни в реално време и вградена съвместимост с iOS симулатора.

Основни положения

  • Proxyman е нативен прокси клиент за macOS и iOS с модерен UI и широки възможности за дебагване на трафик
  • HTTPS-проксирането е реализирано с автоматично инсталиране на сертификат за iOS симулатора, което опростява настройката в сравнение с Charles
  • Scripting — уникална функция на Proxyman, позволяваща модификация на заявки и отговори с JavaScript скриптове без Breakpoints
  • Интеграцията с iOS поддържа както симулатора (автоматично), така и физически устройства чрез WiFi Proxy
  • Безплатната версия включва базова функционалност за прехващане на трафик без времени ограничения

Какво е Proxyman?

Proxyman е HTTP/HTTPS прокси клиент, създаден специално за екосистемата на Apple. За разлика от кросплатформените решения, Proxyman използва нативни macOS рамки (Swift, AppKit), което осигурява висока производителност и безпроблемна интеграция с системните механизми на прокси. Инструментът поддържа macOS 11+ и iOS 14+.

Позициониране на пазара

Proxyman се позиционира като модерна алтернатива на Charles Proxy за разработчици в екосистемата на Apple. Основни предимства: безплатна версия с пълна базова функционалност, нативен интерфейс, съответстващ на дизайн системата на macOS, автоматична настройка за iOS симулатора без допълнителни действия. Proxyman се развива активно от 2018 г. и има отворена система за обратна връзка с общността на разработчиците.

Поддържани платформи

Proxyman работи на macOS (нативно приложение, не Electron) и предоставя помощно приложение за iOS. Физическите устройства (iPhone, iPad) се конфигурират чрез WiFi Proxy като Charles. Приложението за iOS (Proxyman iOS companion) позволява преглед на трафик директно на устройството без компютър — тази функция е уникална за Proxyman.

Как работи Proxyman

Proxyman работи на стандартния MITM принцип: приложението се конфигурира като системен прокси, през който преминава цялият HTTP/HTTPS трафик. Инструментът използва нативните macOS Network Extension механизми за прехващане на трафик без нужда от ръчно настрояване на прокси за iOS симулатора.

Механизъм на прехващане на macOS

На macOS Proxyman използва Apple Network Framework за транспарентно прехващане на трафик. След активация на проксито, Proxyman създава виртуален мрежов интерфейс, през който преминава трафикът на всички приложения. За iOS симулатора, конфигурацията става автоматично при стартиране — Proxyman чрез Xcode открива работещите симулатори и пренасочва тяхния трафик без ръчно настрояване на прокси в настройките.

Обработка на HTTPS трафик

За дешифриране на HTTPS, Proxyman инсталира локален коренов сертификат в системния ключов на macOS. При първо пускане, програмата предлага да инсталирате сертификата и да му се доверявате. Всички сертификати за конкретни домейни се генерират в реално време и се подписват с кореновия сертификат на Proxyman. За iOS симулатора, сертификатът се инсталира автоматично при стартиране на проксито.

js
// Примерен скрипт на Proxyman за модификация на отговор
// Scripting: променяме състоянието на отговора на 500 за тестване на грешки
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

Proxyman предлага уникален набор от функции, които го различават от другите прокси инструменти. Специален акцент е поставен върху скриптовата модификация на трафика и нативната производителност.

Scripting — модификация чрез JavaScript

Основната характеристика на Proxyman — подкрепа за JavaScript скриптове за модификация на заявки и отговори. Вместо да редактирате ръчно всяка заявка чрез Breakpoints (като в Charles), разработчикът може да напише скрипт, който ще се прилага автоматично към определени URL. Скриптовете имат пълен достъп до хедърите, тялото на заявката и отговора, състоянието код и метаданни. Това позволява автоматизация на рутинни операции: смяна на авторизационен токен, промяна на хедъри, емулация на грешки за тестване.

Филтрация и организация на трафика

Proxyman предлага гъвка система от филтри, базираща се на правила. Можете да създавате профили, които автоматично групират трафика по домейни, типове съдържание или състояние кодове. Например, всички заявки към API на вашето приложение автоматично попадат в отделна група, а статичното съдържание (CSS, JS, изображения) — в друга. Това е особенно удобно при дебагване, когато трябва да се съсредоточите само върху определени ендпоинти.

ФункцияProxymanCharles ProxyБележка
ScriptingJavaScriptНеАвтоматична модификация без Breakpoints
iOS SimulatorАвтоматичноРъчна настройкаProxyman открива симулатора чрез Xcode
Безплатна версияДа30 дни trialProxyman — без времево ограничение
ПлатформаmacOS, iOSWindows, macOS, LinuxCharles кросплатформен, Proxyman — само Apple
HAR ExportДаДаИ двете поддържат стандартния формат

Визуализация на времевата линия

Proxyman показва времева линия на заявките в стил на времева диаграма, където всяка заявка е представена като цветна лента с информация за продължителност, състояние и размер. Линията е интерактивна: можете да изберете времеви интервал и да видите само заявките от този период. За всяка заявка е налично разделение на фазите: DNS, Connect, TLS Handshake, Request, Response.

Proxyman iOS Companion

Уникална възможност на Proxyman — отделно приложение за iOS, което може да се инсталира на iPhone или iPad. То позволява преглед на мрежов трафик директно на устройството без връзка с компютър. Трафикът се показва в реално време с възможност за филтриране и търсене. Приложението е особенно полезно при полеви тестове, когато няма достъп до компютър.

Настройка на Proxyman за мобилни устройства

Proxyman предлага различни начини на настройка за iOS и Android. Благодарение на нативната интеграция с Xcode, настройката за iOS симулатора е практически автоматична. За физическите устройства и Android се изисква ръчна конфигурация.

Настройка за iOS Simulator

Най-простият сценарий: пуснете Proxyman, отворете раздела iOS Simulator и натиснете Start. Proxyman ще открие автоматично работещите симулатори чрез Xcode и ще настрои проксито. HTTPS сертификатът също се инсталира автоматично. Не са необходими допълнителни действия — трафикът на симулатора се появява веднага в прозореца на Proxyman. Това е значително предимство пред Charles, където настройката на симулатора изисква ръчно настрояване на проксито.

Настройка за физическо iOS устройство

За iPhone или iPad: свържете устройството към същата WiFi мрежа като компютъра. В WiFi настройките на устройството посочете HTTP Proxy: IP адреса на компютъра и порт 9090 (подразбираем порт на Proxyman). След това отворете Safari и отидете на http://proxy.man/ssl за инсталиране на сертификата. На iOS 10.3+ включете доверие на сертификата в Settings → General → About → Certificate Trust Settings.

Настройка за Android

Android устройствата се конфигурират подобно на iOS: WiFi Proxy с IP адреса на компютъра и порт 9090. За HTTPS се изисква инсталиране на сертификат чрез браузър на http://proxy.man/ssl. На Android 7+ за debug компилация на приложението ще е необходим файл network_security_config.xml с доверие на потребителските сертификати. За Android емулатора използвайте IP адреса на хоста (обикновено 10.0.2.2) вместо IP на компютъра.

xml
<!-- network_security_config.xml за Android с 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: сравнение

Изборът между Proxyman и Charles Proxy зависи от конкретните нужди на екипа и платформата за разработка. Нека разгледаме ключовите разлики, за да помогнем на разработчика да вземе обосновано решение.

Производителност и нативност

Proxyman е написан на Swift с AppKit, което осигурява нативна macOS производителност и минимална потреба от памет. Charles е написан на Java (Eclipse RCP), което предоставя кросплатформеност, но може да доведе до леко по-висока потреба от памет и ненативен интерфейс на macOS. За разработчиците от екосистемата на Apple, Proxyman обикновено се усеща като по-отзивчив.

Функционални разлики

Charles предлага по-зрял и по-широк набор от инструменти: Rewrite Rules с визуален редактор, Repeat за повтаряне на заявки, Map Local/Remote, Auto Save на сесиите. Proxyman отговаря с по-модерни функции: Scripting на JavaScript, автоматична конфигурация на симулатора, iOS-companion за преглед на трафик на устройството. Charles има предимство при сложни сценарии за автоматизация (Rewrite, Repeat), а Proxyman — при бърза и гъвка модификация чрез скриптове.

Цена и лицензиране

Proxyman предлага безплатна версия с основна функционалност без времево ограничение. Pro версията (абонамент ~$12/година или еднократна покупка ~$59) отключва предим функции: scripting, филтри, експорт. Charles — $50 за лиценз с 30-дневен trial. За независимите разработчици, Proxyman е по-достъпен; за корпоративните среди, разликата е незначителна.

Често задавани въпроси

Безплатен ли е Proxyman?

Proxyman има безплатна версия с основна функционалност за прехващане на HTTP/HTTPS трафик без времево ограничение. Платените абонаменти (Pro и Team) добавят scripting, предим филтри, експорт в HAR и приоритетна подкрепа. За повечето задачи за дебагване безплатната версия е достатъчна.

Поддържа ли Proxyman Android?

Proxyman е нативно macOS приложение, но може да прехваща трафик от Android устройства чрез WiFi Proxy като Charles. Android устройствата се конфигурират като HTTP-прокси с IP адреса на компютъра и порта на Proxyman. За Android емулатора се използва IP 10.0.2.2. HTTPS сертификатът се инсталира отделно.

Как да променя отговора на сървъра в Proxyman?

Има два начина: Local Edit — двойно щракване на заявка, избор на раздел Response, ръчна редакция, след това бутонът Execute за изпращане на променения отговор към приложението. Scripting — написване на JavaScript скрипт, който автоматично прилага промени към посочените URL при всяка заявка.

Мога ли да експортирам данни от Proxyman?

Да, Proxyman поддържа експорт в формати: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (за всяка заявка), Plain Text. Експортът е наличен чрез контекстното меню на заявка или група от заявки. HAR форматът е съвместим с Charles Proxy, Chrome DevTools и онлайн прегледачите.

Как Proxyman работи с iOS Simulator?

Proxyman автоматично открива работещите iOS Simulatorи чрез Xcode и пренасочва тяхния трафик без ръчна конфигурация. При стартиране на проксито, Proxyman прилага системен прокси чрез Network Extension на macOS, който се прилага автоматично към всички симулатори. HTTPS сертификатът също се инсталира автоматично.

Заключение

  • Proxyman е нативен прокси клиент за macOS и iOS с модерен Swift интерфейс, създаден като алтернатива на Charles Proxy за екосистемата на Apple
  • Scripting на JavaScript — уникална функция, позволяваща автоматична модификация на заявки и отговори без Breakpoints, ускорявайка тестването на пределните случаи
  • Автоматичната настройка за iOS симулатора чрез Xcode без ръчно настрояване на прокси — ключово предимство пред Charles
  • iOS Companion — отделно приложение за преглед на трафик директно на iPhone или iPad без връзка с компютър
  • Производителност благодарение на нативните Swift/AppKit рамки — по-ниска потреба от памет в сравнение с Java решенията
  • Безплатната версия с пълна основна функционалност без времеви ограничения подходяща за повечето задачи на дебагване
  • За кросплатформена разработка (Windows + macOS + Linux) изберете Charles Proxy, за чист Apple екосистема — Proxyman осигурява по-добро потребителско изживяване

Ще разработим мобилно приложение под ключ

IT Sectr създава iOS и Android приложения за стартъпи и бизнеси от 2017 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също