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 определяет запущенные симуляторы и перенаправляет их трафик без ручной установки proxy в настройках.

Обработка 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), что даёт кроссплатформенность, но может приводить к slightly более высокому потреблению памяти и не нативному интерфейсу на macOS. Для разработчиков под Apple-экосистему Proxyman обычно ощущается более отзывчивым.

Функциональные отличия

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

Стоимость и лицензирование

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

Часто задаваемые вопросы

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

Proxyman имеет бесплатную версию с базовым функционалом для перехвата HTTP/HTTPS-трафика без ограничения по времени. Платные подписки (Pro и Team) добавляют скриптинг, продвинутые фильтры, экспорт в 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 внедряет системный proxy через 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 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также