CaptchaAI решает CAPTCHA через API, поэтому работает без браузера и масштабируется до тысяч одновременных задач. Buster — бесплатное расширение для Chrome и Firefox, которое распознаёт звуковой вызов reCAPTCHA v2 прямо в браузере, но требует headed-режима и решает по одной капче за раз. Дальше — по пунктам, какой вариант подходит под ваш сценарий.
Когда выбрать CaptchaAI, а когда Buster
CaptchaAI, если нужно: решать CAPTCHA на сервере без браузера; закрывать не только reCAPTCHA v2, но и другие типы; масштабировать параллельную обработку от 10 задач и выше; работать в headless, контейнеризированном или serverless окружении; получать предсказуемую долю успешных решений, а не «повезёт со звуком или нет».
Buster, если: вы вручную и изредка проходите капчу в собственном браузере; браузер и так открыт и нужен клик в один шаг; встречается только reCAPTCHA v2 со звуковым вызовом; нужен бесплатный вариант без регистрации для личного использования.
Как это работает на практике
CaptchaAI: запрос к API
- Ваш код обнаруживает CAPTCHA на странице.
- Вы отправляете
sitekeyи URL страницы в API CaptchaAI. - Решатели CaptchaAI (человек + ИИ) генерируют действительный токен.
- Ваш код подставляет токен в форму и отправляет её.
import requests
import time
def solve_recaptcha_captchaai(site_key, page_url, api_key):
# Submit task
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": api_key,
"method": "userrecaptcha",
"googlekey": site_key,
"pageurl": page_url,
"json": 1
})
task_id = resp.json()["request"]
# Poll for result
for _ in range(60):
time.sleep(3)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": api_key,
"action": "get",
"id": task_id,
"json": 1
})
data = result.json()
if data["status"] == 1:
return data["request"]
raise TimeoutError("Solve timed out")
# Works with any HTTP client — no browser needed
token = solve_recaptcha_captchaai(
"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"https://example.com/form",
"YOUR_API_KEY"
)
Buster: расширение в браузере
Порядок обратный: сначала браузер с загруженным расширением, и только потом попытка пройти звуковой вызов reCAPTCHA — если он вообще доступен на сайте.
// Buster works automatically when installed as a browser extension
// For automation, you'd load the extension into the browser:
const { chromium } = require('playwright');
async function withBuster() {
const context = await chromium.launchPersistentContext('/tmp/chrome-data', {
headless: false, // Buster requires headed mode
args: [
'--load-extension=/path/to/buster-extension',
'--disable-extensions-except=/path/to/buster-extension'
]
});
const page = await context.newPage();
await page.goto('https://example.com/form');
// Click the reCAPTCHA checkbox
const frame = page.frameLocator('iframe[src*="recaptcha"]');
await frame.locator('.recaptcha-checkbox').click();
// Wait for Buster's audio solver button and click it
const challengeFrame = page.frameLocator('iframe[src*="recaptcha/api2/bframe"]');
await challengeFrame.locator('#solver-button').click();
// Wait for solve (may fail)
await page.waitForTimeout(30000);
}
Какие типы CAPTCHA поддерживает каждый вариант
| Особенность | CaptchaAI | Buster |
|---|---|---|
| reCAPTCHA v2 | Да | Да (через аудио) |
| reCAPTCHA v3 | Да | Нет |
| reCAPTCHA Enterprise | Да | Нет |
| Cloudflare Turnstile | Да | Нет |
| hCaptcha | ❌ Не поддерживается | Частично |
| Изображение / OCR CAPTCHA | Да (более 27 500 типов) | Нет |
| GeeTest v3 | Да | Нет |
| Доля успешных решений | Высокая (человек + ИИ) | Переменная — зависит от доступности звука |
| Работает без браузера | Да | Нет |
| Масштабируется | Да (тысячи одновременных задач) | Нет (1 инстанс браузера = 1 решение) |
CaptchaAI пока не решает hCaptcha — честная таблица показывает это прямо.
API против расширения браузера: архитектура
| Аспект | CaptchaAI | Buster |
|---|---|---|
| Тип | Облачный API-сервис | Расширение для браузера |
| Подход | Удалённое решение человеком + ИИ | Локальное распознавание звука |
| Интеграция | Вызовы REST API | Установка расширения в браузер |
| Нужен ли браузер | Нет (работает с обычными HTTP-запросами) | Да (только в браузере) |
| Поддержка headless-режима | Да | Ограниченная |
| Параллельные решения | Без ограничений | Одно на браузер |
| Тарификация | По потокам, а не по решению | Бесплатно (open source) |
Надёжность: где каждый подход даёт сбой
| Фактор | CaptchaAI | Buster |
|---|---|---|
| Чекбокс reCAPTCHA v2 | Высокая доля успешных решений | Умеренная — звук может не появиться |
| Аудио-вызов reCAPTCHA | Не актуально (используется визуальный токен) | Зависит от распознавания речи |
| Сайты блокируют звук | Не затронуто | Расширение перестаёт работать |
| Ограничение частоты запросов от Google | Не затронуто | Звук блокируется после повторного использования |
| CAPTCHA без звуковой опции | Решается через визуальный токен | Не может решить |
| headless-браузеры | Работает без проблем | Проблемы с загрузкой расширения |
Масштабирование: от одной капчи до тысяч
| Сценарий | CaptchaAI | Buster |
|---|---|---|
| 1 CAPTCHA | Один вызов API | Клик по расширению |
| 10 одновременно | 10 параллельных вызовов API | 10 инстансов браузера |
| 100 одновременно | 100 вызовов API — тот же код | 100 браузеров — тяжёлая нагрузка на ресурсы |
| 1000 одновременно | API справляется нативно | Непрактично |
| Серверная часть без браузера | Полностью поддерживается | Невозможно |
Экономика: во что обходится рост нагрузки
| Фактор | CaptchaAI | Buster |
|---|---|---|
| Базовая стоимость | Тарификация по потокам, например BASIC ($15/мес, 5 потоков, решений без ограничения) | Бесплатно (open source) |
| Инфраструктура | Только вызовы API | Браузерные инстансы + вычислительные ресурсы под них |
| 100 решений в день | Укладывается в один поток базового тарифа | Бесплатно формально, но нужен сервер под headed Chrome |
| 10 000 решений в день | Расходы растут линейно вместе с числом потоков | Непрактично — стоимость вычислительных ресурсов превышает любой API-тариф |
| Поддержка | Не требуется — управляемый сервис | Обновления расширения и починка поломок после каждого релиза Chrome |
Buster бесплатен только на бумаге: при росте нагрузки стоимость сотен headed-инстансов Chrome обгоняет потоковый тариф CaptchaAI, а чинить их после каждого обновления браузера приходится вручную.
Интеграция в Node.js и браузерный JavaScript
// CaptchaAI — works in any JavaScript environment (Node.js, browser, serverless)
async function solveCaptchaAI(siteKey, pageUrl, apiKey) {
const submitResp = await fetch('https://ocr.captchaai.com/in.php', {
method: 'POST',
body: new URLSearchParams({
key: apiKey,
method: 'userrecaptcha',
googlekey: siteKey,
pageurl: pageUrl,
json: '1'
})
});
const { request: taskId } = await submitResp.json();
for (let i = 0; i < 60; i++) {
await new Promise(r => setTimeout(r, 3000));
const result = await fetch(
`https://ocr.captchaai.com/res.php?key=${apiKey}&action=get&id=${taskId}&json=1`
);
const data = await result.json();
if (data.status === 1) return data.request;
}
throw new Error('Solve timed out');
}
// Buster — requires a full browser with extension loaded
// Cannot be used in Node.js without browser
// Cannot be used in serverless environments
// Cannot be used in CI/CD without display server
Последние три строки — не мелочь: в Docker-контейнере на CI-раннере без дисплея (типичная связка для команд, гоняющих тесты в европейских дата-центрах) Buster просто не запустится. Вызову API экран не нужен — он отработает в любом окружении.
Как перейти с Buster на CaptchaAI
Миграция — это замена цепочки «загрузить расширение → нажать чекбокс → нажать кнопку Buster → ждать, что сработает звук» на один вызов API из раздела «CaptchaAI: запрос к API»: sitekey и pageurl в in.php, опрос res.php до статуса 1, токен — в форму. Браузер и headless-режим для этого не нужны.
Если помимо решения CAPTCHA автоматизация ещё и собирает данные о пользователях сайта, держите в голове 152-ФЗ «О персональных данных»: собирайте только то, что вправе обрабатывать, — это не зависит от способа прохождения проверки.
Частые вопросы
Почему Buster не запускается в CI/CD и headless-браузерах?
Расширениям нужен полноценный рендер интерфейса, а headless-режим его не даёт: формально расширение загружается, но клики по его кнопкам ненадёжны, поэтому на CI-раннере без дисплея Buster на практике не работает.
Можно ли использовать CaptchaAI и Buster в одном проекте?
Технически да — Buster для локальной отладки, API CaptchaAI для CI и продакшена. Но раз API одинаково надёжно закрывает оба сценария, большинство команд после переезда отказываются от расширения полностью.
Сколько в среднем занимает решение через API CaptchaAI?
Зависит от типа CAPTCHA и текущей загрузки — обычно десятки секунд на reCAPTCHA v2 через userrecaptcha. Точные ориентиры смотрите в справочнике по кодам ошибок.
Что делать, если reCAPTCHA v3 отдаёт низкий score при автоматизации?
Низкий score — сигнал риска от Google, а не ошибка решателя. Помогает окружение: реалистичные заголовки, поведение мыши и тайминги ближе к живому пользователю; сам токен CaptchaAI выдаёт тем же методом userrecaptcha.