Proxyman — это нативный прокси-клиент для macOS и iOS, предназначенный для перехвата, просмотра и модификации HTTP/HTTPS-трафика при разработке приложений. По данным официального сайта Proxyman (2025), инструмент используется более чем в 10 000 компаний и поддерживает все современные версии iOS и macOS. Прокси-клиент предлагает бесплатную базовую версию и отличается от Charles Proxy более современным интерфейсом, поддержкой скриптов на JavaScript для модификации данных на лету и встроенной совместимостью с iOS-симулятором.
Главное
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 работает по стандартному MITM-принципу: приложение настраивается как системный прокси, через который проходит весь HTTP/HTTPS-трафик. Инструмент использует нативные механизмы macOS Network Extension для перехвата трафика без необходимости ручной настройки прокси для iOS-симулятора.
На macOS Proxyman использует Apple Network Framework для прозрачного перехвата трафика. При активации прокси Proxyman создаёт виртуальный сетевой интерфейс, через который проходит трафик всех приложений. Для iOS-симулятора настройка происходит автоматически при запуске — Proxyman через Xcode определяет запущенные симуляторы и перенаправляет их трафик без ручной установки proxy в настройках.
Для дешифровки HTTPS Proxyman устанавливает локальный корневой сертификат в системную связку ключей macOS. При первом запуске программа предлагает установить сертификат и доверять ему. Все сертификаты для конкретных доменов генерируются на лету и подписываются корневым сертификатом Proxyman. Для iOS-симулятора сертификат устанавливается автоматически при запуске прокси.
// Пример скрипта 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 — поддержка скриптов на JavaScript для модификации запросов и ответов. Вместо того чтобы вручную редактировать каждый запрос через Breakpoints (как в Charles), разработчик может написать скрипт, который будет автоматически применяться к определённым URL. Скрипты поддерживают полный доступ к заголовкам, телу запроса и ответа, статус-коду и метаданным. Это позволяет автоматизировать рутинные операции: подмена токена авторизации, изменение заголовков, эмуляция ошибок для тестирования.
Proxyman предлагает гибкую систему фильтров на основе правил. Можно создать профили, которые автоматически группируют трафик по доменам, типам контента или статус-кодам. Например, все запросы к API вашего приложения автоматически попадают в отдельную группу, а статика (CSS, JS, изображения) — в другую. Это особенно удобно при отладке, когда нужно сфокусироваться только на определённых эндпоинтах.
| Функция | Proxyman | Charles Proxy | Примечание |
|---|---|---|---|
| Scripting | JavaScript | Нет | Автоматическая модификация без Breakpoints |
| iOS Simulator | Автоматически | Ручная настройка | Proxyman определяет симулятор через Xcode |
| Бесплатная версия | Да | 30 дней trial | Proxyman — без ограничения по времени |
| Платформа | macOS, iOS | Windows, macOS, Linux | Charles кроссплатформенный, Proxyman — только Apple |
| HAR Export | Да | Да | Оба поддерживают стандартный формат |
Proxyman отображает временную шкалу запросов в стиле временной диаграммы, где каждый запрос представлен цветной полосой с указанием длительности, статуса и размера. Шкала интерактивна: можно выделить диапазон времени и увидеть только запросы за этот период. Для каждого запроса доступна фазовая разбивка: DNS, Connect, TLS Handshake, Request, Response.
Уникальная возможность Proxyman — отдельное приложение для iOS, которое можно установить на iPhone или iPad. Оно позволяет просматривать сетевой трафик непосредственно на устройстве без подключения к компьютеру. Трафик отображается в реальном времени с возможностью фильтрации и поиска. Приложение особенно полезно при полевом тестировании, когда нет доступа к компьютеру.
Proxyman предлагает разные способы настройки для iOS и Android. Благодаря нативной интеграции с Xcode, настройка для iOS-симулятора происходит практически автоматически. Для физических устройств и Android требуется ручная конфигурация.
Самый простой сценарий: запустите Proxyman, откройте вкладку iOS Simulator и нажмите Start. Proxyman автоматически определит запущенные симуляторы через Xcode и настроит прокси. Сертификат HTTPS также устанавливается автоматически. Никаких дополнительных действий не требуется — трафик симулятора сразу появляется в окне Proxyman. Это значительное преимущество перед Charles, где настройка симулятора требует ручной установки прокси.
Для iPhone или iPad: подключите устройство к той же WiFi-сети, что и компьютер. В настройках WiFi устройства укажите HTTP Proxy: IP-адрес компьютера и порт 9090 (порт по умолчанию Proxyman). Затем откройте Safari и перейдите на http://proxy.man/ssl для установки сертификата. На iOS 10.3+ обязательно включите доверие сертификату в Settings → General → About → Certificate Trust Settings.
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 компьютера.
<!-- 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 и 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 имеет бесплатную версию с базовым функционалом для перехвата HTTP/HTTPS-трафика без ограничения по времени. Платные подписки (Pro и Team) добавляют скриптинг, продвинутые фильтры, экспорт в HAR и приоритетную поддержку. Для большинства задач отладки достаточно бесплатной версии.
Proxyman — нативное macOS-приложение, но может перехватывать трафик с Android-устройств через WiFi Proxy аналогично Charles. Android-устройства настраиваются как HTTP-прокси с IP-адресом компьютера и портом Proxyman. Для Android-эмулятора используется IP 10.0.2.2. Сертификат HTTPS устанавливается отдельно.
Есть два способа: Local Edit — двойной клик по запросу, выбор вкладки Response, редактирование вручную, затем кнопка Execute для отправки модифицированного ответа приложению. Scripting — написать JavaScript-скрипт, который автоматически применяет изменения к указанным URL при каждом запросе.
Да, Proxyman поддерживает экспорт в форматы: HAR (HTTP Archive), Proxyman Session (.pxm), Curl Command (для каждого запроса), Plain Text. Экспорт доступен через контекстное меню на запросе или группе запросов. HAR-формат совместим с Charles Proxy, Chrome DevTools и онлайн-вьюверами.
Proxyman автоматически определяет запущенные iOS Simulator'ы через Xcode и перенаправляет их трафик без ручной настройки. При запуске прокси Proxyman внедряет системный proxy через Network Extension на macOS, который автоматически применяется ко всем симуляторам. Сертификат HTTPS также устанавливается автоматически.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также