GeekProxy в OpenClaw и Browser Use
У AI-агента два вида трафика: его собственные вызовы к LLM-провайдеру и каналам, и Chromium, которым он ходит по сайтам. OpenClaw и Browser Use задают прокси для каждой половины в разных местах, а у браузерной половины есть жёсткий предел, и он идёт от самого Chromium. В гайде оба инструмента и обе половины.
Что нужно: активный план GeekProxy и данные прокси из кабинета. Каждая правка конфига занимает пару минут; чтобы запустить агента, нужен ещё ключ LLM API.
Получить прокси1 Перед началом
Сначала про предел, потому что он решает, какой план покупать. У ключа Chromium --proxy-server нет поля для логина и пароля, а SOCKS-аутентификации в Chromium нет вообще. Инструмент, который управляет Chromium, может добавить данные доступа только для HTTP-прокси: ответить на 407 браузера через CDP. Browser Use так и делает. У OpenClaw для управляемого браузера такой механизм не описан. Поэтому правило для браузерной части простое: HTTP с логином и паролем там, где инструмент это умеет, иначе SOCKS5 или HTTP с белым списком IP. SOCKS5 с паролем не работает ни в одном из двух браузеров.
- Runtime-прокси OpenClaw (
proxy.proxyUrl) принимает URLhttp://илиhttps://с данными доступа. Он накрывает процесс шлюза, но не браузер - Управляемый браузер OpenClaw берёт голый флаг Chromium в
browser.extraArgs, без логина и пароля, значит белый список IP - Browser Use берёт объект
ProxySettingsс полямиserver,bypass,usernameиpassword. Данные доступа работают только для HTTP-прокси - Ни один из двух не читает
HTTP_PROXYдля браузера. Не задавайте его в надежде, что Chrome заметит
Что понадобится
- Активный план GeekProxy (резидентские, ISP или датацентр)
- Данные прокси из кабинета: хост, порт, логин, пароль
- Установленный OpenClaw с его управляемым Chromium, либо Python с
pip install browser-useи локальным Chromium
- Поле Откуда взять
- Протокол HTTP
- Хост IP или имя шлюза из кабинета
- Порт из кабинета
- Логин из кабинета
- Пароль из кабинета
2 Где взять данные прокси
- Войдите в кабинет GeekProxy
- Откройте план. У планов с оплатой за IP (датацентр, ISP) список адресов, порты, логин и пароль лежат прямо на карточке, а кнопка Export отдаёт весь список текстом
- У резидентских и мобильных планов нажмите Options. Панель Proxy Configuration соберёт строку логина с вашей страной, городом и настройками сессии. Готовую строку копируйте из Proxy List
Задача агента это череда загрузок страниц, которая должна выглядеть как один посетитель. Соберите sticky-логин: на Residential Turbo это session_id с session_time до 1440 минут, на Flex session_time до 120 минут. Строку панель соберёт сама.
3 OpenClaw: собственный трафик агента
В OpenClaw есть управляемый прокси для всего, что шлёт процесс шлюза: вызовы LLM-провайдера, подключения каналов, web_fetch. Ключ конфига proxy.proxyUrl, переменная OPENCLAW_PROXY_URL запасной вариант; если заданы оба, побеждает конфиг. Данные доступа идут в URL, и документация говорит, что они считаются чувствительными и вырезаются из снапшотов и логов.
openclaw config set proxy.proxyUrl http://LOGIN:PASSWORD@IP:PORT openclaw gateway install --force openclaw gateway start # или в foreground: OPENCLAW_PROXY_URL=http://LOGIN:PASSWORD@IP:PORT openclaw gateway run
Схема описывает путь до прокси. С http:// OpenClaw открывает обычный TCP до прокси и шлёт HTTP-запросы прокси, включая CONNECT для HTTPS-целей, ровно то, чего ждёт порт GeekProxy. Покрытие намеренно широкое: fetch, клиенты на undici, node:http и node:https, распространённые WebSocket-клиенты. Вдобавок он подменяет Node-агенты, переданные вызывающим кодом, так что axios, got или node-fetch внутри плагина мимо прокси не проскочат. Сырой код на net, tls и http2 и дочерние процессы могут его обойти, а IRC это сырой TCP, он не проксируется.
Перед перезапуском шлюза выполните openclaw proxy validate --proxy-url http://LOGIN:PASSWORD@IP:PORT. Команда тянет example.com через прокси и проверяет, что loopback-канарейка заблокирована; данные доступа в выводе скрыты. Проверка задумана для прокси с фильтрацией egress, но выход GeekProxy её проходит: ошибка транспорта на канарейке считается блокировкой.
SOCKS5 здесь не вариант. Документация определяет proxy.proxyUrl как URL forward-прокси http:// или https://, и ничего другого.
4 OpenClaw: управляемый браузер
proxy.proxyUrl до браузера не доходит. Страница настройки браузера говорит прямо: переменные шлюза HTTP_PROXY, HTTPS_PROXY, ALL_PROXY и NO_PROXY управляемый браузер не проксируют. Управляемый Chrome по умолчанию стартует напрямую, чтобы настройки прокси не ослабляли его SSRF-проверки. Чтобы пустить браузер через прокси, флаги Chrome передают через browser.extraArgs в ~/.openclaw/openclaw.json.
{
proxy: {
proxyUrl: "http://LOGIN:PASSWORD@IP:PORT"
},
browser: {
extraArgs: ["--proxy-server=http://IP:PORT"],
// ssrfPolicy: { dangerouslyAllowPrivateNetwork: true } // только если strict SSRF mode блокирует флаг прокси
}
}
Заметьте, чего нет в блоке browser: логина и пароля. Флаг родной для Chromium, поля для данных доступа у него нет, а обработчика, который отвечал бы на 407 прокси, OpenClaw не описывает. Значит браузеру нужен план в режиме белого списка с публичным IP хоста шлюза в списке. Документация добавляет условие: strict SSRF mode блокирует явную маршрутизацию браузера через прокси, пока доступ к приватной сети не включён намеренно, для этого и закомментированная строка. Проверки готовности CDP и WebSocket DevTools идут мимо прокси для запущенного loopback-адреса, так что openclaw browser start продолжает работать.
Это касается Chrome, который запускает сам OpenClaw. С удалённым CDP или хостинг-провайдером браузера OpenClaw браузер не стартует, и флагу не к чему цепляться. Проксирование тогда возможно только через настройки самого провайдера.
5 Browser Use
Browser Use из двух дружелюбнее. Параметр proxy у Browser (или BrowserProfile) принимает объект ProxySettings с четырьмя полями: server, bypass, username и password. В документации он лежит в разделе Network and Security.
from browser_use import Agent, Browser
from browser_use.browser.profile import ProxySettings
browser = Browser(
proxy=ProxySettings(
server="http://IP:PORT",
bypass="localhost,127.0.0.1",
username="LOGIN",
password="PASSWORD",
),
)
agent = Agent(task="Open https://ipinfo.io/json and read the ip field", browser=browser, llm=llm)
Стоит знать, как данные доступа попадают внутрь, потому что это объясняет предел с SOCKS5. server и bypass превращаются во флаги Chromium для прокси-сервера и списка исключений. Логин и пароль флагами не становятся. Browser Use включает CDP Fetch с обработкой авторизации и отвечает вашими данными на каждое событие Fetch.authRequired, где челлендж пришёл от прокси. PR с поддержкой аутентифицированных прокси (#2738, влит 2025-08-21) формулирует это одной фразой: у CDP нет аргумента командной строки для данных прокси, поэтому их отдают через события Fetch. HTTP-прокси этот 407 поднимает. Сервер socks5:// не поднимает никогда, и данные просто не отправляются. SOCKS5 здесь означает белый список IP.
Те же четыре значения можно задать через окружение, это видно в исходниках: BROWSER_USE_PROXY_URL для сервера, BROWSER_USE_NO_PROXY для списка исключений, BROWSER_USE_PROXY_USERNAME и BROWSER_USE_PROXY_PASSWORD. В .env.example репозитория до сих пор стоит старое имя BROWSER_USE_PROXY_SERVER, которое загрузчик не читает. Берите вариант с _URL.
Не задавайте HTTP_PROXY процессу Browser Use. Chromium игнорирует его на macOS и Windows, а на старых версиях он ломал собственные CDP-вызовы Browser Use на localhost под Windows (issue #4050, JSONDecodeError на /json/version). Исправления вошли в PR #4055, #4063, #4070 и #5080, но место прокси всё равно в ProxySettings. И помните: ProxySettings накрывает только браузер, вызовы LLM с Python-стороны идут напрямую.
6 Проверка работы
Дайте агенту одну задачу: открыть https://ipinfo.io/json и прочитать поле ip. Поле ip должно показать адрес прокси, а не машины. На ISP или датацентре это адрес из кабинета, на Residential или Turbo любой адрес из пула в выбранной стране. Для OpenClaw хватит openclaw browser start и вкладки с тем же URL, без расхода токенов. Для стороны шлюза проверка это openclaw proxy validate.
7 Какой продукт GeekProxy подходит
Браузерная половина ходит по обычным сайтам, поэтому ей нужен резидентский выход, который не меняется всю задачу: Residential Turbo со sticky-сессией или Residential Flex с сессией до 120 минут и фильтром выхода -os-windows. В Browser Use это HTTP с логином и паролем. Для браузера OpenClaw, который пароль отправить не может, берите план с белым списком IP; статический адрес датацентра или ISP с хостом шлюза в списке это самая простая схема. Собственному трафику агента к LLM и каналам ротация ни к чему: один постоянный адрес, статический ISP или датацентр IPv4, без счётчика трафика. Для браузерной части никогда не SOCKS5.
8 Частые проблемы
OpenClaw: браузер по-прежнему показывает мой IP
proxy.proxyUrl браузер не накрывает. Добавьте browser.extraArgs с флагом --proxy-server и перезапустите браузер.
OpenClaw: флаг прокси отвергается
Strict SSRF mode блокирует явную маршрутизацию браузера через прокси. Включите доступ к приватной сети намеренно, как описано в документации, или не включайте строгий режим.
OpenClaw: 407 от прокси браузера
В блоке browser пароль положить некуда. Переведите план в режим белого списка и добавьте публичный IP хоста.
Browser Use: данные заданы, но всё равно 407 или пустая страница
В server стоит socks5://. Chromium не поднимает челлендж авторизации для SOCKS, и логин с паролем не используются. Берите HTTP-порт плана или SOCKS5 с IP в белом списке.
Browser Use: CDP не стартует на Windows
В окружении есть переменная HTTP_PROXY. Уберите её, обновите Browser Use и держите прокси в ProxySettings.
Прокси для AI-агентов
Sticky-сессии резидентских для браузера, статические IP для API-трафика агента, выдача за секунды.
Заказать