Files
protokeyandClaude Opus 5.5 632b959a06 feat: Robotex landing — access by API key, Turnstile passes
- badge and limits: requests need an X-API-Key, the demo instance test key
  is in the Redmine wiki; the example request sends the header
- drop the "early MVP" and "Turnstile is unstable" caveats

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:33:58 +04:00

9.5 KiB

title, tagline, description, domain, badge, post, postLabel, build, sitemap, nav, cta, problem, features, how, engine, limits, community, footer
title tagline description domain badge post postLabel build sitemap nav cta problem features how engine limits community footer
Robotex Браузер для ваших ботов по API Robotex проходит анти-бот защиту, выполняет сценарий на странице и отдает боту куки. Дальше бот работает обычными HTTP запросами. https://robotex.sokolab.xyz/ Бесплатно · демо-ключ в вики /blog/robotex-browser-automation-api Как устроен Robotex
list
never
disable
true
label href
Возможности #features
label href
Как работает #how
label href
Архитектура #engine
label href
Сообщество #community
label href primary
Открыть API https://app.robotex.sokolab.xyz/docs true
label href
Как это работает #how
title lead items text
Зачем это нужно Каждый бот под сайт рано или поздно упирается в одну из трех проблем:
капча
анти-бот защита
сложный JS, который нужно отрендерить, чтобы отправить форму
Паук на сырых HTTP запросах тут бессилен, нужен настоящий браузер. Но браузер тяжелый, его нужно прятать от детекта и держать рядом с ботом. Robotex берет эту работу на себя: браузер включается только там, где без него никак.
title items
Возможности
title text
Сценарии Не просто открыть страницу. Заполнить форму, кликнуть, навести мышь, дождаться элемента, забрать кусок HTML или текст.
title text
Анти-бот страницы Сам находит проверку Cloudflare до и во время сценария и проходит ее, Turnstile в том числе. Если она переросла в капчу с картинками, отправляет в сервис распознавания.
title text
Капча Шаг `captcha` в сценарии решает hCaptcha и другие капчи через 2captcha до отправки формы.
title text
Профили Куки, local storage и отпечаток браузера живут в одном профиле. Локаль и часовой пояс подбираются под гео прокси. Для сайта это все тот же пользователь.
title text
Окно между задачами Браузер может подождать следующего шага до двух часов. Следующая задача выполнится в том же окне, без перезапуска Chrome и повторной проверки, прямо на открытой странице.
title text
Любой язык Это сервис, а не библиотека. Боту нужен только HTTP клиент, на чем он написан, неважно.
title steps code
Как это работает
Бот с API-ключом отправляет в `POST /v2/tasks` адрес, сценарий действий и свой прокси. Задача встает в очередь, в ответ приходит ссылка на результат и кука `session_id`.
Свободный воркер открывает страницу в Chrome, проходит проверки и выполняет сценарий. Бот опрашивает ссылку, пока задача не станет `done`.
Бот получает куки и User-Agent и дальше ходит по сайту сам, **с тем же UA и через тот же прокси**.
Понадобится браузер снова, передаст `session_id`. Если просил подержать окно (`browser_idle_timeout`), задача выполнится в нем, можно даже без `url`. Если нет, Chrome откроется с тем же профилем.
Нужен ответ сразу, без опроса: `POST /v1/solve` работает как раньше, синхронно.
caption body
Задача POST https://app.robotex.sokolab.xyz/v2/tasks X-API-Key: <ключ> { "url": "https://example.com/login", "actions": [ {"type": "fill", "selector": "#email", "value": "user@example.com"}, {"type": "fill", "selector": "#password", "value": "..."}, {"type": "click", "selector": "#submit"}, {"type": "wait_for", "selector": ".dashboard", "timeout": 30} ], "proxy": "http://user:pass@host:port", "browser_idle_timeout": 10 } → 202 {"task_id": "0b9c…", "status": "queued", "url": "/v2/tasks/0b9c…"}
caption body
Результат: GET /v2/tasks/0b9c… { "task_id": "0b9c…", "status": "done", "result": { "status": "ok", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) ... Chrome/155.0.0.0 ...", "cookies": [ {"name": "sessionid", "value": "...", "domain": ".example.com"} ], "actions": [ {"type": "fill", "ok": true}, {"type": "fill", "ok": true}, {"type": "click", "ok": true}, {"type": "wait_for", "ok": true} ] } }
kicker title lead items callout
Под капотом Архитектура v2 Раньше браузер жил прямо в API, и когда слоты кончались, запрос получал отказ. Теперь API только принимает задачи и отдает результаты, а Chrome работает в отдельных воркерах за очередью.
**api** на FastAPI без браузера: ставит задачи, отдает статус и результат
**RabbitMQ**: задачи ждут свободного слота в очереди, а не получают `503`
**worker** на dramatiq: настоящий Chrome под Patchright и Xvfb, без утечек CDP, несколько окон на воркер
**Redis**: статусы и результаты задач хранятся сутки, прокси и ключ 2captcha туда не попадают
Задачи сессии с открытым окном идут в личную очередь того воркера, у которого это окно
`/v1/solve` работает поверх той же очереди, старые клиенты ничего не меняют
title text
Браузер больше не одноразовый Окно можно держать открытым от 0 до 120 минут простоя и вести в нем сценарий по шагам: залогиниться, отдать управление боту, вернуться и продолжить на той же странице. Закрыть окно раньше можно через `DELETE /v2/sessions/current`.
title items
Честно о текущем состоянии
**Доступ по API-ключу.** Тестовый ключ для демонстрационного инстанса лежит в [вики проекта](https://redmine.sokolab.xyz/projects/robotex/wiki), передавайте его в заголовке `X-API-Key`.
Открытое окно занимает слот браузера. Держите его не дольше, чем нужно.
Пока все воркеры работают на одном сервере.
**Бесплатно.** Платить нужно только за свои прокси и, если нужна, капчу в 2captcha.
Прокси решает многое: на грязном IP не поможет никакой отпечаток.
title lead links
Сообщество Вопросы, идеи и баги принимаются в Redmine. Регистрироваться не обязательно: данные гостевого аккаунта Robotex есть в [приветственной теме](https://redmine.sokolab.xyz/boards/1/topics/1) на форуме.
title text href
Форум Вопросы, идеи и обсуждение сценариев. https://redmine.sokolab.xyz/projects/robotex/boards
title text href
Баги и пожелания Что-то не работает или не хватает функции. https://redmine.sokolab.xyz/projects/robotex/issues
title text href
Telegram Написать мне напрямую. https://t.me/xs0k0lx
title text href
Исходники Код сервиса в моей Gitea. https://git.sokolab.xyz/s0k0l/robotex
Используйте Robotex только на сайтах, где у вас есть на это право.