HTTP Client - cURL Impersonate [HTTP/2, TLS 1.3, BROWSER_PRESETS, WEBSOCKET]

Делитесь модулями
  • жду приватную версию, спасибо за демо

  • Выглядит интерестно, подписался

  • Подождем...

  • Присоединяюсь к ожиданиям

  • Жду приватку

  • Хай гайз. Кому интересно, нужны новые функции, прошу в группу: https://t.me/+GOaP7_wpoWY0MmMy

    по новостям (НЕ ОБНОВА ТУТ.):

    1. добавил басовский сниффер
    2. валидацию TLS сертификата по сигнатуре, аля 100% защита от сниффера если код скрипта зашифрован)
    3. Парсинг куков (Cookie: name=val; name1=val1) в заголовках raw или через кубик установить заголовок.
    4. Автоматическое добавление заголовков браузера при выборе из списка для имитации. Их можно будет удалить кубиком "очистить заголовки"
    5. Полная эмуляция хттп клиента chrome. Поддержка rfc http2, например куки только для http2
      отправляются отдельными заголовками. если сервер даунгрейдит до http1/1 все как обычно.
      Connection: keep-alive, для поддержки http/1.1. http2 сервер не получит этот заголовок.
      http 1/1 не получит Priority. ja3/ja4/akamai fp совпадают с оригинальным браузером.

  • тема обновлена. вышел релиз. жду фидбек)

  • обновил тему/модуль на актуалочку. для тех кто не в группе

  • @frontend_coder исполняемый код .dll зашифрован, возможны ложные срабатывания.

  • v3.0.0:

    Модуль стал условно бесплатным. Активации требует только 1 action - Настройки. Без лицензии будет работать без настроек ( и без поддержки WebSocket)

    Теперь модуль не пишет ни какие сообщения в BAS лог, я отказался от привязки к окну BAS, так как это создает проблемы. Был вылет при запуске скрипта, если он завершался быстро, возможно если был не пустой ресурс. Версия модуля теперь отдается в ответе action Настройки.

    Исправлен баг: user.js пресеты рандомно могли не появиться в списке общих пресетов impersonations BAS .

    • некоторые не особо важные улучшения стабильности.
  • This post is deleted!
  • Топик обновлен.
    v3.0.1:
    Исправлена ошибка:
    [cUrl Impersonate] getsockname() failed with errno 10022: Invalid arguments

  • v3.0.2:

    1. Исправлен вылет в скомпилированном скрипте, а именно при перезапуске (клик по этой кнопке) - если в папке модуля находилась legacy.dll
    2. BAS теперь не вылетает если нет moduledll.dll в папке модуля. Пишет ошибку. (beta):
      [cUrl Impersonate] Module is corrupted. Please verify that moduledll.dll exists in the module directory (it may have been removed by your antivirus).

    V3.0.3:

    1. fix краша в новой версии бас 29.2.0
    2. исправлен баг: в DELETE/PATCH и т.д запросах с телом запроса не добавлялся заголовок content-length, из за чего запрос был ошибочным.

    V3.0.4 (current):

    1. Версия браузера для имитации ( поле ) поддерживает тип expression.
    2. Кастомные настройки теперь принимают только json, как в файле пресетов. + поддержка JS
    3. Установить заголовок ( экшн ) также поддерживает JS через *** #code ***
  • This post is deleted!
  • image.png

  • @Vitalii Исполняемый код модуля зашифрован. Возможны ложные срабатывания антивируса. Если вы переживаете, советую вам написать модуль лично.

  • v3.0.5:

    1. Исправлен вылет в сочетании запросов POST-DELETE + GET.
    2. Исправлена установка заголовков через шаблон, были проблемы с \r\n
    3. Новый функционал: авто url encode, !, !! - префиксы перед url. 2 префикса, - 2 типа: encodeURIComponent(), URLSearchParams.toString() - тоже самое как encodeURIComponent(), только пробелы как + вместо %20
    4. При ошибке теперь сохраняется код ответа, контент и тд( если включено)
    5. POST экшн всегда добавляет заголовок Content-Length, Content-Type может быть пустым, не добавится. Если нужно отправить POST без Content-Length, используйте экшн GET. Это касается всех остальных методов.
    6. Добавлен отдельный checkbox для GET/POST экшенов - Set fail() on error. В настройках такой же checkbox работает глобально для всех экшенов модуля.
    7. Также исправлены экшены "была ли ошибка", "получить текст ошибки"
    8. Новый функционал: Выполнить JS после запроса, в GET/POST экшенах. Воображайте пользу :)
    9. Новый функционал: Сохранение настроек по дефолту для GET/POST экшенов. - checkbox перед кнопкой "OK". Требуется перезапуск BAS. (Beta)
    10. Немного сжал дизайн GET/POST.
    11. Авторизация модуля теперь отдельно от запуска /записи - выполняется при первом вызове экшена "Настройки". Подвисаний не будет.

    V3.0.6:

    1. Новый функционал: Чекбокс для GET/POST экшена - Использовать cookies из памяти. ( для текущего запроса ) если выключено: куки не используются, новые не сохраняются .
    2. Изменен js callback для GET/POST экшена. Теперь их 2 - BeforeRequest, AfterRequest. Это логично.
  • Перезалил. Исправлена ошибка: Can't find variable: INSTALLATION_DIR_ в скомпилированном скрипте.
    опечатка вышла, а в режиме записи себя не проявляла, не заметил.

  • v3.0.7:

    1. Новая технология сохранения состояния по умолчанию всех параметров для всех экшенов модуля. С защитой от перезаписи, например обновой. Настройки сохраняются в папке curlImpersonate\settings\ - не удаляйте это папку при обновлении модуля.
    2. Новая функция: impersonate.wasProxy()
      • Отключайте запросы если не установлены прокси. Подсказка: OnBeforeRequest function + сохранение настроек по дефолту.
    3. Новая логика получения ответа с экшенов get/post. Теперь учитывается: ContentAsJson, ContentNotEmpty - при ошибках и повторах.
    4. Обновлен libcurl-x64.dll - nghttp2 до последний версии.