BrowserMob Proxy в 2026 году: практическая настройка с личным VPS
Как в 2026 году использовать BrowserMob Proxy через REST API с личным VPS SANSARA для захвата HAR‑файлов и управления HTTP‑трафиком в тестах на C/C++, Python, Java, Node.js и мобильных устройствах.
Чтобы автоматизировать сбор HAR‑файлов и управлять HTTP‑запросами через BrowserMob Proxy в 2026 году, запустите прокси‑сервер на своём личном VPS от SANSARA и подключитесь к его REST API из тестового кода на Python, Java, Node.js или из C/C++ через HTTP‑клиент. В SANSARA это делается за несколько шагов: регистрация → выбор локации → запуск личного сервера → импорт конфигурации в клиент на телефоне или компьютере. Вы получаете выделенный узел с фиксированным IP‑адресом, через который BrowserMob Proxy будет перехватывать трафик браузера или мобильного приложения.
Коротко:
- BrowserMob Proxy — это Java‑прокси для захвата HAR‑файлов и модификации HTTP‑запросов/ответов.
- Проект поддерживается в режиме legacy; в 2026 году работает, но актуальных обновлений нет.
- Основной способ работы — REST API, к которому можно подключиться из любого языка программирования.
- На личном VPS SANSARA можно запустить BrowserMob Proxy как отдельный сервис с постоянным портом.
- HAR‑файлы сохраняются на сервере или скачиваются по API для анализа производительности.
Что это и кому подходит
BrowserMob Proxy (BMP) — это инструмент для перехвата и анализа HTTP‑трафика. Он запускается как прокси‑сервер между браузером (или приложением) и внешними серверами, записывает все запросы и ответы в формате HAR и позволяет подменять заголовки, ограничивать скорость, менять DNS‑записи и т.д. <source-chip title="GitHub" url="https://github.com/lightbody/browsermob-proxy" />
В 2026 году BrowserMob Proxy остаётся рабочим решением, но проект не обновляется активно; последние версии относятся к более ранним годам. Тем не менее, его REST API стабилен и используется в автоматизированных тестах, нагрузочном тестировании и отладке мобильных приложений.
Кому подходит:
- Тестировщикам и разработчикам, которые хотят автоматически собирать HAR‑файлы из Selenium‑тестов.
- Инженерам по производительности, которым нужно анализировать сетевой трафик в контролируемых условиях.
- Разработчикам мобильных приложений, которые тестируют API‑запросы с реальных устройств.
- Тем, кто работает с C/C++ и хочет интегрировать сбор HAR‑данных через HTTP‑клиент (curl, libcurl и т.п.).
Для C/C++ нет готовой библиотеки «browsermob proxy c», но есть REST API, к которому можно обращаться через обычные HTTP‑запросы. <source-chip title="npm browsermob-proxy-api" url="https://www.npmjs.com/package/browsermob-proxy-api" />
Как настроить по шагам (с личным VPS SANSARA)
1. Запустите личный VPS в SANSARA
- Зарегистрируйтесь в SANSARA и выберите тариф с личным VPS.
- В кабинете выберите локацию (доступно 9+ стран в Европе и других регионах).
- Запустите сервер — панель управления уже установлена, терминал не требуется.
- После активации вы получите данные для подключения: IP‑адрес, логин, пароль, конфигурационный файл для импорта.
Ваш трафик будет идти через выделенный узел SANSARA, а не через общий пул. Это важно для стабильности прокси‑сервера BrowserMob.
2. Установите Java и BrowserMob Proxy на VPS
Подключитесь к VPS по SSH (если нужен доступ к консоли) или используйте встроенную панель управления для загрузки файлов.
- Убедитесь, что на сервере установлена Java 8 или выше.
- Скачайте последнюю версию BrowserMob Proxy (обычно JAR‑файл) с GitHub‑репозитория. <source-chip title="GitHub" url="https://github.com/lightbody/browsermob-proxy" />
- Разместите JAR в удобной директории, например /opt/browsermob-proxy/.
3. Запустите BrowserMob Proxy как сервис
Пример команды для запуска в standalone‑режиме:
`bash java -jar browsermob-proxy-2.1.5.jar --port 8080 `
Здесь 8080 — порт, на котором будет слушать REST API. Настройте firewall так, чтобы этот порт был доступен извне, если вы хотите обращаться к API с локальной машины или других устройств.
Чтобы сервис работал постоянно, можно создать systemd‑юнит или использовать screen/tmux. На VPS SANSARA процесс будет работать стабильно, потому что узел не перегружен общим трафиком.
4. Настройте клиент для работы с REST API
REST API BrowserMob Proxy позволяет:
- создавать и останавливать прокси‑сессии;
- указывать порт прокси для браузера;
- включать/выключать запись HAR;
- скачивать HAR‑файл.
Примеры клиентов:
- Python: используйте пакет browsermob-proxy-py с PyPI. <source-chip title="Python docs" url="https://browsermob-proxy-py.readthedocs.io/" />
- Node.js: пакет browsermob-proxy-api предоставляет обёртку над REST API. <source-chip title="npm" url="https://www.npmjs.com/package/browsermob-proxy-api" />
- Java: встроенная библиотека или прямой вызов REST через HttpClient.
- C/C++: используйте libcurl или другую HTTP‑библиотеку для отправки POST/GET к эндпоинтам вида http://your-vps-ip:8080/proxy.
Примерная последовательность для любого языка:
- 01POST на /proxy → получаем порт нового прокси (например, 9090).
- 02Настраиваем браузер или приложение использовать your-vps-ip:9090 как прокси.
- 03POST на /proxy/{port}/har с параметрами (например, captureHeaders=true).
- 04Выполняем тестовый сценарий.
- 05GET на /proxy/{port}/har → получаем HAR‑файл.
Устройства: iPhone, Android, Windows, macOS
iPhone и Android
На мобильных устройствах проще всего использовать Telegram‑бота SANSARA:
- Откройте Telegram‑бота SANSARA.
- Выберите свой личный сервер и скачайте конфигурационный файл.
- Импортируйте его в поддерживаемое приложение на телефоне.
После этого весь трафик устройства пойдёт через ваш VPS. Чтобы направить его через BrowserMob Proxy:
- На VPS настройте перенаправление трафика с порта туннеля SANSARA на локальный порт BrowserMob Proxy (например, с помощью iptables или прокси‑правил).
- В тестовом коде укажите IP VPS и порт BrowserMob Proxy как прокси для мобильного приложения или эмулятора.
Так вы сможете записывать HAR‑файлы с реальных мобильных устройств.
Windows и macOS
На десктопе порядок похож:
- В кабинете SANSARA скачайте конфигурацию для Windows или macOS.
- Импортируйте её в клиентское приложение.
- Убедитесь, что весь трафик идёт через личный сервер SANSARA.
Далее:
- В настройках браузера или Selenium‑драйвера укажите прокси: IP вашего VPS и порт, который вернул BrowserMob Proxy (например, your-vps-ip:9090).
- Запустите тест; HAR будет записываться на сервере, а затем скачан через REST API.
Для Selenium на Python примерный код:
`python from browsermobproxy import Server server = Server("path/to/browsermob-proxy") server.start() proxy = server.create_proxy()
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument(f"--proxy-server={proxy.proxy}") driver = webdriver.Chrome(options=options)
proxy.new_har("test") driver.get("https://example.com") har = proxy.har server.stop() `
Частые ошибки и как их избежать
- 01Порт 8080 занят или заблокирован
На VPS порт может быть занят другим сервисом или закрыт firewall. Проверьте netstat -tulpn и откройте порт в настройках безопасности. Лучше использовать порт выше 1024, например 8080, 9090.
- 01BrowserMob Proxy падает при большом трафике
Убедитесь, что на VPS достаточно памяти и CPU. В SANSARA личный узел не делится с другими пользователями, поэтому проблема обычно в настройках Java: увеличьте -Xmx при запуске JAR.
- 01HAR‑файл пустой или неполный
Убедитесь, что:
- браузер/приложение действительно использует прокси (проверьте настройки);
- вы вызвали new_har до начала теста;
- в HAR включены заголовки и тела запросов (captureHeaders=true, captureContent=true).
- 01Не удаётся подключиться к REST API с локальной машины
Проверьте, что IP VPS доступен извне и порт прокси не блокируется межсетевым экраном. Если вы работаете из корпоративной сети, возможны ограничения; в таком случае используйте туннель SANSARA как шлюз.
- 01Ошибки сертификатов на HTTPS‑сайтах
BrowserMob Proxy использует собственный CA‑сертификат для MITM‑расшифровки HTTPS. На мобильных устройствах и некоторых браузерах нужно явно доверять этому сертификату. Скачайте его с сервера и установите в доверенные на устройстве.
FAQ
Есть ли готовая библиотека BrowserMob Proxy для C/C++?+
Нет, отдельной библиотеки «browsermob proxy c» не существует. Но BrowserMob Proxy предоставляет REST API, к которому можно обращаться из C/C++ через любую HTTP‑библиотеку (libcurl, cpprest и др.). Вы отправляете POST/GET запросы к эндпоинтам вроде /proxy и /proxy/{port}/har.
Можно ли использовать BrowserMob Proxy без Java на сервере?+
Нет, сам прокси‑сервер написан на Java и требует JRE для запуска. Но клиентская часть может быть на любом языке: Python, Node.js, C/C++ и т.д., поскольку общение идёт через HTTP.
Поддерживает ли BrowserMob Proxy HTTP/2 и современные стандарты?+
В оригинальном BrowserMob Proxy поддержка ограничена; для более современных возможностей (HTTP/2, Brotli и др.) есть форк BrowserUp Proxy. <source-chip title="RubyDoc" url="https://www.rubydoc.info/gems/browsermob-proxy" /> Если вам нужны именно эти фичи, рассмотрите переход на BrowserUp.
Как гарантировать, что трафик идёт именно через BrowserMob Proxy, а не напрямую?+
На стороне VPS настройте маршрутизацию так, чтобы весь входящий трафик с порта туннеля SANSARA перенаправлялся на порт BrowserMob Proxy. На клиенте убедитесь, что в настройках сети указан IP VPS и порт прокси, а не прямое соединение.
Можно ли использовать несколько экземпляров BrowserMob Proxy на одном VPS?+
Да, каждый экземпляр должен слушать на уникальном порту. Вы можете запустить несколько JAR‑процессов с разными --port или использовать Docker‑контейнеры, если на VPS установлен Docker.
Сравнение подходов к использованию прокси в тестах
| Подход | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| BrowserMob Proxy на личном VPS | Полный контроль, HAR‑запись, модификация запросов, выделенный IP | Требует настройки сервера и Java | Автоматизированные тесты, нагрузочное тестирование, анализ трафика |
| Встроенные прокси браузера (Chrome DevTools) | Простая настройка, не нужен сервер | Нет API для автоматизации, только ручной экспорт HAR | Разовая отладка вручную |
| Сетевые снифферы (Wireshark и др.) | Глубокий анализ всех пакетов | Сложность фильтрации HTTP, нет встроенного HAR | Низкоуровневая диагностика сети |
| Облачные прокси‑сервисы | Готовые API, георазнообразие | Общие IP, ограничения по трафику и протоколам | Скрейпинг, обход блокировок |
Итог
- Запустите BrowserMob Proxy на личном VPS от SANSARA: Java + JAR‑файл, порт для REST API.
- Настройте туннель SANSARA так, чтобы трафик устройств шёл через ваш выделенный узел.
- Подключитесь к REST API из тестового кода на Python, Java, Node.js или C/C++ для создания прокси‑сессий и получения HAR‑файлов.
- Для мобильных устройств используйте импорт конфигурации через Telegram‑бота SANSARA и перенаправление трафика на порт BrowserMob Proxy.
- Следите за портами, сертификатами и настройками прокси, чтобы HAR был полным и трафик не уходил в обход.
Ещё по теме
Читайте также
CTA · SANSARA
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.