Сопоставление прокси-серверов по GeoIP¶
Сопоставление прокси по GeoIP обеспечивает согласованность настроек «отпечатка» браузера с местоположением прокси, используемого вышестоящим Playwright MCP. Это полезно, когда региональное тестирование качества зависит от постоянного прокси, часового пояса, языка и профиля локали.
Мост сам по себе не создает и не маршрутизирует прокси-трафик. Маршрутизация прокси-трафика по-прежнему осуществляется вышестоящим Playwright MCP через PLAYWRIGHT_MCP_PROXY_SERVER. Когда включено сопоставление, MCP CloakBrowser определяет настроенное местоположение прокси и добавляет соответствующие флаги запуска CloakBrowser для часового пояса, языка браузера и локаля отпечатка.
Что изменится¶
Когда CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=true, мост может добавить следующие параметры запуска для CloakBrowser:
--fingerprint-timezone--lang--fingerprint-locale
Это позволяет обеспечить внутреннюю согласованность профиля браузера с регионом прокси-сервера. Схемы инструментов Playwright MCP и инструментов браузера, расположенных выше по цепочке, по-прежнему передаются без изменений.
Глобальные настройки¶
Используйте переменные среды на уровне процесса для клиентов stdio и в качестве значений по умолчанию для сеансов Streamable HTTP:
PLAYWRIGHT_MCP_PROXY_SERVER="http://user:pass@proxy.example:8080" \
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=true \
npx -y cloakbrowser-mcp@latest
Добавьте список обхода, если некоторым хостам следует обойти прокси:
PLAYWRIGHT_MCP_PROXY_SERVER="http://user:pass@proxy.example:8080" \
PLAYWRIGHT_MCP_PROXY_BYPASS=".internal,localhost" \
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=true \
npx -y cloakbrowser-mcp@latest
Поддерживаются HTTP-прокси с аутентификацией за счёт встраивания учетных данных в PLAYWRIGHT_MCP_PROXY_SERVER. Специальные символы в учетных данных следует кодировать в формате «процент-кодировки», например, используйте p%40ssword вместо p@ssword.
Настройка Docker¶
Передайте те же переменные в контейнер. По возможности храните учетные данные прокси в вашем менеджере секретов или в среде клиента MCP.
docker run --rm --init -i \
-e PLAYWRIGHT_MCP_PROXY_SERVER="http://user:pass@proxy.example:8080" \
-e CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=true \
-v "$PWD/artifacts:/data" \
swimmwatch/cloakbrowser-mcp:latest
Для Streamable HTTP в Docker опубликуйте HTTP-порт как обычно и оставьте переменные прокси в значениях по умолчанию для среды контейнера:
docker run --rm --init -p 127.0.0.1:3000:3000 \
-e PLAYWRIGHT_MCP_PROXY_SERVER="http://user:pass@proxy.example:8080" \
-e CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=true \
-v "$PWD/artifacts:/data" \
swimmwatch/cloakbrowser-mcp:latest \
--transport streamable-http --http-host 0.0.0.0 --http-port 3000
HTTP-прокси с поддержкой потоковой передачи данных на уровне сеанса¶
HTTP-клиенты с поддержкой потоковой передачи данных могут выбирать прокси-сервер при инициализации сеанса MCP. Это позволяет одному долго работающему серверу MCP обрабатывать запросы из разных регионов без необходимости его перезапуска.
Отправьте метаданные моста в запросе initialize:
{
"params": {
"_meta": {
"io.github.swimmwatch/cloakbrowser-mcp": {
"proxyServer": "http://user:pass@proxy.example:8080",
"proxyBypass": ".internal,localhost",
"geoipProxyMatch": true
}
}
}
}
proxyServer переопределяет PLAYWRIGHT_MCP_PROXY_SERVER для данного HTTP-сеанса. proxyBypass переопределяет PLAYWRIGHT_MCP_PROXY_BYPASS только в том случае, если proxyServer присутствует. Если proxyServer присутствует, а proxyBypass опущен, наследуемая конфигурация обхода прокси для данного сеанса сбрасывается.
geoipProxyMatch переопределяет настройку GeoIP на уровне процесса для данного HTTP- сеанса. Используйте true, чтобы включить сопоставление для сеанса, или false, чтобы отключить его, даже если сервер был запущен с включенным сопоставлением.
Существующие HTTP-сессии являются неизменяемыми. Создайте ещё одну HTTP-сессию Streamable, чтобы переключиться на другой прокси-сервер или другое местоположение.
Если proxyServer содержит учетные данные, следует сохранять их в виде URL-кодированного значения и передавать его через секретные данные или конфигурацию среды выполнения клиента, а не фиксировать в файлах проекта.
Варианты использования¶
- QA локализованной коммерции
Проверяйте оформление заказа, налоги, сообщения о доставке, валюту и региональные правила каталога с часовым поясом и локалью браузера, согласованными с местоположением прокси.
- Региональные лендинги
Проверяйте язык, согласия, кампании и варианты контента, которые зависят от региона посетителя.
- Воспроизведение обращений поддержки
Воспроизводите отчет из региона клиента без перезапуска всего MCP-сервера для каждого местоположения прокси.
- Сценарии, чувствительные к часовому поясу
Проверяйте выбор дат, окна бронирования, напоминания и страницы планирования, где часовой пояс и локаль должны соответствовать сетевому региону.
- Параллельные региональные сеансы
Запускайте отдельные сеансы Streamable HTTP с разными прокси, чтобы агент мог сравнивать несколько регионов в одном серверном процессе.
Приоритет и ограничения¶
| Область | Поведение |
|---|---|
| Stdio | Использует только переменные среды и флаги CLI уровня процесса. |
| Значение по умолчанию Streamable HTTP | Использует переменные среды и флаги CLI уровня процесса, если метаданные времени выполнения не переданы. |
| Метаданные Streamable HTTP | initialize.params._meta["io.github.swimmwatch/cloakbrowser-mcp"] может переопределить прокси и сопоставление GeoIP для одного сеанса. |
| Существующие сеансы | Сохраняют прокси и настройку GeoIP, зафиксированные во время initialize. |
| Маршрутизация прокси | Остается делегированной upstream Playwright MCP. |
| Browser geolocation API | Не настраивается этой функцией; она только согласует часовой пояс, язык и locale fingerprint flags CloakBrowser. |
Данные о местоположении по GeoIP являются приблизительными и зависят от IP-адреса прокси-сервера и базы данных GeoIP CloakBrowser. CloakBrowser загружает и кэширует эту автономную базу данных при первом использовании, когда в ней возникает необходимость.
Используйте эту функцию для проведения надлежащего контроля качества, локализации и тестирования согласованности сред. Её не следует рассматривать как способ обойти средства контроля доступа или проверки региональных политик.
Связанные настройки¶
- Конфигурация содержит список всех переменных среды для моста и вышестоящих компонентов.
- Docker объясняет настройки по умолчанию среды выполнения контейнеров и публикацию Streamable HTTP.
- Инструменты объясняет, почему браузерные инструменты Playwright MCP, расположенные выше по потоку, перенаправляются без изменений.
Дополнительные практические сценарии¶
Для выбора между upstream Playwright MCP и этим пакетом используйте сравнение. Для быстрых задач используйте рецепты: постоянный профиль, расширения, reverse proxy, региональное QA, Claude Desktop, Codex CLI и smoke-тест CI.