BrowserAutomationStudio. Создавайте автономные многопоточные приложения бесплатно и без навыков программирования.

(Ответов: 81, Просмотров: 50371)
Страница 8 из 9 Первая ... 6789 Последняя
  1. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 22.3.0

    Изменение в данной версия касаются парсинга.

    Добавлена возможность генерировать селектор для нескольких элементов сразу. Это делается путем выбора ключевых элементов двух типов: тех, которые обязательно должны присутствовать в списке, и тех, которых там быть не должно. BAS будет пытаться угадать селектор исходя из данной информации. Каждый раз, когда список ключевых элементов будет изменяться, BAS будет обновлять селектор. Таким образом, вы можете "подогнать" результат под тот, который вам необходим постепенно увеличивая количество ключевых точек.

    Вот как это выглядит:



    Короткое видео с субтитрами: https://www.youtube.com/watch?v=PQSQmJRVKvk

    Длинное видео с озвучкой: https://www.youtube.com/watch?v=Lho2Ghd7hj8

    Создание действий, которые выполняются для каждого элемента цикла стало возможно с использованием нового диалога. Он автоматически появляется если место для вставки действия находится внутри цикла. Новый метод более интуитивно понятен, чем отдельное подменю, которое использовалось ранее.



    Клик по количеству найденных элементов приводит к фокусировке следующего элемента. Таким образом, последовательно кликая по этой ссылке можно обойти все найденные элементы.



    Добавлен механизм для поиска элементов находящихся рядом, либо перекрывающих друг друга. Нажимая на стрелки вверх / вниз на клавиатуре можно перебрать абсолютно все элементы находящиеся под курсором. Клавиша Enter - выбор элемента.



    Также была добавлена информация о теге выбранного элемента, классах и идентификаторе если они есть. Как это выглядит вы можете видеть на предыдущем видео.

    Добавлено умное действие для парсинга ссылок "Получить адрес ссылки".


    Мелкие исправления и улучшения:

    • Исправлены проблемы при работе цикла по элементам внутри цикла по элементам.
    • Исправлены проблемы при запуске функции рекурсивно из действия if.
    • Исправлено зависание скрипта, когда количество потоков установлено в 0.
    • Новая стартовая страница.
    • ХТТП клиент может отправлять несколько заголовков одновременно.
    • Отключен автофокус при переходе в режим ручного управления.
    • 0
  2. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 22.4.0

    Данная версия содержит три довольно больших изменения.

    Оптимизация скорости работы редактора сценария.

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

    Чтобы достичь этого, интерфейс редактора сценария был частично переписан, было внесено больше 20 больших изменений, вот некоторые из них:

    1) BAS перерисовывает только те действия, которые были изменены.
    2) Добавлено несколько уровней кеша для генерации кода функции. Теперь как код для целых участков скрипта, так и отдельных действий может быть использован повторно.
    3) Оптимизирована система отправки сообщения об изменениях в проекте.

    Вот время требуемое на удаление одного действия в проекте размером около 10 мб до обновления:



    И после:



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

    Оптимизация работы системы ресурсов.

    BAS избавился от долгих загрузок проектов с большим количеством ресурсов. На самом деле, время загрузки теперь не зависит от их количества и происходит практически мгновенно.

    Чтобы достичь этого пришлось переписать некоторые компоненты системы ресурсов. Теперь вместо настоящих элементов интерфейса создаются виртуальные, а настоящие создаются только тогда, когда это нужно.

    Время запуска проектов тоже значительно сократилось, но сделать его мгновенным к сожалению не получилось. Это связано с тем, что при запуске все-таки нужно рисовать какое-то количество контролов.

    Совместимость с сервисами от Google.

    В последнее время при попытке входа в Gmail аккаунт, сайт выдавал сообщение о необходимости смены браузера. И хотя это можно было обойти сменив юзер агент на отличный от хрома, все-таки хотелось иметь более подходящее решение. Сейчас это исправлено. Изменения также касаются регистрации аккаунтов. Например, аккаунт на видео был зарегистрирован именно через BAS.



    Для того, чтобы достичь этого пришлось разобрать антибот защиту от Google. В рамках этой задачи был:

    1) Составлен список методов для верификации подлинности браузера используемый сайтом на стороне клиента.
    2) Созданы утилиты для обновления этого списка. Это позволит быстро адаптироваться если список методов будет пополняться.

    Изменения касаются не только сервисов гугл, но могут и позитивно сказаться на работу с другими сайтами.

    Версия FingerprintManager также была обновлена.
    • 0
  3. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 22.5.0


    Асинхронный вызов функций


    Добавлен новый модуль 'Асинхронный вызов функции', он позволяет начать выполнение функции в отдельном потоке, дождаться результатов или остановить его при необходимости.



    Фактически, с помощью него вы можете динамически управлять потоками. Модуль имеет множество возможностей таких как: ограничение на максимальное число запущенных потоков, очередь ожидания, экономный запуск функций в старых потоках, ограничение времени выполнения. Один из часто задаваемых вопросов пользователей: "Как сделать столько потоков, сколько строк в файле?" теперь может быть решен просто и быстро:



    Больше информации вы можете найти в документации к модулю или в данном видео




    Вызов функций BAS из других языков программирования

    Новая версия позволяет вызывать функции BAS из других языков программирования. Для этого мы готовим библиотеки для C#, Node.js и Python. В данный момент реализована только версия для C#. Название библиотеки BASRemote.NET. Ее можно найти по ссылке, там же можно найти инструкции по установке, использованию, а также вики с примерами

    https://github.com/CheshireCaat/BASRemote.NET

    Данное нововведение позволяет писать приложения на вашем любимом языке программирования, при этом использовать BAS для взаимодействия с браузером. Например, на этом видео показан процесс создания парсера инстаграм, интерфейс реализован на C# с использованием WinForms, а работа с браузером, парсинг, загрузка файлов - через BAS.



    Процесс создания вы можете найти на видео:

    https://www.youtube.com/watch?v=-YYySZtR--g

    Следует также понимать, что это нововведение позволяет запускать код BAS из С#, но не код C# из BAS.


    Улучшенное взаимодействие с браузером в режиме ручного управления

    Работа в режиме ручного управления стала гораздо удобнее, многие вещи гораздо упростят работу с браузером через BAS. Вот список нововведений:

    * Добавлено контекстное меню для браузера



    * Возможность открывать инструменты разработчика и смотреть код страницы.



    * Интегрирован поиск в гугл





    * Поиск текста на странице



    * Увеличена отзывчивость браузера.

    * Реализована скачивание файлов через браузер.

    * Подсветка текущей вкладки.


    Улучшена работа с вкладками

    Взаимодействие BAS с вкладками также подверглось изменениям:

    * Переработан механизм открытия новой вкладки. Теперь вкладки создаются даже при ошибке загрузки страницы, исправлены другие проблемы.

    * Отложенный запуск новых вкладок. Данный параметр позволяет создать сразу множество вкладок, не загружая при этом страниц. Страница будет загружена при первой активации конкретной вкладки.

    * Добавлено новое действие 'Получить информацию о вкладках'.

    * Добавлено новое апи для получения списка вкладок из веб интерфейса https://wiki.bablosoft.com/web-inter...method-gettabs

    * Исправлена проблема с открытием вкладки из страницы без js контекста, например, из страницы, которая состоит только из изображения.

    * Клик с зажатой клавишей Ctrl открывает новую вкладку.

    * Добавлен новый параметр 'Зажать клавишу ctrl' для клика мышью.


    Другие изменения

    Новое действие "Получить все элементы кэша" позволяет получать весь список запросов и ответов от сервера добавленных в кеш. Сюда входят: статус HTTP запроса, заголовки запроса, заголовки ответа, тело запроса, url, post данные.

    Тихая установка планировщика. Этот метод необходимо вызывать перед тем, как начинать работать с планировщиком из веб интерфейса https://wiki.bablosoft.com/web-inter...gwithscheduler

    Добавлен JSON модуль.

    Реализован механизм, при котором код модуля может игнорироваться в режиме запуска если модуль не используется в проекте. Раньше этот механизм был доступен только для кастомных модулей.

    Перемещение курсора за пределы страницы теперь доступно в том случае, если страница прокручена вниз.


    Исправление ошибок

    Исправлены проблемы с установкой языков для прокси с языком en-GB.
    Оптимизация сохранения/загрузки cookies.
    Исправлено открытия менеджера базы данных из веб интерфейса.
    Улучшен поиск элементов во фреймах.
    Исправлена невозможность удалить параметр функции.
    Исправлено изменение шрифтов в модуле обработки изображений.
    Метод OpenUrl в веб интерфейсе теперь поддерживает аргументы командной строки.
    • 0
  4. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 22.6.0

    В этом апдейте версия браузера была обновлена до 79.0.3945.130.



    Большинство времени было потрачено на то, чтобы адаптировать BAS для работы с новой версией браузера.

    Среди других изменений можно отметить:

    • Улучшена работа со вкладками.
    • Некоторые факторы отпечатка не применялись в serviceWorker.
    • Исправлены ошибки работы скрипта, которые начинаются с действия "Выполнить код" с определением функции.
    • Оптимизации запуска скрипта, который содержит множество функций. 200+
    • Добавлена валидация при работе с метками. Метки, которые содержали запятую, могли приводить к некорректной работе.
    • Исправлены падения связанные с с++ модулями BAS и перезапуском скриптов.
    • Между 78 и 79 версией Chrome были добавлены некоторые изменения, которые могли повредить анонимности. В браузер был добавлен патч, чтобы это исправить.
    • Исправил эмуляцию функций toLocaleString, toLocaleDateString и toLocaleTimeString. Теперь, без аргументов они выдают значения согласно локали и часовому поясу установленному в прокси.
    • Новая версия CEF поддерживает сохранение cookies в профиль по требованию. Добавлено их сохранение в случае закрытия браузера. Это поможет избежать потери данных при сохранении профиля.

    Дальнейшее развитие проекта.

    В данный момент начата работа над технологией PerfectCanvas. С помощью нее можно будет получать точные результаты canvas из реальных устройств.

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

    Все следующие 6 месяцев будут посвящены обновлениям касающихся анонимности.
    • 0
  5. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 22.8.1

    Основное изменение в данном релизе - новая технология PerfectCanvas. Она позволяет обойти даже самые сложные антибот системы основанные на анализе изображения. Идея заключается в следующем:

    • Отрисовать canvas на удаленной машине.
    • Отправить данные canvas на ваш компьютер.
    • Заменить данные внутри вашего браузера.
    Данные canvas будут абсолютно идентичны тем, которые получены из реального устройства. Это включает в себя не только значения пикселей, но также настройки формата изображения, уровень сжатия, параметры экспорта изображения и т. д.

    Более подробно ознакомиться с описанием технологии можно по ссылке.

    О том, как начать использовать.

    Результаты тестов:

    Через сайт https://browserleaks.com/canvas

    FirefoxCanvas.mp4

    Обратите внимание на надпись "it's very likely that your web browser is Firefox and your operating system is Windows.", название браузера получается не из юзер агента, а после анализа изображения. Отпечаток с Firefox был выбран специально, чтобы увидеть, что замена действительно работает. Напоминаю, что BAS основан на Chromе.

    Регистрация Gmail.

    GmailSignup.mp4

    Первая половина видео - регистрация без PerfectCanvas, вторая вместе с PerfectCanvas. На надпись вначале видео влияют не только результаты тестирования canvas, но и прокси, телефон и многое другое.

    Также эта версия содержит множество фиксов:

    • Улучшена производительность браузера.
    • Исправлены проблемы с tiktok.com
    • Замена свойств WebGL2. Будет работать после накопления базы.

    И многое другое.

    Сервис еще находится в бете, поэтому возможны баги с включенным PerfectCanvas.
    • 0
  6. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 22.9.0.

    В новой версии была значительно улучшена аутентичность браузера, добавлены новые факторы отпечатка.

    Информация в данный теме намеренно сокращена, некоторые изменения упоминаются очень кратко, без технических подробностей.


    Информация об ip.

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

    Поэтому были сделаны такие изменения:

    1) Обновлена база поставляемая вместе с софтом. Ее формат теперь другой, но формат результатов остается прежним. Данные будут обновляться при каждом релизе.
    2) Добавлена интеграция с сервисом ip-api.com. Данный сервис показал лучшие результаты при тестировании. Вы можете использовать как платную, так и бесплатную версию. Софт корректно понимает лимиты на количество запросов и старается их не нарушать.
    3) Если ни первый, ни второй способ не подходят, существует возможность создать свою функцию, которая получает информацию об ip. BAS будет вызывать ее каждый раз при установке прокси. Данная функция может использовать как хттп клиент, так и браузер.


    Смена часового пояса.
    • Добавлена локализация названия часового пояса согласно языку браузера.

    • Возможность задать дополнительные параметры при изменении геолокации (действие "Установить координаты").
    • Смена геолокации переписана на с++.
    • Увеличено количество параметров в модуле "Часовой пояс". Теперь с помощью него, можно изменить все параметры времени, которые меняет FingerprintSwitcher.
    • Действие прокси теперь устанавливает все параметры даже если оно вызвано с пустой строкой. Лучше это делать, если вы работаете без прокси. Выдается ошибка в случае невозможности получить реальный ip.

    Параметры экрана.
    • Добавлен новый фактор отпечатка: css отпечаток.
    • Улучшена замена разрешения браузера.

    Webgl.

    FingerprintSwitcher теперь меняет множество дополнительных свойств webgl 1.0 и webgl 2.0 и функционал некоторых методов.


    Раскладка клавиатуры.

    Новый фактор отпечатка - раскладка клавиатуры.


    Шрифты.

    Количество поддерживаемых шрифтов увеличено в 10 раз, теперь их больше 4 тысяч. Для этого пришлось усовершенствовать механизм получения списка шрифтов.


    Новый фактор отпечатка - MediaDevices.

    Идентификаторы устройств генерируются каждый раз при создании нового профиля, поэтому данный фактор и раньше не мог приводить к обнаружению. Тем не менее в новой версии вся доступная информация об устройствах и некоторые дополнительные свойства изменяются при помощи FingerprintSwitcher.

    Это означает, что теперь, чтобы сменить id устройств, нужно поменять отпечаток, простой смены профиля недостаточно.


    Новый фактор отпечатка - отпечаток производительности.

    Измеряя скорость выполнения того или иного функционала сайты могут составить идентификатор оборудования.

    https://www.youtube.com/watch?v=5sZT9FTx3aQ
    https://cseweb.ucsd.edu/~kmowery/pap...erprinting.pdf

    Для решение этой проблемы добавлено новое действие "Отпечаток производительности". Оно позволяет заставить сайт думать, что бенчмарк выполняется быстрее или медленнее чем есть на самом деле. При этом, замеры, которые выполняются для других целей не должны изменяться. Новый функционал старается избежать несостыковок со временем связанных с этим, но технология экспериментальная и может быть причиной багов. Пример: чат с огромным количеством сообщений будет иметь расхождение во времени на сервере и клиенте.

    Дальнейшую информацию можно получить в документации в самом действии.


    Permission API.

    Данное апи выдает результаты как в реальном Chrome браузере. Получение разрешений для уведомлений и геолокации соответствуют выбранным пользователем настройкам.


    Замена отпечатка на стороне браузера.

    Начиная с новой версии замена всех свойств происходит в коде с++, код javascript внедряется только когда это абсолютно необходимо, например, чтобы эмулировать метод фф которого нет в хроме.

    Осталось только только 1 свойство, которое изменяется через js, но оно используется не всегда, надеюсь скоро и его перевести на с++.

    Была переписана замена Notification, navigator.connection, screen.orientation и многих других свойств.

    Все данные за исключением Permission API получаются из реальных устройств. База данных еще не успела обновится отпечатками с новым форматом, поэтому рекомендуется использовать фильтр по минимальной дате добавления установленный в 15 дней.


    Новый модуль Archive.

    Был добавлен новый модуль для работы с zip, 7z и rar(только распаковка) архивами. Его сделал @GhostZ. Данный модуль написан на node.js, его нужно предварительно включить через менеджер модулей. В дальнейшем будут добавлены дополнительные оптимизации для модулей написанных на ноде.
    • 0
  7. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 23.1.0.

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


    Поиск действий.

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

    * Поиск не только в названии действия, но по таким факторам: описание действия, документация, название модуля, название переменных и специальное поле в котором содержатся ключевые слова.
    * Поиск выдает результат по совокупности разных факторов. Например, если искомый запрос встречается и в документации и в названии, то это повышает релевантность ответа.
    * Не обязательно вводить точный поисковый запрос, чтобы получить результат, допускаются опечатки и перестановки слов.
    * Новый интерфейс для поиска поддерживает многостраничность, подсветку найденных слов, отображение описания действий, и т. д.
    * Теперь у абсолютно каждого действия есть хотя бы минимальное описание, это сделано для того, чтобы оно отображалось в поиске.



    Для создателей модулей. Чтобы ваши действия лучше находились в поиске, вы можете добавить в них дополнительные ключевые слова. Для этого нужно задать такое поле в любом из объектов массива "actions":

    "suggestion":{"en": "zip, rar, 7z, unzip","ru": "zip, rar, 7z, разархивировать"}. Это пример из модуля для работы с архивами.


    Работа с Node.js.

    В этой и в следующих версиях мы будем добавлять новые модули, которые реализованы с помощью Node.js. Именно для этого интеграция с языком была значительно улучшена. Изменениям подвергся в первую очередь процесс установки. Идея была в том, чтобы сделать его максимально безболезненным, результативным и быстрым. Вот основной список изменений:

    * Добавлена новая версия Node.js v12.18.3
    * Исправлены проблемы с превышением максимальной длины пути при установке.
    * Последний дистрибутив языка теперь поставляется вместе с BAS, чтобы избежать задержки при его скачивании.
    * Пакеты Node.js, которые используются в модулях FTP и Archive теперь предустановлены.
    * Все операции по установке проходят в отдельных потоках, это позволяет оставлять интерфейс отзывчивым во время установки.
    * Лог установки пакетов Node.js отображается при нажатии на соответствующую кнопку. Таким образом ошибки при установке пакетов легче отследить.
    * Улучшены логи, простой лог отображается в интерфейсе, а детальный - в файле.
    * Переработан процесс установки языка, исправлены типичные ошибки, добавлены таймауты, поддерживается перезапуск всего процесса в случае ошибки.
    * Окно установки теперь имеет новый понятный интерфейс.
    * Исправлены некоторые проблемы с повторным использованием кода при помощи файлов.

    Новый интерфейс:



    Бенчмарк:

    Первый запуск приложения с использованием модуля FTP и Archive занял 3.1 секунду, повторный запуск 0.07 секунд.

    Впрочем, у вас результаты могут отличаться, но фактически процесс установки сводится только к копированию файлов.

    Надеюсь, что данный апдейт сделает возможным массового использования Node.js в приложениях написанных на BAS, поскольку риски, связанные с использованием языка, минимальны, а выгода огромна.


    Модуль для работы с FTP/SSH

    Помимо стандартных загрузки и скачивания файлов и папок, данный модуль позволяет работать с файлами на сервере практически так же легко, как и с файлами на локальном диске. На самом деле, часть его действий копирует модуль "Файловая система".

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

    Модуль поддерживает не только действия связанные с файловой системой, но и выполнение произвольных команд на сервере. Действие "Выполнить команду (SSH)".

    Модуль хорошо документирован, поэтому для получения дополнительной информации достаточно открыть любое действие.



    Дополнительные модули написаны на Node.js и по умолчанию отключены. Включить их можно на основной странице



    При запуске или в скомпилированном приложении Node.js не будет устанавливаться, если ни одно из действий по работе с FTP или архивами не было использовано.


    HTTP клиент

    Верcия libcurl была обновлена до 7.71.1, openssl до 1.1.1g. Это позволит использовать современные методы шифрования и не вызывать подозрения у сайтов при использовании хттп клиента.

    HTTP клиент теперь понимает сложные значения в хедере Location, поведение было скопировано их Chrome последней версии. Например, редирект к такому урл теперь обработается без проблем. `../../test.php`

    HTTP клиент теперь повторно отправляет содержимое запроса для статусов 307 и 308.


    Загрузка и установка скомпилированных приложений.

    Обновлено приложения для запуска скомпилированных скриптов. Теперь при обновлении кода через сайт у пользователей не будет скопировано содержание папки, следовательно, установка пройдет гораздо быстрее.

    Папка будет создана заново только в случае обновления версии BAS. При использовании Node.js, в случае обновления BAS установка языка пройдет заново. Раньше файлы node.js копировались в новую папку из старой и это могло вызвать проблемы.

    Для авторов скриптов желательно скомпилировать приложение заново и разослать клиентам. Но это не является обязательным.


    Защита приложений.

    В новой версии существенно доработана система защиты приложений. Было сделано почти 10 больших изменений. К сожалению, рассказывать о каждом из них я не могу, чтобы не компрометировать новые методы. Но вот 2 из них:

    1) Скрипты в базе находятся теперь в защищенном виде, это исключает вероятность получения кода скрипта через возможные уязвимости на сайте.

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

    Как следствие второго пункта, редактируемый исходный код приложения теперь невозможно получить(даже если каким-то образом снять защиту), он просто не отправляется на клиент.

    При компиляции теперь можно выбрать степень защищенности приложения:



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

    Есть и неприятный момент, загрузить скрипт на сервер через сайт теперь невозможно. Это можно сделать только через Меню -> Скомпилировать.

    !ВАЖНО Новая защита будет работать только после перехода скрипта на версию BAS 23.1.0 или старше. Сделать это рекомендуется как можно быстрее.
    • 0
  8. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 23.2.0


    Улучшения системы смены отпечатков.

    В первую очередь данные улучшения касаются именно эмуляции мобильного браузера.


    Сенсорный экран.

    Добавлена эмуляция тачпада. Вот как это выглядит в режиме ручного управления:



    Для перехода в новый режим достаточно применить мобильный отпечаток.

    Чтобы проверить, используется ли эмуляция сенсорного экрана нужно посмотреть на курсор в режиме ручного управления. Если он имеет круглую форму, значит эмуляция включена.



    Альтернативный способ - использовать действие "Режим сенсорного экрана". Но так как оно заменяет не все параметры касающиеся мобильных платформ, использовать его без отпечатка затруднительно.

    Прокрутка экрана.

    Реализована прокрутка экрана с помощью касания в режиме автоматизации:



    Касания выполняются так, чтобы быть максимально похожими на движения человека.

    Прокрутка происходит автоматически при использовании любых действий по работе с элементами, таких как: "Двигать Мышь И Кликнуть На Элемент", "Ввод текста", и т. д.

    Для прокрутки к определенному элементу используйте действие "Двигать Мышь Над Элементом".

    Для прокрутки к координатам, действие "Прокрутка" с параметром "Использовать колесо мыши или касания".

    Если нужна горизонтальная прокрутка, подойдут действия "Начать Перетаскивание" и "Закончить Перетаскивание":




    Эмуляция событий.

    Список событий, который получает сайт при использовании мобильного браузера значительно отличается от событий, который генерирует desktop. Кроме очевидного, как например, отсутствия событий передвижения мыши или появления тач событий, есть и менее очевидные вещи, например отсутствие keypress для некоторых клавиш, измененные параметры which, code для событий связанных с нажатием клавиш, и т. д.

    Все эти особенности эмулируются BAS при переходе в новый режим.

    Более того, некоторые клавиши, которые отсутствуют на мобильной клавиатуре можно использовать в BAS. При этом сайт не получит уведомления о произошедшем событии, но брaузер фактически выполнит функциональную часть. Например, если выполнить действие "Ввод" с параметром "<CONTROL>a" то текст в активном поле по факту выделится, но сайт не получит уведомлений о нажатии клавиш ctrl или a.

    Использование "<CONTROL>a", "<CONTROL>c", "<CONTROL>v" или стрелок перемещения на клавиатуре является безопасным, потому что на мобильном тоже самое можно сделать с помощью специальных элементов интерфейса:



    Использование других клавиш, таких как delete, page up, page down является менее безопасным, так как сайт теоретически может отследить изменения текста или положения экрана без причины повлекшей за собой эти изменения.

    Протестировать список событий можно на данной странице:

    https://data.bablosoft.com/events/


    Внутренние методы браузера.

    Многие внутренние методы браузера работают так, как если бы браузер запускался с мобильного устройства. Например:

    1) document.createEvent('TouchEvent') не будет выдавать ошибку только в мобильном браузере или в BAS с мобильным отпечатком.

    2) Событие ontouchstart не определено в десктопной версии.

    И многое другое.

    Причем все изменения сделаны на уровне браузера, а не внедрением javascript кода. Например, событие ontouchstart не только будет присутствовать в списке методов, но на него можно подписаться и получать уведомления.

    Видео по работе с мобильным браузером: https://www.youtube.com/watch?v=iLU1PlIeoPA


    Новые факторы отпечатков.

    Добавлены новые факторы: список голосов для синтеза речи установленных в системе, объем оперативной памяти.


    Улучшение окна выбора переменных.

    В этой версии мы постарались сделать выбор переменных, ресурсов и функций максимально удобным для пользователя.

    * Был добавлен поиск переменных.
    * Новое окно с списком переменных и последними использованными переменными.
    * Последние переменные в списке меню.
    * Создание новых переменных из нового окна.

    Все это позволяет сократить количество кликов для выбора переменной. Если вы использовали ее недавно, то для выбора необходимо всего 2 клика: по полю для вставки и по самой переменной.

    Все эти изменения также касаются ресурсов.



    Работа с новой версией стала значительно удобней, например, вот как просто вывести текущий урл в лог в новой версии:




    Добавлен Excel модуль.

    Модуль позволяет работать с excel файлами: читать/изменять как отдельные ячейки, так и столбики, листы, работать с разными типами данных, импорт/экспорт в ресурсы или json, работать со списком листов, формулами, стилями, поддерживает многопоточность, асинхронный и синхронный тип сохранения файлов.



    • 0
  9. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    В новой версии был осуществлен переход на новый браузерный движок. Это означает, что архитектура проекта значительно изменилась, теперь автоматизация браузера работает так:

    1) В начале работы потока в фоне запускается экземпляр браузера.
    2) Данный экземпляр ничем не уступает обычному браузеру и не имеет тех ограничений, что раньше.
    3) Браузер управляется BAS с помощью стабильного протокола поддерживаемого Google.
    4) Действия BAS по работе с браузером не изменились.

    Что получают наши пользователи?

    Такую автоматизацию очень сложно обнаружить. Можно делать это по косвенным признакам, таким как: повторение одних и тех же действий, неправдоподобные паузы между действиями, и т. д. Но сделать это отсутствию какого-то функционала уже крайне проблематично, а система смены отпечатков затрудняет сбор информации об оборудовании.

    Старые проекты BAS легко портировать. Несмотря на то, что внутри софта поменялось очень многое, кое что было и совсем переписано с нуля, портировать старый проект просто. В некоторых случаях достаточно открыть его в новой версии, есть небольшие исключения, они описаны ниже.

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


    Поддержка расширений.

    В новой версии появилась возможность подключать расширения браузера. Для этого нужно:

    1) Скачать расширение с помощью этой утилиты. При сохранении нужно выбрать zip.
    2) Разархивировать в любую папку.
    3) Указать эту папку в действии "Настройки Браузера".

    К сожалению пока работа с интерфейсом расширения не поддерживается. Планируется реализовать это в следующих версиях.


    Обновление версии браузера в будущем.

    Очень важным фактором аутентичности браузера является наличие всех методов, классов, констант javascript. Иначе говоря, если версия движка старая - это можно обнаружить. Чтобы избежать этого, планируется обновлять браузер достаточно часто. В идеале, это будет делаться каждый месяц вместе с обновлением Chrome.

    Для обеспечения постоянных обновлений было написаны тесты для действий по работе с браузером, была добавлена подробная документация по каждому патчу, улучшены инструменты для внедрения патчей, в ближайшее время будут написаны тесты для изменения отпечатков.

    Переход на новый движок так же поможет в этом деле. Багов автоматизации при обновлении версии браузера в нем ожидается значительно меньше.


    Тест piхеlscan.

    Многие наши пользователи спрашивали об этом тесте, сейчас BAS успешно его проходит, для этого:

    1) Нужно сменить отпечаток с помощью сервиса FingerprintSwitcher.
    2) Разрешить получать данные canvas и webgl в действии "Настройки Браузера" ИЛИ использовать PerfectCanvas

    На момент написания статьи в тесте есть баг. Обычный браузер определяется как фреймворк для автоматизации, скрин. Происходит так потому, что совсем недавно свойство navigator.webdriver в обычном Chrome поменяло значение с undefined на false и тест не успели обновить. В данном случае, BAS также определяется как фреймворк для автоматизации, так же как и обычный Chrome.

    Еще один момент, при использовании прокси в данном тесте, нужно иметь резидентский ip.

    В новой версии "родные" данные canvas не являются уникальными, это можно проверить на странице https://browserleaks.com/canvas


    Оптимизации в работе CPU.

    Дополнительная нагрузка на процессор по сравнению с обычным Chrome может возникать при постоянной передаче изображения из браузера в BAS. Снизить ее оказалось совсем не простой задачей, для этого был переписан протокол передачи данных. Оригинальная версия тратила время на сжатие данные и передачу их по websocket, этот подход давал просто неприличные результаты при большой частоте кадров.

    Новый протокол помог, но решение все еще не было совершенным. Поэтому был добавлен адаптивное снижение частоты кадров. Если пользователь активирует браузер - fps повышается, при сворачивании браузера, он снова падает. Данный метод помогает значительно снижать нагрузку в многопотоке, а также не является опасным для выполнения скриптов, поскольку оптимизация не затрагивает никакой другой части браузера кроме передачи изображения.

    Если хотите узнать больше, рекомендую ознакомиться с видео https://www.youtube.com/watch?v=GHYMfwFJiHY&t=1279s


    Оптимизация использования жесткого диска.

    Размер профилей был значительно уменьшен по сравнению с обычным браузером.

    1) Отключен Crashpad.
    2) Отключена метрика браузера. Используется для получения сведений об удобстве использования браузера.
    3) В файл chrome_command_line.txt добавлены флаги запрещающие некоторые виды кеша. Это можно отключить отредактировав файл.

    Размер профилей сказался позитивно не только на количестве используемого дискового пространства, но и на времени запуска потока.


    Widevine

    В новой версии widevine нужно включать в настройках, либо в действии "Настройки Браузера". К сожалению, лицензирование BAS не произведено, поэтому сайты вроде spotify воспроизводить контент не будут.


    Действие "Яваскрипт"

    Добавлено новое действие "Яваскрипт", как и старое, оно может выполнять код в контексте браузера, но делает это намного качественней:

    1) Добавлена работа с переменными BAS.
    2) Ожидание асинхронных действий.
    3) Получение информации об исключениях.

    Старое действие продолжит работать, но теперь оно считается устаревшим.


    Установка referrer.

    Установка referrer теперь производится через действие "Загрузить" или "Добавить вкладку". Это нужно учитывать при портировании проекта.


    Смайлики.

    В новой версии добавлена поддержка смайликов при вводе текста. Такой метод ввода все равно не является достоверным, потому что смайликов нет на клавиатуре, а следовательно события keyup, keydown и keypress не эмулируются.

    Наличие смайликов в ресурсах проекта не позволит скомпилировать проект с защитой.

    Ввод символов состоящих из 4 байт еще не реализован, сюда относятся флаги стран.


    Новые факторы отпечатка.

    Для новой версии были добавлены новые факторы отпечатка. База еще не успела обновиться, поэтому рекомендуется использовать отпечатки не старше 2 недель.


    Обновления модулей.

    Были добавлены новые модули "Строка" и "SQL". Первый расширяет возможности BAS по работе со строками, есть действия для форматирования, редактирования, поиска строк, а также для парсинга текста. Второй - позволяет работать с популярными SQL базами данных: mysql, mariadb, postgres, sqlite, mssql. Есть возможность выполнять примитивные действия не вникая в синтаксис, а также выполнять произвольные запросы к базе.


    Ограничения новой версии.

    Некоторые вещи мы сделать не успели.

    1) Drag and Drop не поддерживается. Это значит что ползунок громкости в видео плеере перетащить можно, но перетащить файл в браузер пока нет.
    2) Запись http запросов пока не работает https://i.imgur.com/P1JxkxC.png.
    3) Отображение элементов select пока не работает https://i.imgur.com/ZkDmTBy.png. Но само значение элемента выбрать можно.
    4) HTTP аутентификация пока не работает.
    5) Отображение разных типов курсоров пока не работает https://i.imgur.com/fVAHclk.png
    6) Инструменты разработчика открываются в системном браузере в отдельном окне.
    7) Открыть инструменты разработчика для конкретного элемента пока невозможно.

    Это не самые важные вещи, поэтому откладывать выпуск версии до их завершения нецелесообразно. Тем не менее, все они будут исправлены в будущих релизах.


    Достижение максимальной аутентичности.

    Если сайту все равно удается обнаружить новую версию BAS и вы уверены, что дело не в прокси, не в номере телефона, последовательности действий, а именно в браузере, то вот список действий, которые необходимо предпринять:

    1) Убедитесь, что в хроме в режиме инкогнито или с новым профилем проблема повторяется.
    2) Отключите модуль AjaxReCaptcha2. Увы, его можно обнаружить.
    3) Отключите защиту canvas, webgl либо используйте PerfectCanvas.
    4) Попробуйте выполнить действия в режиме ручного управления(без автоматизации).

    Если ничего не помогло, используйте алгоритм в этой теме https://community.bablosoft.com/topic/12198/.


    Как портировать старый проект.

    Для этого нужно открыть старый проект в новой версии и внести такие изменения:

    1) Все действия "Установить заголовок" с параметром "Referer" нужно заменить на действия "Загрузить" либо "Добавить вкладку".
    2) Пересоздать действия: "Сброс", "Установить Значение Комбобокса", "Установить Индекс Комбобокса", "Выбрать Случайный Элемент Из Комбобокса", "Предыдущая Страница", "Добавить вкладку", "Проверить Существование"

    Нужно помнить, что формат cookies и профилей изменился. Если проект полагается на использование профилей старого формата, их нужно обновить.


    Дальнейшее развитие проекта.

    Планы по дальнейшему развитию браузера следующие:

    1) Обновить версию браузера до 90. Развивать инструменты ускоряющие обновление.
    2) Вернуть возможности, которые не были перенесены в новую версию. Добавить взаимодействие с интерфейсом расширений, в том числе и автоматизацию.
    3) Адаптировать PerfectCanvas для webgl, разрешить сбор данных в индивидуальном порядке.

    План может меняться со временем.

    В видео многие особенности новой версии показаны детальней https://www.youtube.com/watch?v=GHYMfwFJiHY.


    !ВАЖНО Обладатели 32-битной версии Windows не смогут обновиться в автоматическом порядке. После скачивания произойдет краш. Новую версию нужно перекачать. Для 64-битной версии проблем не будет.
    • 0
  10. Дипломник Аватар для uridimus
    • Регистрация: 17.12.2011
    • Сообщений: 108
    • Репутация: 74
    Выпущена версия 24.1.1.

    Далее представлен неполный список изменений со времени релиза 24.0.2:


    Расширения.

    В новой версии была улучшена поддержка расширений. Теперь их загрузка происходит автоматически, для этого достаточно указать url или id расширения в действии "Настройки Браузера". Старый способ - установка расширения из папки по прежнему может быть использован. Для корректной загрузки расширений из папки их нужно скачивать при помощи приложения ChromeExtensionManager.

    Интерфейс расширения теперь можно вызвать с помощью нового действия Нажать кнопку расширения. При этом интерфейс открывается в новой вкладке. Работа с ним осуществляется только так же, как и с другими сайтами. Доступна автоматизация расширений.

    В режиме ручного управления браузером появилось новое меню. Его использование аналогично использованию действия "Нажать кнопку расширения":



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

    Короткая демонстрация(2 минуты, без звука): ссылка
    Вики: ссылка
    Более детальное видео(7 минут со звуком): ссылка


    Обновление действий проекта.

    Теперь обновление действий при переходе на новую версию BAS происходит с помощью специального инструмента:



    Новый инструмент помогает пересоздать все действия проекта. Он появляется автоматически при запуске старого проекта из новой версии BAS, но его также можно вызвать из меню:



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

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


    Новые модули для решения FunCaptcha и HCaptcha.

    Были добавлены новые модули для данных типов капч: FunCaptcha, HCaptcha.



    Для решения нет необходимости изучать код элемента. Работа происходит точно так же, как и с ReCaptcha. Нужно выбрать элемент с капчей, выбрать сервис, заполнить поле с ключем и дождаться выполнения действия.

    Новые модули "URL" и "Путь"

    Они могут быть полезны при парсинге/создании/изменении URL и путей в файловой системе.



    Был добавлен функционал для более простой работы с символами переноса строк.


    Веб компоненты.

    Теперь BAS может получать доступ и корректно генерировать css, xpath и match селекторы для веб компонент.

    Также поддерживаются: циклы по элементам внутри веб компонент и генерация мультиселекторов, клавиши вверх/вниз для выбора селектора внутри веб компонент.

    Пока не поддерживается доступ в веб компоненты с shadow root созданных с типом closed.

    Был добавлен новый разделитель для селекторов >SHADOW>, но в подавляющем большинстве случаев создателям скриптов не нужно его использовать напрямую, а работа ничем не отличается от работы со стандартными html элементами:




    Антидетект.

    Был исправлен метод обнаружения CDP сессии используемый на сайте tiktok.com.

    Был исправлен метод обнаружения смены плагинов.

    Улучшен механизм добавления шума для rectangles отпечатка.

    Исправлен баг отправки client hints заголовков.

    Улучшена смена значений возвращаемых internationalization api.

    Защита imреrva, которая определяла BAS при смене прокси теперь так не делает.

    Улучшен алгоритм скрытия переменных в браузере.

    Исправлены некоторые проблемы с обнаружением BAS в режиме записи.

    Модуль AjaxRecaptcha2 может быть обнаружен. Опасный код перемещен в модуль ReCaptcha, который отключен по умолчанию.


    Модификация заголовков для всех запросов.

    Стандартные методы изменения заголовков, таких как User-Agent и Accept-Language, не меняют их для всех запросов.

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

    В BAS был добавлен механизм, который позволяет осуществить замену для абсолютно всех запросов.

    Он действует похожим образом на то, как туннелирование работает для прокси, только в этом случае речь идет о заголовках.

    Ниже скриншот, на котором видно, что замене подвергаются даже внутренние запросы Chrome:




    Оптимизация.

    Появилась возможность установить максимальный FPS. Это можно сделать в настройках или через действие "Настройки Браузера". Уменьшение частоты кадров может быть полезным для снижения нагрузки на сайтах с анимацией.

    По умолчанию значение установлено в 30.

    Раньше, при создании нового профиля, браузер выполнял несколько ресурсоемких задач. Это приводило к сильной кратковременной нагрузке на CPU. Сейчас это исправлено. Нагрузка при старте потока снизилась.

    Видео


    CPU

    Были отключены множество функций интенсивно потребляющих время процессора: разнообразные метрики, некоторые функции crashpad, постоянные проверки виртуальных дисплеев, получение hwid, родительский контроль и другое.

    Функционал, который влияет на работоспособность браузера мы не убирали. Эти патчи позволяют снизить нагрузку при создании профиля в среднем на 10% процентов.

    Убрана проверка контрольных сумм для внутренних расширений и мониторинг этих файлов.


    Память.

    Размер области памяти выделяемый на передачу изображения теперь динамический. Это позволило снизить объем потребляемой памяти, особенно для экземпляров браузера с маленьким разрешением.

    Исправлена ошибка, когда размер доступной физической памяти на машине мог определяться неточно.


    Жесткий диск.

    Был добавлен механизм кеширования профилей. Для того чтобы создать профиль, браузеру необходимо инициализировать каждый файл расположенный в папке профиля. Это улучшение позволяет копировать файлы профиля, а не создавать их каждый раз заново. Новый функционал касается и временных профилей, которые создаются каждый раз при запуске нового потока. Его можно отключить в настройках.

    Список модулей BAS кешируется чтобы не читать их при старте каждого потока.


    Улучшения работы редактора.

    Исправлена работа с любыми действиями, которые перезагружают редактор. Например, "Сброс" или "Создать или переключиться на локальный профиль". Эти улучшения касаются только режима записи.

    Точка выполнения больше не сбрасывается, а скрипт может корректно продолжить работу:

    Видео

    Перемещения точки выполнения больше не сбрасывает стек вызовов, состояние цикла и т. д.

    Видео


    UDP.

    BAS умеет туннелировать UDP протокол. Но не все socks5 прокси это поддерживают. QUIC - протокол основан на UDP разработан и используется преимущественно Google. Это может приводить к некоторым проблемам там где он используется. Например, на сайтах с рекламой Google могут наблюдаться фризы, страницы могут загружаться не полностью.

    Для решения данной проблемы в BAS по умолчанию теперь отключен QUIC. Рекомендуется убедиться, что ваши прокси поддерживают UDP и включить QUIC если это так. Сделать это можно в настройках или в действии "Настройки Браузера".


    Другие улучшения.

    Обновлен модуль "Работа с профилями": улучшена документация, некоторые действия адаптированы под новый движок.

    Исправлены вылеты после использования действия "Запись В Буфер Обмена".

    Исправлены возникновения бесконечных циклов при работе с действием "Эмуляция бездействия".

    Исправлены проблемы при обнаружении полной загрузки во время выполнения действия "Предыдущая Страница".

    Исправлено возможное копирование всей папки BAS в папку custom при обновлении.

    Улучшен механизм запуска браузера, теперь он запускается повторно, если первая попытка была неудачной.

    Оптимизирован код модуля "Строка".

    Улучшена работа редактора скрипта при прерывании действий.

    Отключены системные диалоги при работе с браузером.

    visibilityState страницы работает корректно при переключении вкладок.

    Теперь BAS работает корректно на сервере после отключения RDP сессии.

    Исправлена потеря фокуса при работе BAS в фоне.

    Исправлен ввод диакритических символов и символов с зажатым правым Alt.
    • 0
Страница 8 из 9 Первая ... 6789 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Создавайте и администрируйте сайты для госучреждений, Проконсультирую :)
Другая работа 14 31.07.2016 13:55
Бесплатно создам прототип для сайта / прототип для мобильного приложения (AXURE).
Web программирование 6 03.05.2014 04:44
Заработок на ANDROID! Возможно ли без навыков программирования?
Вопросы от новичков 25 21.01.2013 16:34
[Палю тему] Качаем приложения с appstore БЕСПЛАТНО!
Прочее 2 20.11.2012 20:27

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры