Почему вообще стоит говорить о FunCaptcha
Мы продолжаем тур по вселенной капч («Фантастические капчи и где они прячутся»), и сегодня у нас на прицеле настоящий босс уровня — FunCaptcha. Вместо унылого «введите буквы с картинки» она подсовывает мини-игры: крути 3-D предметы, решай логические задачки, угадывай звуки. Людям весело — ботам боль.
Какие испытания бросает FunCaptcha
Формат - Что видит пользователь - Что проверяется
Поверни изображение - Перевёрнутое зверушко, которое нужно «выпрямить» стрелками - Пространственное мышление
Выбери по правилу - Кучка картинок (например, кости с точками) — щёлкни те, что подходят под условие - Понимание контекста
Перетащи элемент - Пазл или герой, которого надо довести по схеме - Следование инструкциям
Аудио-вопрос - Несколько коротких звуков, нужно указать «где барабаны» или «где говорит только человек» - Семантический слух
Интерфейс почти без текста: иконка-подсказка плюс интуитивный UX. Пользователь играет пару секунд, бот чешет репу.
Почему автоматизация FunCaptcha — это боль
- Переменчивость. Arkose придумывает новые сценки как на конвейере: в серии MatchKey больше 1250 вариаций одного только «поверни-картинку».
- Не просто вижу — понимаю. Боту надо не распознать объект, а прочитать инструкцию, посчитать угол, сделать клики. OCR здесь не прокатит.
- MatchKey-подпись. Каждому ответу требуется секретный «чек-ключ» (tguess). Без него сервер говорит «мимо». Скрипт приходится исполнять родной JS Arkose, а тот регулярно меняется.
- Пальчики на стекле. Система собирает отпечаток: WebGL, движение мыши, задержки. Подделать blob без живого браузера почти нереально.
- Таймер и лимит фейлов. Задумался дольше 15 секунд — получи новую задачку. Пару ошибок подряд — сложность растёт.
Итог: вместо банального OCR нужно симулировать живого человека со всеми прибамбасами.
Добываем «ключи от замка»
Чтобы сказать Arkose «здравствуй», нужно:
- Public key (GUID)
- surl — адрес их API
- Иногда ещё blob
Чаще всего всё лежит в скрытом input fc-token:
Или в data-pkey, или всплывает в Network-панели при первом запросе к .../fc/gfct/. Дальше вариантов обхода три.
Три стратегии, чтобы «взломать смех»
1. Отдать на сторону — платные сервисы
- API типа 2Captcha, RuCaptcha, SolveCaptcha.
- Посылаем publickey, surl, pageurl.
- Через ~20 с забираем готовый token.
Вставляем в поле fc-token, отправляем форму — profit.
Плюсы: быстро подключить, ничего не пилить.
Минусы: зависимость, 15–30 с задержки, свежие головоломки ломают сервисы до апдейта.
2. DIY и open source-магия
- Аудио-хаки. Скачал звук → Speech-to-Text → ответил. Работает редко: современные вопросы про смысл, а не цифры.
- Нейросети. Тренируем модель крутить зверей, читать кости. Нужно море данных, и апдейт MatchKey легко всё ломает.
- GitHub-скрипты. unfuncaptcha для fingerprint-blob, tguess-генераторы. Полностью задачу не решат, но помогают.
3. Эмулировать пользователя в браузере
- Selenium / Playwright загружает страницу.
- Вытаскиваем параметры → шлём на 2Captcha → возвращаем token → пишем его в DOM.
- Или идём hardcore-путём: скриншотим canvas, скармливаем модели, кликаем сами.
Плюсы: настоящий браузер = честный fingerprint.
Минусы: тяжеловесно, headless легко спалить, любое изменение UI ломает селекторы.
Ограничения каждого пути
- Сервисы: плата за штуку, таймауты, нужен прокси для совпадения IP.
- DIY: высокие требования к мозгам и GPU, постоянное сопровождение.
- Браузер: ресурсы, скорость, риск «вас заметили».
Ни один метод не даёт вечной гарантии — Arkose тоже не дремлет.
MatchKey: модернизированная броня
- >1250 рандом-сценариев.
- Микс медиа: картинка + звук в одном потоке.
- Ответ без match key не катируется.
- 20-plus видов аудио-загадок с шумами.
- Тесты против свежих ML-алгоритмов до выпуска в прод.
Кстати, можно сравнить сервисы по распознаванию капчи между собой - тут неплохой сервис для сравнения - captchathecat.
Гонка вооружений продолжается: защита — обход — новая защита.
Как выбрать подход
Ситуация - Что брать
Нужен быстрый результат, объём небольшой - API 2Captcha / SolveCaptcha
Миллионы капч, бюджет жмёт - Своя ML-модель, аудио-лайфхак где доступен
E2E-тесты или аудит безопасности - Selenium + внешний solver или локальный NopeCHA
Любим гибриды - Сначала пытаемся локально, не вышло — шлём в сервис
Итог
FunCaptcha — это не просто ещё одна капча, а целый парк аттракционов против ботов. Она растёт — растут и способы обойти. Выбор оружия зависит от ваших целей, кошелька и терпения. Но будьте готовы: лёгких побед здесь не бывает!