[CaptchaImageClick] - модуль для решения капчи кликами по изображениям через сервис cap.guru

Делитесь модулями
  • @FastSpace
    По поводу "багов".

    1. Лечиться использованием внутреннего http клиента баса (_switch_http_client_internal). Нет необходимости использовать функции solver/solver_properties, которые предназначены для капч другого типа и некоторое вовсе устарели.
      Написать свои методы отправки запросов не проблема.

    2. Эта проблема не совсем из-за GPU, а из-за того, что вы используете как-раз методы solver_properties. После обработки картинка имеет другой mime-type, который Capmonster не распознаёт. Если не ошибаюсь, БАС ставит application/octet-stream вместо image/jpeg.
      Если не отдавать картинку старым методам, то и mime-type не будет сломан.

    3. По этому поводу Fox поругается.

    И ещё один момент. Модуль работает, если язык капчи выбран английский. Можно информацию о задании вытаскивать из того же кэша, ассоциативный массив в recaptcha/*/reload. В таком случае работать будет с любым языком.

  • @Sadzurami said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    1. Эта проблема не совсем из-за GPU, а из-за того, что вы используете как-раз методы solver_properties. После обработки картинка имеет другой mime-type, который Capmonster не распознаёт. Если не ошибаюсь, БАС ставит application/octet-stream вместо image/jpeg.
      Если не отдавать картинку старым методам, то и mime-type не будет сломан.

    При всех моих тестах на серваках с GPU уходило почему-то правильно картинка даже после обработки и Capmonster её принимал как положено. Совпадение?
    Внутренний http клиент бас кокраз не рекомендуется @Fox, мол все настройки вне модуля переедут в него? Или это другое? Я проверю..

    @Sadzurami said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    И ещё один момент. Модуль работает, если язык капчи выбран английский. Можно информацию о задании вытаскивать из того же кэша, ассоциативный массив в recaptcha/*/reload. В таком случае работать будет с любым языком.

    Для hCaptcha - один язык английский. У рекаптча 2 в модуле - 4 языка.
    @root мне писал, что его сервис поддерживает только английский язык задания. Я тоже думал собирать такой массив, затем занимается переводом, потом увидел что hcaptchу штормит и там постоянно новые задания лезут. Прикинул так объем работ и поздабил. Когда она мне понадобится массово, может быть сделаю еще поддержку русского.

  • @FastSpace если использовать основной http клиент - все настройки, которые ранее были установлены в скрипте, будут использоваться: прокси, заголовки и тд. На внутренний клиент это никак не влияет.

    По поводу картинки. Совпадения? Нет.
    Можете сами проверить, у капмонстра есть режим отладки, который умеет сохранять запросы и пришедшие картинки. Все картинки от баса доходят целыми.
    Обрезаются они уже на этапе детекта, т.к. кампонстр не понимает mime-type.

    Насчёт рекапчи 2-4 языка - вижу. Там перебор возможных значений из модуля @DoctorKrolic для языков ru, en, us, nl. Очень тяжёлая операция и не совсем красивая. Её суть - простое нахождение taskdef по тексту, что написан в шапке капчи. Смысла в этом не особо много, ибо эти taskdef (правильнее говорить - freebase id), уже находятся в запросе капчи по маске recaptcha/*/reload.

  • @Sadzurami Я понял, тогда апдейт на днях сделаю с внутренним клиентом, если он решит проблему этих картинок.
    Хотя у меня этой проблемы и нет :D, я все свои серваки гонял через модуль и все изображения уходили в CapMonster и распознавались им правильно )

    Насчёт рекапчи 2-4 языка - вижу. Там перебор возможных значений из модуля @DoctorKrolic для языков ru, en, us, nl. Очень тяжёлая операция и не совсем красивая. Её суть - простое нахождение taskdef по тексту, что написан в шапке капчи. Смысла в этом не особо много, ибо эти taskdef (правильнее говорить - freebase id), уже находятся в запросе капчи по маске recaptcha/*/reload.

    И это проверю, моя задача была как можно быстрее решать каптчу, если из кэша достаточно выдернуть этот id и сопоставить его с taskdef СM это просто замечательно :)

  • @FastSpace Проверил на рекаптче которую не видит стандартный модуль. Работает, спасибо!

  • @Sadzurami проверил этот reload, просто респект за идею :) там в этом JSON ещё инфа о количестве квадратов, динамическая ли она и т.д.
    +1, 1.5с можно будет оптимизировать скорость между квадратами.

    Наверняка такое есть и для hcaptha, чтобы убрать этот костыль с переключением языка.

  • В текущем встроенном модуле Recaptcha 2 с фиксами от @DoctorKrolic уходит 4x4 и сетка 3x3 обрезанной - наглядно видно в его теме белый квадрат незаполненный

    Насчёт рекапчи 2-4 языка - вижу. Там перебор возможных значений из модуля @DoctorKrolic для языков ru, en, us, nl. Очень тяжёлая операция и не совсем красивая. Её суть - простое нахождение taskdef по тексту, что написан в шапке капчи. Смысла в этом не особо много, ибо эти taskdef (правильнее говорить - freebase id), уже находятся в запросе капчи по маске recaptcha/*/reload.

    Где ж вы все были, когда я свой модуль выкладывал) Так-то мой модуль сейчас с официальной сборкой БАСа поставляется. Сказали бы раньше - успел бы поправить - сейчас встроенный модуль получше бы был.

  • @DoctorKrolic said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    Так-то мой модуль сейчас с официальной сборкой БАСа поставляется. Сказали бы раньше - успел бы поправить

    а закоммитить в репозиторий баса уже нельзя?

  • Что то не работает норм. На одном сайте есть сразу 2 гкапчи мне нужно чтобы правую капчу решал, а он левую решает, исправил селектор именно где кликать тогда не решает.

  • @yrsmir said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    Что то не работает норм. На одном сайте есть сразу 2 гкапчи мне нужно чтобы правую капчу решал, а он левую решает, исправил селектор именно где кликать тогда не решает.

    Надо сайт глянуть (в личку можно)

  • @FastSpace Дал в лс

  • рекапчу капча.гуру тоже решает, если я правильно понимаю, можешь добавить?

  • @Ninter said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    рекапчу капча.гуру тоже решает, если я правильно понимаю, можешь добавить?

    Кликами нет

  • @UserTrue said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    @Ninter said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    рекапчу капча.гуру тоже решает, если я правильно понимаю, можешь добавить?

    Кликами нет

    Обещал скоро добавить поддержку, я сразу добавлю его тоже.
    Причем наверно даже в мулти режиме подключу тоже на выбор, если капмонстер ошибся можно отправить в каптчу гуру :) Так быстрее чем решать новую каптчу. Например на imageselect виде.

  • Есть решение по моему вопросу?

  • @yrsmir said in [CaptchaImageClick] - модуль для решения капчи кликами по изображениям:

    Есть решение по моему вопросу?

    Я как только выпущу обновление, включу туда фикс для двух капч. Если получится это пофиксить.

    Шас я занет этим recaptcha/*/reload и есть проблемы.
    Сетка 4x4 присылает в кэш наперед 2-5 заданий. Я это решил, просто запоминать на перед эти задания, а не бегать в кэш.
    Между сетками 3x3 есть момент когда появляется новое задание, а кэша нет для него. Придется отказаться от метода который предложил @Sadzurami и вернутся к как было.

  • @FastSpace Ок ждем

  • @yrsmir Напишите сайт в лс

  • Подъехал патч 1.1:

    • Теперь если на странице 2 или более капчи и надо решить вторую, то в доп. настройках необходимо номер указать капчи.
    • Теперь если на странице 2 и более фрейма каптчи, но каптча одна, то в доп. настройках также необходимо указать номер капчи (Случай СloudFlare)
    • Исправлено переключение языка на английский для мобильной версии hCaptha
    • Теперь проверка на успешность решения капчи Normal/EnterPrise определяется не только зеленой галочкой (случай СloudFlare) - там чек бокс есть, галки нет.
    • Исправлены проблемы координат капчи, если скрол не был равен нулю.
    • Теперь Invisible hCaptha решается корректно, надо выбрать селектор в окне капчи.

    Теперь капча будет работать, даже если находится в двух вложенных фреймах и еще если в том вложенном фрейме 2 капчи одновременно )

    Не удалось исправить или реализовать:

    • По совету @Sadzurami отправлял Рекаптчу напрямую через http клиент (внутренний и внешний) в CapMonster. Даже при таком раскладке если нет GPU картинка не полная после модуля обработки, так что имейте GPU на серверах, это полезно для Chromium :) В дальнейшем фиксить и разбирается почему так происходит не буду, у меня всё работает.
    • По совету @Sadzurami реализовать взятие из кэша recaptcha*/reload номера задания также не удалось целиком. Для заданий 3x3 dynamic (исчезающая капча) после решения бывает просит снова решить каптчу ("Try Again"). В таком случае новый кэш в recaptcha*/reload не подгружается. Узнать номер задания можно только старым способ, парсить его, смотреть какой язык и т.д. Поэтому оставил только старый способ где 4 языка.
  • Внимание! Для clouflare всё работает!

    Надо выбрать селектор капчи и позицию капчи 1...... Там их 2 вида
    Screenshot_5.png

    Потом подумаю как автоматизировать этот процесс без указания, как столкнусь с этой капчей и русский язык поддержку сделаю.
    Встроенный модуль рекаптчи2 вообще всегда только с первым работает.