Как игнорировать ошибки
БАС позволяет игнорировать ошибки во время выполнения скриптов с помощью действия «Игнорировать Ошибки»:
Обычно БАС перезагрузит поток в случае, если произошла ошибка.
Но вы можете избежать этого поместив действия в блок «Игнорировать Ошибки». Следующий пример показывает, как игнорировать ошибки во время загрузки страницы:
Блок «Игнорировать Ошибки» может содержать несколько блоков, если один из них выполнится с ошибкой, то следующие за ним будут пропущены:
Вы можете прочитать переменную WAS_ERROR чтобы проверить, были ли ошибки во время последнего блока «Игнорировать Ошибки».
В переменной LAST_ERROR содержится текст ошибки.
Пример использования на следующем видео: https://www.youtube.com/watch?v=StmlVY1D5Yg
-
15.11.2018 02:09
Выпущена версия 21.4.1, в этой версии присутствует несколько больших изменений:
Действие ‘Прокси’ теперь не только меняет прокси, но и делает так, чтобы смена прокси выглядела более правдоподобно.
Работа в основном окне программы (оно черного цвета) теперь происходит более интуитивно.
Исправлен один очень неприятный баг связанный с несвоевременным освобождением памяти при работе с одним браузером на протяжении долгого времени.Давайте рассмотрим каждое изменение более подробно.
Для начала немного информации про WebRTC, так как этот функционал встроен в любой современный браузер, а с помощью него можно получить данные о реальном ip даже используя прокси. WebRTC — набор апи, которые помогают устанавливать соединение между браузерами и передавать между ними информацию. Причем предпочтение отдается именно прямому соединению, и только если оба браузера находятся за фаерволом или NAT, то используется специальный сервер чтобы передавать трафик через него. Установить соединение бывает непросто учитывая то, что ipv4 адресов недостаточно для всех устройств и большинство из них находятся в приватных сетях, имеют адреса вида 192.168.*.* или 172.16.*.* и обмениваются информацией с остальными через NAT. WebRTC использует такой алгоритм чтобы установить соединение — сначала устройства получают информацию о конфигурации своих сетей и обмениваются ей через какой-то другой канал, потом они пытаются соединиться используя разные варианты конфигурации. Допустим, если устройства находятся в одной сети, то для установления соединения достаточно использовать ip в этой сети, если одно из устройств имеет внешний ип, то оно выступает в роли «сервера» и к нему подключается второе устройство, или наоборот. Нам интересна как раз конфигурация сети, поскольку она содержит реальные ip адреса. WebRTC допускает ее чтение, и даже редактирование через javascript перед отправкой собеседнику. Информация имеет формат SDP описанный в данных документах https://tools.ietf.org/html/rfc5245#section-15 https://tools.ietf.org/html/rfc4566. По следующей ссылке ее можно получить через ваш браузер https://jsfiddle.net/wrbyLqkn/1/, скорее всего там есть ваш реальный ip. В качестве одного из параметров данной информации выступает внешний ip браузера, он получается через запрос к STUN серверу. Функционал данного сервера очень прост — возвращать устройству сделавшему запрос его реальный ip адрес. Сайт сам задает STUN сервер, который хочет использовать, например, в коде выше использовался такой сервер stun.l.google.com:19302. Запросы к этому серверу идут через протокол UPD(вместо TCP) минуя прокси. Суммируя вышесказанное, javascript может совершать запрос к произвольному серверу без прокси и получать ответ в виде реального внешнего ip. Вот ссылка на хорошую статью если вы хотите ознакомиться с вопросом более детально https://www.html5rocks.com/en/tutori…nfrastructure/
До недавнего времени в BAS использовался алгоритм, который запрещает любые запросы подобного рода. В данной версии, BAS изменяет ip полученный от сервиса на внешний ip текущего прокси, это происходит по умолчанию при использовании действия ‘Прокси’, тем не менее новый функционал можно отключать в этом же действии. Рассмотрим детали реализации:
1) Подмена ip происходит на уровне браузера, через js обнаружить ее невозможно.
2) Разные браузеры могут выдавать информацию в формате SDP, тем не менее немного отличающуюся. Подмена может осуществлятся через замену текста, и такой метод можно обнаружить проверив некоторые детали специфичные для браузера. BAS выдает информацию именно так, как это делает Chrome, без замены текста.
3) Запросы к любому STUN серверу запрещены. Даже если запретить получение информации непосредственно через js, но оставить возможность браузеру делать запрос к серверу, то реальный ip не будет известен клиенту, но будет известен серверу и если настроить несколько серверов или несколько портов и связать пользователя с конкретным сервером, то ip можно получить уже на стороне клиента. BAS защищает от подобного метода.Есть простой метод, как можно проверить, пытается ли сайт получить ваш ip через WebRTC или нет, достаточно установить Wireshark, в поле фильтра установить строку stun и зайти на сайт, в случае использования WebRTC в окне приложения будут запросы. Вот видео, которое это демонстрирует: https://i.imgur.com/LwKQY7S.gifv
В случае BAS, запросов не будет, хоть ip и будет возвращаться.
Почему бы не сделать запросы к STUN серверу через туннелирование?
Дело в том, что не все прокси поддерживают протокол UPD, хотя это и указано в спецификации. Пример такого прокси https://i.imgur.com/ubKq7nZ.gifv В будущем BAS будет проверять прокси на такую возможность, но сейчас все запросы к STUN серверу запрещены.Как видите, данная реализация хоть и не является идеальной, но достаточно близка к ней.
Кроме этого, действие ‘Прокси’ теперь также умеет автоматически изменять геолокацию и часовой пояс браузера.
Изменение часового пояса теперь также происходит на уровне браузера — абсолютно все даты, которые возвращает браузер теперь имеют часовой пояс точно такой же, как и у прокси.
BAS научился корректно возвращать измененную дату с учетом летнего времени.
Еще один способ, которым можно обнаружить примерное реальное месторасположение является использование internationalization api( https://developer.mozilla.org/en-US/…DateTimeFormat ). Пример использования: https://jsfiddle.net/0Lq2km96/, по ссылке должно отобразится ваше примерное реально месторасположение независимо от прокси и впн.
Эти значения также заменяются при использовании действия ‘Прокси’, вы можете убедится в этом зайдя на данную страницу из BAS.
Наконец, бывают ситуации, когда ip, который вы используете для доступа к прокси не соответствует его внешнему ip, в таких случаях BAS будет получать внешний ip через сервис ip.bablosoft.com. К сожалению, не существует способа получить адрес без сетевого запроса. Сервис должен стабильно работать при 20к запросах в секунду. Настройка отключаема.
Немало внимания в новом апдейте было уделено удобству использования основного окна.
Для элементов, значение которых может быть не совсем понятным, появились подсказки.
Реализовано множество удобных мелочей: список недавних проектов теперь находится всегда на основной панели, путь к текущему проекту можно скопировать, все иконки заменены на такие, что смотрятся лучше при маленьком размере элементов, изменены значки запущенных браузеров.
Добавлена возможность быстрого обмена проектами — открытие проекта по ссылке и загрузка на гугл диск.
Обновлено окно компиляции проекта, оно стало более интуитивным и интегрированным с облаком. Теперь проект можно обновлять/создавать прямо из BAS, появилась возможность не создавать архив при каждой компиляции.Было потрачено много времени на поиск причины и исправление бага с несвоевременным освобождением памяти. Баг существовал все время на протяжении жизни проекта и проявлялся только тогда, когда несколько браузеров работали 10 и больше часов без перезапуска. Потребление памяти увеличивалось приблизительно на 5-10 мб в час, через несколько дней непрерывной работы проект становился неработоспособным. Ошибка была связана с библиотекой Qt, был найден метод как обойти этот баг.
Надеюсь, что новая версия вам понравится и будет полезной!
- 0
-
19.12.2018 03:30
Выпущена версия 21.5.1. В ней содержится множество изменений связанных с анонимностью браузера. Давайте рассмотрим их подробнее:
Современные браузеры поддерживают апи для работы со звуком. Используя методы этого апи сайт может генерировать и обрабатывать звук, а также получать доступ к бинарным данным. По аналогии с Canvas и WebGL, данные звука также содержат небольшие отличия в зависимости от железа, браузера и системы. Эти отличия могут быть использованы чтобы идентифицировать вас среди других пользователей сайта даже при использовании прокси. В новой версии поддерживается смена отпечатка аудио — BAS добавляет разные шаблоны шума в возвращаемые данные при каждой смене отпечатка. Кроме того, данное апи также дает доступ к разным системным параметрам связанных со звуком. BAS подменяет эти параметры, значения берутся из реальных устройств при помощи сервиса FingerprintSwitcher.
Подробнее о б этой технике можно прочитать в этой статье http://randomwalker.info/publication…easurement.pdf пункт 6.4.
На этом сайте можно получить отпечаток аудио для вашего браузера https://audiofingerprint.openwpm.com/Сайт может получать данные об языке системы несколькими способами. Это заголовок Accept-Language, navigator.language и navigator.languages, а также некоторые методы апи для интернализации. Эти свойства могут содержать не один, а несколько языков, также заголовок Accept-Language имеет разный формат в зависимости от системы. Эти отличия служат одним из факторов для отпечтака браузера. После небольшого теста обнаружилось, что на 20000 пользователей приходится 751 уникальных значений поля Accept-Language. Конечно, заменять эти поля на реальные значение из другого устройства было бы неправильным, потому что это создало бы несоответствие между языком системы и текущим прокси. Поэтому был разработан алгоритм, который «соединяет» страну/язык текущего ип и формат реальных полей из реального устройства. Например, если оригинальный заголовок был таким ru-RU,en-US;q=0.9, а прокси находится в Германии, то результат будет таким de-DE,en-US;q=0.9. Алгоритм корректно сохраняет формат и удаляет ненужные языки, например, такое поле ru, uk;q=0.8, be;q=0.8, en;q=0.7, *;q=0.01 будет заменено таким de, en;q=0.8, *;q=0.01. Текущий ип, страна и язык получаются при применении прокси.
Подробнее о поле Accept-Language https://tools.ietf.org/html/rfc7231#section-5.3.5
Результаты тестирования алгоритма https://pastebin.com/raw/mmgVmbybОдним из свойств железа к которым сайт имеет доступ через javascript является заряд аккумулятора. Исследования в статье приведенной ниже показывают, что данная информация не опасна для пользователя, поскольку позволяет отслеживать его только в краткосрочной перспективе. Действительно, заряд аккумулятора постоянно меняется, а предсказать какие значения будут через длительное время невозможно. Тем не менее, для отслеживания массовых действий такой метод может быть полезен. Представьте, что вы запускаете BAS с ноутбука, а сайт видит как одновременно проходят тысячи регистраций с устройства, заряд которого равен 56%, а до конца зарядки осталось 35 минут. Конечно, можно запускать софт только на стационарном устройстве или полностью заряженном ноутбуке, но это тоже может быть подозрительно при применении мобильных отпечатков. Поэтому было решено эмулировать зарядку/разрядку аккумулятора, а также все события и возвращаемые апи значения на устройствах, который имеют аккумулятор. Информацию о его наличие предоставляет сервис FingerprintSwitcher. Вот как это может выглядеть: https://i.imgur.com/tDnZFDl.png на графике видно, что значения постепенно уменьшаются.
Статья об отпечатках аккумулятора https://eprint.iacr.org/2015/616.pdf
Результаты работы апи для вашего браузера https://fingerprints.bablosoft.com/battery Не удалось найти сервис, который показывает значения в динамике, поэтому сделал свой.BAS использует некоторое количество вспомогательного кода для поиска элментов, внедрения решения рекапчи и другого. Раньше софт можно было обнаружить по наличию этого функционала, поэтому в новой версии он спрятан, все имена функций генерируются для каждого потока разные. Переработан механизм внедрения отпечатков, если раньше BAS полагался на использование конструкций вида Object.defineProperty, то сейчас подмена происходит внутри браузера. Старый метод используется только для изменения списка плагинов и в местах где это абсолютно необходимо. Например, Chrome, в отличие от Firefox не поддерживает апи для работы с VR шлемами. Поэтому для эмуляции этого функционала приходится использовать javascript. Обход некоторых других методов, которые используются для определения движка браузера также преписаны на с++.
Была улучшена эмуляция работы с мышью. Теперь при перемещении к элементу невидимому на экране используется колесо мыши, а не javascript как раньше. Если элемент находится далеко за пределами видимой области, скорость скрола намного быстрее, чем если бы он был совсем рядом. При этом перемещения происходят «рывками», как у реальных пользователей. Вот как это выглядит https://i.imgur.com/IdH2edf.gifv. Первоначальное положение курсора выбирается случайно, а не в левом верхнем углу как раньше. Увеличена частота генерации событий связанных с перемещением мыши.
Эмуляция порядка заголовков временно не работала при переходе к туннелированию. Сейчас этот функцинал возвращен. Порядок заголовков берется из реального устройства.
Добавлена возможность сохранять отпечаток в папке профиля и загружать его от туда при применении профиля. При получении информации о текущем профиле можно узнать, содержит ли он отпечаток, результат будет возвращен в переменную HAS_FINGERPRINT.
Был полностью переписан алгоритм замены шрифтов. Раньше BAS внедрялся в процесс браузера «на лету» и подменял некоторые системные вызовы, сейчас тот же эффект достигается за счет изменения исходного кода браузера. Новая реализация позволяет менять набор шрифтов не перезагружая браузер, а также избавится от некоторых багов. Сейчас для полноценной работы желательно, чтобы на машине, на которой запускается BAS было установлено как можно шрифтов, в будущем новые шрифты будут генерироваться самостоятельно за счет добавления шума.
Добавлена поддержка туннелирования флеш. Это означает, что абсолютно все запросы, которые делает процесс флеш будут проходить через заданный прокси. Следует понимать, что флеш обладает гораздо большими возможностями чем javscript и поэтому его включение — удар по анонимности. В BAS скорее всего не будут применятся техники для того, чтобы сделать флеш более безопасным, как это делается с javscript потому что его поддержка будет прекращена Adobe в 2020 году https://theblog.adobe.com/adobe-flash-update/ Если элемент с флеш меньше определенного размера Chrome просит пользователя подтвердить его запуск, в новой BAS версии сделано так, пользователь автоматически соглашается это сделать(если флеш включен).
Проверить ип возвращаемый через флеш можно на этом сайте https://whatleaks.com/
Некоторые другие изменения не касающиеся отпечтаков:
Веб интерфейс теперь может использовать localStorage для хранения настроек софта между запусками.
Bызов метода BAS_API из Node.js теперь генерирует исключение в случае ошибки. Теперь можно сделать так:
Код:
try { await BAS_API(`load("wrongurl11111.com")!`) }catch(e) { console.log(`Что-то пошло не так: ${e}`) }
Новая настройка для приложений с защитой: «Разрешать запускать только один экземпляр приложения».
Исполняемые файлы BAS теперь подписаны. Это позволит быстрее проходить проверку SmartScreen на Windows 10, также избежать ложноположительных срабатываний антивирусов.
Заново переписан механизм перетягивания блоков за пределы рабочей области(при обновлении браузера он перестал работать).
Исправлено множество багов, среди которых:
Исправлен баг с установкой referrer и перенаправлениями страницы.
Сетевые ошибки при загрузке проекта в скомпилированных скриптах теперь не сообщают урл сервера.
Исправлено исчезновение прошлого проекта после неудачной загрузке.При переходе на новую версию BAS, старые проекты будут работать по старому, если вы хотите использовать новый функционал, то нужно начать редактировать действия ‘Прокси’, ‘Применить отпечаток’ и ‘Получить отпечаток’ и нажать на Ok ничего не меняя.
Это не все изменения находящиеся в разработке, до конца года планируется выпустить новый аддон для BAS — FingerprintDetector.
- 0
-
30.01.2019 04:50
Вышла версия 21.6.1.
Основное изменение в этой версии — поддержка FingerprintDetector. Подробнее здесь FingeprintDetector — универсальный ответ, почему ботов банят.
Также было сделано несколько изменений и исправлений в BAS:Сервис FingerprintSwitcher теперь подменяет список расширений видеокарты и многие другие параметры:
При добавлении нового функционала прокрутки страницы было допущено несколько ошибок, например, не совсем корректно работало ожидание элемента. Сейчас эти проблемы исправлены.Поиск писем теперь поддерживает utf-8 кодировку. В частности это позволяет использовать кириллицу для поиска по теме письма или его содержимому.
Список исключений для Capmonster и Recaptcha2 теперь пуст по умолчанию, что позволяет передавать в софт абсолютно все запросы. Раньше его нужно было настраивать вручную.
Добавлен новый метод для XEvil и капчи с изображением, его использование позволяет экономить время при работе с данным софтом и избежать некоторых ошибок связанных с неточным получением изображения.
Действие «Шаблон» позволяет игнорировать спинтакс и не заменять переменные и ресурсы их значениями(поведение настраиваемое). Таким образом можно создавать многострочные переменные с специальными символами.
Исправлена ошибка с таймаутом при закрытии вкладки.
Исправлена ошибка с накоплением идентификаторов при создании и закрытие вкладок в цикле.
FingerprintDetector и FingerprintSwitcher теперь корректно работают вместе. Однако, лучше всего запускать Detector без примененного отпечатка.
В настройках BAS теперь находится ссылка, перейдя по которой можно отлаживать интерфейс прямо в браузере.
При создании действий «For», «While», «Foreach» и «Игнорировать ошибки» на панель сценария будут также добавляться вспомогательные действия.
У каждого действия теперь есть кнопка для игнорирования ошибок на протяжении его выполнения:
По кнопкам для перемещения точки выполнения легче попасть за счет увелечения их площади.
————-
Следующим изменением будет ручное управление браузером с поддержкой записи сценария, работы в скомпилированном или в запущенном виде. Будет специальное действие для передачи контроля пользователю в многопоточном режиме. Также будет поддерживаться веб интерфейс. Ожидать апдейт можно через 2-3 недели.
- 0
-
06.03.2019 16:55
Добавлена возможность управлять браузером в ручном режиме.
Это означает, что все действия мыши и клавиатуры будут передаваться в браузер напрямую. Данная возможность является опциональной, а старый режим управления без каких-либо изменений сохраняется в новой версии как один из возможных вариантов. Вот полный список всех способов взаимодействовать с браузером в новом режиме:
- Клики мышью.
- Перетягивание, включая html5 drag and drop.
- Двойное нажатие.
- Ввод с клавиатуры.
- Быстрые клавиши Ctrl-C, Ctrl-A, …
- Смену урл.
- Скролл с помощью полосы прокрутки.
- Управление вкладками.
- Историей браузера(действие назад).
Чтобы включить новый режим, нужно нажать на данную кнопку:
Режимы также можно переключать достаточно быстро с помощью горячих клавиш(F1, F2, F3).
Видео. Управление в ручном режиме.
Автоматическая запись скрипта.
BAS также может записывать скрипт при включенном ручном управлении. Для это нужно переключиться в третий режим на соответствующей вкладке или нажать F3. При этом любое взаимодействие с пользователем будет конвертироваться в действия и добавляться на панель сценария. Туда будут попадать все действия, кроме, разве что прокрутки страницы. BAS будет стараться соединять действия в цепочки, например, клик по элементу и ввод текста будут объеденены в «Ввод текста» в элемент, поэтому панель сценария будет заполняться не сразу. Действие «Ждать полной загрузки» будет добавляться по мере того, как страница будет загружаться в браузере.
Видео. Автоматическая запись скрипта.
Управление браузером в многопоточном режиме.
Новые возможности доступны также в многопоточном режиме, для нужно вызвать действие «Ручное управление браузером». Данное действие сражу же передаст контроль над браузером пользователю, он получит соответствеющее уведомление — браузер будет подсвечен красным,
а в самом браузере появится ссылка, нажав на которую его можно остановить и передать контроль обратно в скрипт
Данный метод позволяет реализовать совместное управление браузером — часть работы будет делать пользователь, часть работы скрипт. Например, ввод капчи или авторизацию на сайте может совершать сам пользователь, а все остальное будет выполняться скриптом автоматически.
Видео. Управление браузером в многопотоке.
Управление браузером и веб-интерфейс.
При использовании веб-интерфейса ручное управление браузером происходит все равно в нативном окне. После события manual_control_start интерфейс должен выполнить метод ShowBrowser чтобы передать контроль пользователю. Более подробно данный процесс описан в мануале, который тоже обновился. В дополнение вы можете посмотреть код автоматически сгенерированного интерфейса, он также содержит обработку новых событий, или просто оставить автоматически сгенерированный код без изменений:
Видео. Управление браузером в режиме веб-интерфейса.
Больше информации.
Более подробная информация, а также примеры использования доступны по данной ссылке
Видео. Ручное управление, полный обзор.
- 0
-
19.04.2019 00:20
Предлагаем вам скидки 50% на XEvil.
XEvil — простая, быстрая и удобная программа для полностью автоматического распознавания и обхода подавляющего числа капч (CAPTCHA), без необходимости подключения каких-либо сторонних сервисов.
Право получить скидку имеют:
Клиенты уже купившие BASPremium или ключ к FingerprintSwitcher на 3 месяца начиная с 10 апреля 2019.
Клиенты, которые будут покупать BASPremium или ключ к FingerprintSwitcher на 3 месяца до 1 мая 2019.
Акция ограничена по времени до 1 мая 2019, воспользоваться скидочным купоном после этого времени не удастся.
Чтобы получить скидочный купон необходимо написать письмо на почту mail.to.twaego@gmail.com с темой XEvil скидка.
Количество скидочных купонов также ограничено 30.
- 0
-
19.05.2019 21:39
Выпущена версия 21.8.0.
Данная версия содержит одно большое изменение — добавление планировщика задач. Этот механизм позволяет работать сразу с несколькими приложениями написанными в среде BAS. Список возможностей планировщика:
- Возможность загружать скрипты из запущенного экземпляра BAS, из облака или из файла.
- Гибкая система настройки времени запуска.
- Сбор информации о выполнении задач.
- Контроль выполнения задач как в автоматическом, так и в ручном режиме.
- Интеграция с компилируемыми приложениями и с веб-интерфейсом.
- Быстрое перемещение списка задач между машинами.
- Удобный дружелюбный интерфейс.
- Возможность запускать планировщик как отдельное приложение.
Принцип работы.
При первом запуске приложение устанавливается на ПК пользователя и добавляется в автозагрузку. Такая архитектура необходима для того, чтобы иметь возможность выполнять задачи, когда BAS не запущен. Для начала работы необходимо нажать на данную кнопку в меню:
Появившееся после этого окно является центром управления всеми задачами на данной машине, здесь можно создавать задания и получать информацию об их выполнении. Так выглядит планировщик открытый в первый раз:
А это рабочая версия:
Создание задачи происходит по клику на кнопку «+» в правом нижнем углу. Пользователю необходимо заполнить информацию о проекте, ввести ресурсы и задать время выполнения. Ресурсы задаются только при редактировании или создании, а введенные значение потом будут использованы при запуске.
Софт поддерживает множество разнообразных способов задать время запуска, есть вклада, которая отображает прогнозируемое время запуска и типичные примеры использования:
Получение информации о выполнении.
Основная область содержит логи и список задач, для получения отчета о конкретной задаче необходимо нажать на кнопку меню:
Меню содежит более подробную информацию: ссылку на лог, результаты, отчет, если этого недостаточно, то по нажатию на ссылку «Показать/скрыть» вы можете открыть привычный интерфейс скрипта запущенного на BAS:
Архив заданий.
Любая задача, после завершения своего цикла запусков попадает в архив. Задачи из архива уже не будут запланированы, но они также еще не удалены. Пользователь может восстановить задачу из архива, либо оставить ее там на неопределенное время. Таким образом, архив можно использовать как каталог задач доступных на данном ПК.
Перемещение списка задач на другой ПК.
Софт поддерживает перенос задач на другую машину, для этого достаточно зайти в меню и выбрать «Сохранить все задания в файл»
Будут перенесены не только скрипты подгружаемые из облака, но и задачи загруженные из файла. Это относится и к проектам и к графику запусков. Теперь сделать VPS нагруженный скриптами BAS проще простого.
Интеграция с компилируемым приложением.
Существует также способ предоставить доступ к планировщику пользователям компилируемых приложений. Для этого необходимо указать при компиляции опцию «Интегрировать планировщик в приложение».
При этом, пользователь при старте скрипта увидит новое окно:
Он может выбрать либо запустить планировщик, либо запустить скрипт один раз мгновенно. От разработчика не требуется писать дополнительный код или присылать новый архив, достаточно просто установить флаг при компиляции.
Веб интерфейс и планировщик.
Указанная выше настройка подходит и для веб интерфейса, новое окно отображается и там. Кроме того, при добавлении задачи с интерфейсом, при выборе ресурсов будет отображено не нативное окно, а именно созданный разработчиком интерфейс бота.
Добавлены новые методы апи:
Код:
Api.HasScheduler() Api.ShowScheduler()
И новое событие «run_type_select»
При переходе на новую версию интерфейс для входа необходимо сгенерировать заново или самостоятельно обработать новое событие:
Запуск планировщика отдельно от BAS.
Премиум пользователи могут найти ссылку на новый проект — TaskScheduler у себя в персональном кабинете. Фактически это планировщик как отдельное приложение, без BAS. Данный дистрибутив рекомендован к установке на VPS.
Сам процесс запуска установки пачки скриптов на сервере можно увидеть на видео:
- 0
-
11.06.2019 14:01
Выпущена версия 21.8.0.
В ней главный упор сделан на усовершенствование системы смены отпечатков.
Переработан механизм смены canvas.
Метод, которым меняется отпечаток canvas значительно усовершенствован. Это сделано для того, чтобы смена отпечатка не определялась больше антидетект системами. Сюда входит целый комплекс мер, приведу только один пример — вместо замены цвета для каждого пикселя, все изображение теперь анализируется, находятся его контуры, далее цвет меняется только «на границе»:
Граница на изображении выше выделена красным цветом.
Это позволяет проходить некоторые тесты без негативных результатов:
(navigator дает ложно позитивный результат и в обычном браузере, dns зависит от прокси).
Также, я добавил несколько своих тестов для определения аутентичности canvas:
https://fingerprints.bablosoft.com/canvas
Изменение canvas теперь работает и с alpha каналом.
Это означает, что если элемент canvas содержит черно белое изображение, то отпечаток все равно будет меняться.
Новая версия BAS по умолчанию отрисовывает содержимое браузера используя видеокарту.
Старая реализация использовала исключительно CPU, но это можно обнаружить. Прежний способ отрисовки можно вернуть обратно заменив значения
Код:
--disable-gpu-deleted --disable-gpu-compositing-deleted
на
Код:
--disable-gpu --disable-gpu-compositing
В файле chrome_command_line.txt
Значительно увеличилась скорость при применении отпечатков.
Теперь BAS не тормозит при посещении сайтов, которые интенсивно работают с графикой, например, стриминговых сервисов.
Добавлен новый фактор для FingerprintSwitcher: ClientRectangles.
Данный метод позволяет составить отпечаток устройства через получение размеров специально составленного элемента. В отличии от canvas, анализируется только ширина, высота, и координаты, а не цвета каждого пикселя. Эти значения являются платформозависимыми и могут быть использованы для составоения отпечатков. Теперь BAS добавляет к ним шум, достаточный для того, чтобы менять отпечаток, но не настолько большой, чтобы нарушить работу сайтов.
Протестировать можно здесь:
https://browserleaks.com/rects
Исправлены проблемы смены даты при переходе на летнее время.
Данные рассчитываются согласно текущим правилам перехода на летнее время в стране, где находится ip.
Простенький тест, который показывает есть ли переход на летнее время в вашей стране или регионе. Он не зависит от текущей даты, и это хороший тест справляется ли ваша система смены отпечатков с датами:
https://jsfiddle.net/jp6rkcs4/
Возможность продлевать ключи FingerprintSwitcher и приобретать ключи без привязки к ip.
Данные возможности появятся через несколько дней.
Обновлен планировщик.
Новая версия 1.2.0 содержит переработанный механизм прерывания задач. Любая задача будет остановлена мгновенно, неважно на каком этапе выполнения или установки она находилась.
По причине того, что, чтобы обновить планировщик, нужно остановить все задачи, вам нужно согласиться на обновление при следующем запуске. В автоматическом режиме планировщик обновляться не будет.
Блок «Игнорировать ошибки» теперь отлавливает ошибками при выполнении javascript.
Это могут быть: ошибки парсинга json, несуществующие переменные и т. д.
Реализована работа с нативными комбобоксами.
Однако, автоматизировать выбор элемента все еще нужно старым способом. Это изменение будет очень полезно для использования в режиме ручного управления.
И множество других изменений:
- Домен сайта теперь получается через прокси при использовании хттп клиента.
- Исправлены ошибки при работе с вложенными циклами для элементов.
- Из логов и других файлов скомпилированных скриптов убранны упоминания о BAS.
- Исправлны проблемы при работе с базой данных и типом данных из даты.
- Любые ошибки без блока «Игнорировать ошибки» во время выполнения OnApplicationStart приведут к завершению приложения.
- При выборе альтернативного сервера для решения капчи, BAS автоматически добавляет слеш к урл сервера.
- При использовании отрицательных координат для перемещения мыши, будут автоматически вызваны события о перемещении мыши за пределы экрана.
- Исправлены проблемы с вызовом событий о видимости браузера в веб интерфейсе.
- 0
-
24.08.2019 15:48
Выпущена версия 22.0.0
Она содержит множество улучшений для веб интерфейса, а также обновление интерфейса редактора скрипта.
Функции теперь имеют параметры и возвращаемое значение.
Добавлены действия «Получить Параметр Функции» и «Return«.
Задать список параметров и их описание можно в менеджере функций
Теперь одну и ту же функцию можно вызывать с разными параметрами, что упростит повторное использование кода.
Новые действия содержат интерактивную документацию, подробности можно узнать там.
Менеджер функций.
Работать с функциями теперь можно в отдельном окне, которое называется менеджером функций.
Все элементы управления, а именно: создание, редактирование, удаление функций, были перенесены туда.
Добавлена возможность поиска функций и задание параметров.
Основное окно:
Редактирование функции:
Действия «Получить Параметр Функции» и «Return» добавляются в редактор скрипта автоматически.
Расширение API для веб интерфейса.
Добавлено множество методов, которые можно вызывать из веб интерфейса.
Методы для взаимодействия с системным окном:
- MoveWindow — смена положения окна.
- ResizeWindow — изменение размеров окна.
- Api.OpenFileDialog, Api.SaveFileDialog — вызов системного диалога выбора файла.
- ShowNotification — показ системных уведомлений в трее.
- OpenUrl — посещение заданного url, открытие файла или программы.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-inter…ngnativewindow
Все генерируемые диалоги для выбора файла были заменены на нативные.
Добавлено синхронное API для работы с файловой системой. Сюда входит: чтение/запись файлов, работа с папками.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-interface/#/filesystem
Начальные размеры окна можно задать прямо в его настройках:
Создавать интерфейс теперь можно с нуля.
Это можно было делать и раньше, но сейчас для этого появились дополнительные возможности.
При создании и генериции интерфейса можно выбрать его тип:
Появилась возможность сохранять изменения прямо из редактора кода и вообще не заходить в визуальный редактор интерфейса.
Новый тип интерфейса заставляет BAS работать принципиально новым способом, вместо того, чтобы запускать один скрипт сразу, как это было раньше, теперь можно реагировать на события на странице(например, нажатия кнопок) вызывая BAS функции, а параметры для этих функций можно брать прямо из веб интерфейса.
Вызов функций BAS и создание потоков из веб интерфейса.
Теперь неограниченное число потоков можно создавать прямо из веб интерфейса, а также вызывать в них функции с заданными параметрами.
Для получения результатов можно использовать объект Promise или ключевое слово await.
Код:
//Создаем поток var Thread = new BASThread() //Устанавливаем прокси await Thread.RunFunction("SetProxy", {"ProxyLine": "socks5://127.0.0.1:11185"}) //Вызываем функцию для парсинга var LinksList = await Thread.RunFunction("MakeGoogleQuery", {"Query": "cats"}) //Останавливаем поток Thread.StopThread()
Данное API умеет обрабатывать ошибки и имеет специальное расширение к объекту Promise, которое останавливает поток.
Более подробно здесь:
https://wiki.bablosoft.com/web-inter…allbasfunction
Существует возможность отлаживать выполнение функций прямо в BAS:
Приложение ParseGoogle. Демонстрация функционала.
Было создано новое приложение ParseGoogle. Оно парсит выдачу по заданному запросу.
Приложение довольно примитивно с точки зрения функционала, зато имеет приятный интерфейс и хорошо демонстрирует новые возможности.
Конечно же, все это сделано на BAS.
Скомпилированное приложение
https://bablosoft.com/distr/ParseGoo…arseGoogle.zip
Проект BAS
https://bablosoft.com/distr/ParseGoo…arseGoogle.xml
Веб интерфейс
https://bablosoft.com/distr/ParseGoo….interface.txt
Данное видео демонстрирует процесс создания
Вызов функций BAS и создание потоков из node.js.
Функции BAS теперь можно вызывать и из node.js.
Так же, как и для веб интерфейса есть возможность ожидать результатов и обрабатывать ошибки.
Код:
var Result = await BAS_FUNCTION( "FunctionName", {ParamName1: "ParamValue1", ParamName2: "ParamValue2"} )
Подробней здесь:
https://wiki.bablosoft.com/doku.php?…_bas_functions
Этот метод значительно упрощает взаимодействие с браузером и с BAS из node.js
Улучшения интерфейса
Внешний вид редактора скриптов был переработан.
Добавлена визуализация меток, метки можно создавать перетаскиванием специального элемента управления:
Добавлена справка по основным возможностям BAS:
В нее можно попасть нажав на кнопку по центру, справа в редакторе скрипта.
Справка содержит описание для каждой группы(циклов, условий, парсинга и т .д.), с основными принципами работы.
Там также находятся основные действия и примеры использования.
Был обновлен инспектор переменных — теперь он показывает состояние ресурсов, его размер может быть изменен.
Переход к функции может быть осуществлен по клику на названии функции в действии «Вызов функции».
Место для активной вставки действия не изменяется при редактировании скрипта.
Описание действия сохраняется вместе с сохранением данных.
Верхняя панель в редакторе скрипта была заменена на меню.
Вместо задания количества успешных и неудачных выполнений теперь можно выбрать «Повторять»
Обзор нового интерфейса можно найти в этом видео:
Исправление ошибок
Планировщик не перестает работать при питании от аккумулятора.
Исправлено решение рекапчи если функция ответа является строкой.
Исправлено падение при сворачивании веб интерфейса в трей на Windows 10.
При отсутствии информации о кодировке почтового сообщения, BAS не подразумевает что письмо закодировано в quoted printable.
Исправлено падение при установке скорости мыши из строки.
Исправлено смешивание ресурсов если планировщик запускает одинаковые проекты одновременно.- 0
-
20.09.2019 20:34
Выпущена версия 22.1.0
Она содержит множество исправлений ошибок, а также некоторые фичи, которые запрашивали пользователи.
Recaptcha V3
Добавлено уведомление о каждом использовании сайтом Recaptcha V3 в режиме записи.
Уведомление содержит название действия, которое было использовано сайтом.Добавлено новое действие «Recatpcha V3», оно задает параметры решения Recatpcha V3.
Доступные сервисы: 2captcha.com, rucaptcha.com, anti-captcha.com
Возможно выборочное решение только для нужных действий, установка минимального рейтинга.Видео. Решение Recaptcha V3
Больше подробностей по использованию действия вы можете найти в интерактивной документации.
Фильтрация отпечатков
Теперь стало возможно получать отпечатки с определенными параметрами. Список фильтров:
1) Версия операционной системы: Windows 10, Windows 7, Windows 8
2) Время добавления: 15, 30 и 60 дней.
3) Версия браузера.
4) Минимальные и максимальные размеры окна браузера.Дополнительно, отпечатки с тегом Chrome теперь не содержат яндекс браузер. Для него появился новы тег — YaBrowser.
Расширение Api для веб интерфейса.
Добавлены методы Api.GetBrowsers и Api.GetTasks, они позволяют получать список работающих функций и браузеров.
Документация:
BAS custom interface
BAS custom interfaceУлучшена эмуляция кликов и ввода текста.
Добавлен рандомный интервал между событиями mousedown и mouseup и между keydown/keypress и keyup.
Исправлено множество ошибок.
Вызов методов OpenFileDialog и SaveFileDialog для веб интерфейса больше не блокирует запуск функции.
Исправлены ошибки при поиске в почтовых ящиках название которых содержит пробелы.
Исправлено несвоевременное освобождение памяти при применении отпечатка.
Исправлено падение при использовании действия «Разрешить кэш» с параметром «*».
Обновление колонки с типом даты в базе данных из веб интерфейса теперь работает корректно.
Исправлено падение, которое возникает при некоторых условиях после вызова нескольких функций из веб интерфейса.
Исправлен сброс ресурсов при редактировании задачи в планировщике после обновлении версии BAS.
Действие return теперь работает корректно если оно помещено в блок игнорировать ошибки и вызвано из веб интерфейса.
Исправлена ошибка при проигрывании видео на youtube для некоторых отпечатков.Обновлен сертификат.
Сертификат, которым подписаны исполняемые файлы BAS обновлен на 5 лет. Старый истекает в ноябре 2019. Это означает, что, чтобы избежать ложно позитивных срабатываний антивирусов, софт нужно обновить на версию 22.1.0 или старше до этого срока.
- 0
-
26.10.2019 00:47
Выпущена версия 22.2.0.
Обновление целиком посвящено улучшению системы модулей.
Что такое модули?
Модули позволяют расширять функционал BAS. Каждый модуль содержит набор действий, например, есть модуль для работы с регулярными выражениями, списками, и т. д.
Также модули позволяю внедрять код в движок BAS и в движок браузера.
Каким образом модульная система была улучшена?
Добавлена возможность создавать собственные модули.
После обновления BAS позволяет превратить проект с набором функций в модуль. Выбранные функции будут преобразованы в новые действия. Все описания, которые вы ввели при создании функции, будут перенесены в пользовательский интерфейс нового модуля. С помощью нового диалога вы можете задать описание нового модуля и выбрать иконку, версию, и т. д. Проект, который был использован для создания модуля, можно использовать повторно, например, для обновления модуля, так как он сохраняет все введенные настройки. Разные функции из одного модуля могут вызывать друг друга.
Для создания нового модуля зайдите в менеджер модулей и нажмите на кнопку «Создать новый модуль».
Возможность устанавливать свои или чужие модули.
BAS разрешает устанавливать неограниченное количество модулей тем самым расширяя функционал. Установка происходит для текущего экземпляра BAS, это значит, что новые модули станут доступны в любом проекте над которым вы работаете. Пользователи могут обмениваться модулями, для этого, нужно создать модуль используя кнопку «Создать новый модуль», затем передать файл получившийся в результате другому пользователю. Сделать это не трудно, поскольку модуль является zip архивом. Затем его можно установить используя кнопку «Установить модуль».
Использование модулей в скомпилированных приложениях.
Теперь новые модули можно использовать не только в экземпляре BAS, где они были установлены, но и в скомпилированном приложении. Для этого нет необходимости производить какие-то дополнительные действия. BAS автоматически перенесет нужную информацию в проект.
Передача проектов с модулями.
Давайте рассмотрим такой пример, вы передаете проект другому разработчику для редактирования, у вас модули установлены, у него — нет. В этом случае, он по прежнему сможет запускать проект и даже редактировать те действия, которых у него по сути нет. Достигается это за счет механизма «внешних модулей». После смены проекта внешние модули исчезнут. Допускается передача проектов неограниченное количество раз.
BAS загружает только те модули, которые используются в проекте.
Вы можете устанавливать десятки модулей, если при этом использоваться будут не все, то BAS не будет «раздувать» текущий проект неиспользуемыми модулями. Софт будет автоматически анализировать проект и просто не подключать лишнее. Это не касается режима записи, потому что в нем проект изменяется и потенциально любой установленный модуль может быть использован.
Существующий функционал BAS может быть изменен.
Теперь можно менять функционал содержащийся в нативных модулях. Для этого необходимо:
1) Скопировать содержимое нужного модуля из папки C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0modules в папку C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0custom.
2) Изменить содержимое модуля в папке custom.Все изменения сохранятся в скомпилированном приложении и при передаче проекта.
Здесь может пригодится документация по структуре модулей, которую написал наш пользователь.
https://cheshirecaat.github.io/BAS.Modules/
Видео можно данного процесса найти здесь https://www.youtube.com/watch?v=sLNxrcZMOA0&t=3012s
Заменить можно любые типы файлов, не только скрипты. Например, возможно заменить базу к которой содержится информация об ip адресах.
Node.js можно использовать в модулях.
Существует возможность использовать не только стандартные действия BAS, но и код на Node.js, включая пакеты из NPM. BAS будет автоматически разрешать конфликты для разных версиях NPM модулей в пользу новых версий. Это дает возможность создавать обвертки для NPM модулей в виде модулей BAS с пользовательским интерфейсом. Например, в обучающем видео мы начали создавать такую обвертку для FTP клиента.
Код модуля можно вызвать из Node.js.
Модули добавляют новые действия, которые по сути являются BAS функциями и они подчиняются абсолютно тем же правилам, что и обычные BAS функции. Например, их можно вызвать из Node.js используя метод BAS_FUNCTION. Название функции определяется как название модуля + нижнее подчеркивание + название действия. Например, если название модуля — TestModule, а название действия TestAction, то название функции будет TestModule_TestAction.
Видео с таймкодом https://www.youtube.com/watch?v=sLNxrcZMOA0&t=2740s
Интерфейс менеджера модулей был доработан.
Появился поиск, разделение на нативные и пользовательские модули, возможность удалять пользовательские модули. Код был доработан, так чтобы манипуляции с модульной системой не приводили к сбоям в режиме записи.
Установка модулей в ручном режиме.
Чтобы установить модуль без использования инсталлятора, необходимо скопировать его содержимое в папку
C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0custom
Таким образом, структура файлов должна быть такой:
customНАЗВАНИЕ МОДУЛЯmanifest.json и другие файлы модуля.
Это особенно актуально для модулей созданных до апдейта.
Хотелось бы отметить, что вместо переноса в папку modules, теперь нужно переносить в папку custom.
Новые модули рекомендуется устанавливать через кнопку «Установить модуль».
Дополнительная информация.
Документация по структуре модулей https://cheshirecaat.github.io/BAS.Modules/
Видеообзор модульной системы
- 0
Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять
Automation Empire — Павел Дуглас On Bas
HD
08:44
Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять
Automation Empire — Павел Дуглас On Bas
.
219 Видео
О видеоПоделитьсяФото
Дата публикации:
25.02.2021 18:45
Продолжительность:
08:44
Ссылка:
https://thewikihow.com/video_86Be1srqTxI
Действия:
Жалоба
Связаться с автором
Источник:
Описание
BAS — Модуль Браузер — Функция ИГНОРИРОВАНИЕ ОШИБОК скрипта в BAS, как применять
Добавляйтесь в друзья:
👱 Я в Децентрализованных Blockchain сетях:
Павел Дуглас канал Бот Мейкер — Всё про создание ботов для автоматизации любых рутинных действий в бизнесе, заработке или для личных нужд. Узнайте все фишки ботоводов и ботмейкеров на этом канале. Канал ведет эксперт по заработку в интернете, онлайн бизнесу, криптовалютам и автоматизации.
#Павел_Дуглас #Browser_Automation_Studio #BAS
Возможно вы искали — визуальное программирование
примеры программ по bas
bas уроки
примеры bas
заказать скрипт бас
bablosoft
bas интересные уроки
bas новые уроки
создание на bas бота под кран
browser automation script logic
bas с разными задачами
browser automation studio tutorial
пример скрипта bas
уроки по browserautomationstudio
browserautomationstudio что это
автоматизируем процесс в bas
изучаем browserautomationstudio
бот для заработка
как заработать в интернете
заработать школьнику
боты для заработка реальных денег
зарабатываем легко
бот для заработка денег
бот для сбора биткоинов
создать бот для бизнеса
создать бота онлайн
создать бота без программирования
Новые видео на канале Automation Empire — Павел Дуглас On Bas
- Автоматический Парсер Доменов Для Нагула Куков С Facebook Pixel Бесплатно И Без Ограничений
- [Кейсы Browser Automation Studio] — Wildberries Регер И Рассыльщик По Селлерам + Продвигатель Бренда
- [Кейсы Browser Automation Studio] — Yappy Bot Накрути Себе 1 000 000 Просмотров, Лайков, Комментов
Подписывайтесь на наш Telegram канал!@thewikihowоткрытьМониторим видео тренды 24/7
Что еще посмотреть на канале Automation Empire — Павел Дуглас On Bas
Фото обложки и кадры из видео
Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять, Automation Empire — Павел Дуглас On Bas
https://thewikihow.com/video_86Be1srqTxI
Аналитика просмотров видео на канале Automation Empire — Павел Дуглас On Bas
Гистограмма просмотров видео «Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять» в сравнении с последними загруженными видео.
Теги:
Browser Automation Studio
Павел Дуглас
Browser Automation Studio Игнорирование Ошибок В Скрипте
Browser Automation Studio Скачать Торрент
Browser Automation Studio Скрипты
Browser Automation Studio Уроки
Browser Automation Studio Скачать
Browser Automation Studio Мануал
Browser Automation Studio На Русском
Browser Automation Studio Обучение
Browser Automation Studio Официальный Сайт На Русском
Browser Automation Studio Премиум Скачать
Похожие видео
15:02
Как Работать С Расширениями В Bas, Bas Extensions И Работа С Ними На Примере Touch Vpn
3 371 просмотр.
10:50
Bas: Модуль Логика Скрипта — Функции Установить Метку И Перейти К Метке Скрипта В Bas
546 просмотров.
04:32
Bas: Модуль Логика Скрипта — Цикл For (I = 0 To N), Цикл For В Browser Automation Studio
713 просмотров.
14:36
Как Использовать Ресурсы Внутри Browser Automation Studio, Bas Урок По Ресурсам
1 919 просмотров.
15:08
Как Парсить Каждый Раз Новую Строку С Прокси И Применять Ее При Работе С Bas, Foreach + Парсинг
6 465 просмотров.
10:50
Bas: Модуль Логика Скрипта — Условие If, Как Работает Func-Условие If В Browser Automation Studio
2 924 просмотра.
21:03
Как Работать С Куками В Bas, Загружаем Cookies В Browser Automation Studio
3 297 просмотров.
11:26
Создание Сводной Таблицы В Excel
1 966 844 просмотра.
08:10
Проблема Числа 10958 [Numberphile]
6 257 189 просмотров.
Тема:
(Прочитано 995 раз)
Browser Automation Studio (BAS) — популярная программа для автоматизации ваших действий в интернете. Если есть рутина — то она поможет, притом есть бесплатная версия, что является большим плюсом для проги.
BrowserAutomationStudio. Урок #1. Введение. Автономный чеккер gmail
Урок #2. Селекторы. Поиск элементов. Парсер ленты twitter.
Урок #3. Ресурсы. Работа с файлами в многопотоке. / работа с прокси
« Последнее редактирование: Февраля 26, 2021, 04:54:50 pm от saitikdev »
Записан
Урок #4. Переменные. Использование javascript.
Урок #5. Конструктор javascript.
Урок #6. Условия. Действие If. Постер twitter.
Записан
Урок #7. Циклы. Постер из RSS ленты.
Урок #8. Многопоточность. Множество примеров.
Записан
Новые фичи
1. Профили. Автовход в телеграм.
2. Встроенные языки, node.js, npm.
3. Сеть. Туннелирование.
4. Анонсы. Mutilogin. Документация. Конструктор интерфейса.
Записан
« Последнее редактирование: Февраля 26, 2021, 04:54:19 pm от saitikdev »
Записан
This repository is not updated regularly, if you want actual source code, check out premium version https://bablosoft.com/shop/BASPremium
BrowserAutomationStudio is a solution that allows you to quickly create applications using browser, http client, email client, and other libraries. Programming skills are not required. Main application types: creation of posters, spammers, parsers, uploaders, apps for the social networks.
Projects compiled with BAS are standalone executables and does not require any other software installed on your PC(including BAS).
Software operates like macro recorder: all actions that a user makes are recorded and can be played or edited afterwards.
BrowserAutomationStudio supports arbitrary javascript execution.
Here is how main window look like:
This is compiled script user interface:
Visual editor to generate javascript expression:
Account manager:
Features
- Absolutely 100% Free.
- Can create standalone bots in two clicks.
- Well documented.
- No coding skills required! Code in visual constructor.
- Drag&Drop actions.
- Conditions, loops.
- Easy and powerful multithreading.
- Visual expression editor.
- Supports socks and http proxies.
- Captcha services integration including ReCaptcha 2.0 and invisible ReCaptcha.
- Capmonster 2 integration.
- Captcha sniper integration.
- Receive sms modules.
- Email module. Search in mailbox.
- 100% browser emulation with chrome.
- Emulate other browsers with fingerprint switcher module.
- Native mouse click and move. Native keyboard emulation.
- Tabs support.
- Frames support.
- Easy drag & drop.
- Special keys emulation: Tab, Ctrl, etc.
- Disabled ip tracking through WebRTC.
- Timezone change.
- Very fast http client(up to 2000 threads).
- User interface constructor.
- Load data from file/url/string. Delete lines, mix.
- Random string generator(tags).
- Works with database. Powerful database editor.
- Regular expressions.
- Xpath queries.
- Image queries.
- Spintax.
- Ability to write your own actions in javascript.
- Supports flash(can be disabled).
- Custom css, xpath, text queries.
- Developer tools integration.
- Network filters and cache captures.
- Autoupdater.
- Application store.
- Extendable module system. Write your own in javascript or c++.
Download
Download from https://bablosoft.com/shop/BrowserAutomationStudio
Compile
See instructions: https://wiki.bablosoft.com/doku.php?id=how_can_i_change_bas_and_compile
Learn how to use it
Read wiki https://wiki.bablosoft.com/
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
- Дней с нами
- 1.436
- Розыгрыши
- 0
- Сообщения
- 489
- Репутация
+/- -
3
- Реакции
- 173
-
#1
Подскажите, пожалуйста, может кто знает как в BAS можно автоматические менять айпи и отпечаток?
- Дней с нами
- 1.470
- Розыгрыши
- 1
- Сообщения
- 144
- Репутация
+/- -
4
- Реакции
- 118
-
#2
Можно прокси приделать, будет менять автоматически.
- Дней с нами
- 873
- Розыгрыши
- 0
- Сообщения
- 140
- Репутация
+/- -
2
- Реакции
- 231
-
#3
HTTP-клиент—>HTTP-клиент-установить заголовок, СЕТЬ—>Установить заголовок,
- Дней с нами
- 699
- Розыгрыши
- 0
- Сообщения
- 41
- Репутация
+/- -
0
- Реакции
- 22
-
#4
Можно прокси приделать, будет менять автоматически.
там идет работа через браузер, а это сильно тормозит процесс! Рекомендую
парсить строку -> указываем файл из которого берем прокси, в переменную записываем PROXY,PORT
http- клиент-прокси
http-get (в гет указываем сайт по определению IP, например api[.]ipify[.]org
http-статус ответа
Далее условие
IF
[[RESPONCE]]==200
лог [[PROXY]]:[[PORT]] GOOD
elce
[[recycle index]]
писал на память на коленке, если чО шуми в лс
- Дней с нами
- 1.429
- Розыгрыши
- 0
- Сообщения
- 390
- Репутация
+/- -
1
- Реакции
- 342
-
#5
Последнее редактирование: 26 Мар 2021
- Дней с нами
- 699
- Розыгрыши
- 0
- Сообщения
- 41
- Репутация
+/- -
0
- Реакции
- 22
-
#6
Может кто подскажет.
Очень долго грузится ссылка «моих купонов» на али (нужно вытащить инфу о купоне)Поток №1 : Таймаут во время выполнения LoadPage https://coupon.aliexpress.com/buyer/coupon/listView.htm
ЧТо значит «Очень долго»? Зависит от прокси, так же зависит от обработки каким образом это устроено
- Дней с нами
- 1.429
- Розыгрыши
- 0
- Сообщения
- 390
- Репутация
+/- -
1
- Реакции
- 342
-
#7
ЧТо значит «Очень долго»? Зависит от прокси, так же зависит от обработки каким образом это устроено
Без прокси, минуту пытается, в итоге не загружает. Точнее страница уже видна, но пытается её «догрузить» что ли. В итоге скрипт сбивается
- Дней с нами
- 699
- Розыгрыши
- 0
- Сообщения
- 41
- Репутация
+/- -
0
- Реакции
- 22
-
#8
Без прокси, минуту пытается, в итоге не загружает. Точнее страница уже видна, но пытается её «догрузить» что ли. В итоге скрипт сбивается
Убери галочку «Ждать полной загрузки» затем в цикле поставь условие
if EXIS > 0
делаешь что надо, в переменную помещаешь элемент который нужен
в ином случае [[CYCLE_INDEX(номер действия к которому возвращаемся)]]
Пробуй, напишешь, можешь в личку кинуть что сделать, если будет время, сделаю за хлеб (рублей 50-100 чисто на трубку сижу без бабок или за спасибо
Похожие темы
Как игнорировать ошибки
БАС позволяет игнорировать ошибки во время выполнения скриптов с помощью действия «Игнорировать Ошибки»:
Обычно БАС перезагрузит поток в случае, если произошла ошибка.
Но вы можете избежать этого поместив действия в блок «Игнорировать Ошибки». Следующий пример показывает, как игнорировать ошибки во время загрузки страницы:
Блок «Игнорировать Ошибки» может содержать несколько блоков, если один из них выполнится с ошибкой, то следующие за ним будут пропущены:
Вы можете прочитать переменную WAS_ERROR чтобы проверить, были ли ошибки во время последнего блока «Игнорировать Ошибки».
В переменной LAST_ERROR содержится текст ошибки.
Пример использования на следующем видео: https://www.youtube.com/watch?v=StmlVY1D5Yg
-
15.11.2018 02:09
Выпущена версия 21.4.1, в этой версии присутствует несколько больших изменений:
Действие ‘Прокси’ теперь не только меняет прокси, но и делает так, чтобы смена прокси выглядела более правдоподобно.
Работа в основном окне программы (оно черного цвета) теперь происходит более интуитивно.
Исправлен один очень неприятный баг связанный с несвоевременным освобождением памяти при работе с одним браузером на протяжении долгого времени.Давайте рассмотрим каждое изменение более подробно.
Для начала немного информации про WebRTC, так как этот функционал встроен в любой современный браузер, а с помощью него можно получить данные о реальном ip даже используя прокси. WebRTC — набор апи, которые помогают устанавливать соединение между браузерами и передавать между ними информацию. Причем предпочтение отдается именно прямому соединению, и только если оба браузера находятся за фаерволом или NAT, то используется специальный сервер чтобы передавать трафик через него. Установить соединение бывает непросто учитывая то, что ipv4 адресов недостаточно для всех устройств и большинство из них находятся в приватных сетях, имеют адреса вида 192.168.*.* или 172.16.*.* и обмениваются информацией с остальными через NAT. WebRTC использует такой алгоритм чтобы установить соединение — сначала устройства получают информацию о конфигурации своих сетей и обмениваются ей через какой-то другой канал, потом они пытаются соединиться используя разные варианты конфигурации. Допустим, если устройства находятся в одной сети, то для установления соединения достаточно использовать ip в этой сети, если одно из устройств имеет внешний ип, то оно выступает в роли «сервера» и к нему подключается второе устройство, или наоборот. Нам интересна как раз конфигурация сети, поскольку она содержит реальные ip адреса. WebRTC допускает ее чтение, и даже редактирование через javascript перед отправкой собеседнику. Информация имеет формат SDP описанный в данных документах https://tools.ietf.org/html/rfc5245#section-15 https://tools.ietf.org/html/rfc4566. По следующей ссылке ее можно получить через ваш браузер https://jsfiddle.net/wrbyLqkn/1/, скорее всего там есть ваш реальный ip. В качестве одного из параметров данной информации выступает внешний ip браузера, он получается через запрос к STUN серверу. Функционал данного сервера очень прост — возвращать устройству сделавшему запрос его реальный ip адрес. Сайт сам задает STUN сервер, который хочет использовать, например, в коде выше использовался такой сервер stun.l.google.com:19302. Запросы к этому серверу идут через протокол UPD(вместо TCP) минуя прокси. Суммируя вышесказанное, javascript может совершать запрос к произвольному серверу без прокси и получать ответ в виде реального внешнего ip. Вот ссылка на хорошую статью если вы хотите ознакомиться с вопросом более детально https://www.html5rocks.com/en/tutori…nfrastructure/
До недавнего времени в BAS использовался алгоритм, который запрещает любые запросы подобного рода. В данной версии, BAS изменяет ip полученный от сервиса на внешний ip текущего прокси, это происходит по умолчанию при использовании действия ‘Прокси’, тем не менее новый функционал можно отключать в этом же действии. Рассмотрим детали реализации:
1) Подмена ip происходит на уровне браузера, через js обнаружить ее невозможно.
2) Разные браузеры могут выдавать информацию в формате SDP, тем не менее немного отличающуюся. Подмена может осуществлятся через замену текста, и такой метод можно обнаружить проверив некоторые детали специфичные для браузера. BAS выдает информацию именно так, как это делает Chrome, без замены текста.
3) Запросы к любому STUN серверу запрещены. Даже если запретить получение информации непосредственно через js, но оставить возможность браузеру делать запрос к серверу, то реальный ip не будет известен клиенту, но будет известен серверу и если настроить несколько серверов или несколько портов и связать пользователя с конкретным сервером, то ip можно получить уже на стороне клиента. BAS защищает от подобного метода.Есть простой метод, как можно проверить, пытается ли сайт получить ваш ip через WebRTC или нет, достаточно установить Wireshark, в поле фильтра установить строку stun и зайти на сайт, в случае использования WebRTC в окне приложения будут запросы. Вот видео, которое это демонстрирует: https://i.imgur.com/LwKQY7S.gifv
В случае BAS, запросов не будет, хоть ip и будет возвращаться.
Почему бы не сделать запросы к STUN серверу через туннелирование?
Дело в том, что не все прокси поддерживают протокол UPD, хотя это и указано в спецификации. Пример такого прокси https://i.imgur.com/ubKq7nZ.gifv В будущем BAS будет проверять прокси на такую возможность, но сейчас все запросы к STUN серверу запрещены.Как видите, данная реализация хоть и не является идеальной, но достаточно близка к ней.
Кроме этого, действие ‘Прокси’ теперь также умеет автоматически изменять геолокацию и часовой пояс браузера.
Изменение часового пояса теперь также происходит на уровне браузера — абсолютно все даты, которые возвращает браузер теперь имеют часовой пояс точно такой же, как и у прокси.
BAS научился корректно возвращать измененную дату с учетом летнего времени.
Еще один способ, которым можно обнаружить примерное реальное месторасположение является использование internationalization api( https://developer.mozilla.org/en-US/…DateTimeFormat ). Пример использования: https://jsfiddle.net/0Lq2km96/, по ссылке должно отобразится ваше примерное реально месторасположение независимо от прокси и впн.
Эти значения также заменяются при использовании действия ‘Прокси’, вы можете убедится в этом зайдя на данную страницу из BAS.
Наконец, бывают ситуации, когда ip, который вы используете для доступа к прокси не соответствует его внешнему ip, в таких случаях BAS будет получать внешний ip через сервис ip.bablosoft.com. К сожалению, не существует способа получить адрес без сетевого запроса. Сервис должен стабильно работать при 20к запросах в секунду. Настройка отключаема.
Немало внимания в новом апдейте было уделено удобству использования основного окна.
Для элементов, значение которых может быть не совсем понятным, появились подсказки.
Реализовано множество удобных мелочей: список недавних проектов теперь находится всегда на основной панели, путь к текущему проекту можно скопировать, все иконки заменены на такие, что смотрятся лучше при маленьком размере элементов, изменены значки запущенных браузеров.
Добавлена возможность быстрого обмена проектами — открытие проекта по ссылке и загрузка на гугл диск.
Обновлено окно компиляции проекта, оно стало более интуитивным и интегрированным с облаком. Теперь проект можно обновлять/создавать прямо из BAS, появилась возможность не создавать архив при каждой компиляции.Было потрачено много времени на поиск причины и исправление бага с несвоевременным освобождением памяти. Баг существовал все время на протяжении жизни проекта и проявлялся только тогда, когда несколько браузеров работали 10 и больше часов без перезапуска. Потребление памяти увеличивалось приблизительно на 5-10 мб в час, через несколько дней непрерывной работы проект становился неработоспособным. Ошибка была связана с библиотекой Qt, был найден метод как обойти этот баг.
Надеюсь, что новая версия вам понравится и будет полезной!
- 0
-
19.12.2018 03:30
Выпущена версия 21.5.1. В ней содержится множество изменений связанных с анонимностью браузера. Давайте рассмотрим их подробнее:
Современные браузеры поддерживают апи для работы со звуком. Используя методы этого апи сайт может генерировать и обрабатывать звук, а также получать доступ к бинарным данным. По аналогии с Canvas и WebGL, данные звука также содержат небольшие отличия в зависимости от железа, браузера и системы. Эти отличия могут быть использованы чтобы идентифицировать вас среди других пользователей сайта даже при использовании прокси. В новой версии поддерживается смена отпечатка аудио — BAS добавляет разные шаблоны шума в возвращаемые данные при каждой смене отпечатка. Кроме того, данное апи также дает доступ к разным системным параметрам связанных со звуком. BAS подменяет эти параметры, значения берутся из реальных устройств при помощи сервиса FingerprintSwitcher.
Подробнее о б этой технике можно прочитать в этой статье http://randomwalker.info/publication…easurement.pdf пункт 6.4.
На этом сайте можно получить отпечаток аудио для вашего браузера https://audiofingerprint.openwpm.com/Сайт может получать данные об языке системы несколькими способами. Это заголовок Accept-Language, navigator.language и navigator.languages, а также некоторые методы апи для интернализации. Эти свойства могут содержать не один, а несколько языков, также заголовок Accept-Language имеет разный формат в зависимости от системы. Эти отличия служат одним из факторов для отпечтака браузера. После небольшого теста обнаружилось, что на 20000 пользователей приходится 751 уникальных значений поля Accept-Language. Конечно, заменять эти поля на реальные значение из другого устройства было бы неправильным, потому что это создало бы несоответствие между языком системы и текущим прокси. Поэтому был разработан алгоритм, который «соединяет» страну/язык текущего ип и формат реальных полей из реального устройства. Например, если оригинальный заголовок был таким ru-RU,en-US;q=0.9, а прокси находится в Германии, то результат будет таким de-DE,en-US;q=0.9. Алгоритм корректно сохраняет формат и удаляет ненужные языки, например, такое поле ru, uk;q=0.8, be;q=0.8, en;q=0.7, *;q=0.01 будет заменено таким de, en;q=0.8, *;q=0.01. Текущий ип, страна и язык получаются при применении прокси.
Подробнее о поле Accept-Language https://tools.ietf.org/html/rfc7231#section-5.3.5
Результаты тестирования алгоритма https://pastebin.com/raw/mmgVmbybОдним из свойств железа к которым сайт имеет доступ через javascript является заряд аккумулятора. Исследования в статье приведенной ниже показывают, что данная информация не опасна для пользователя, поскольку позволяет отслеживать его только в краткосрочной перспективе. Действительно, заряд аккумулятора постоянно меняется, а предсказать какие значения будут через длительное время невозможно. Тем не менее, для отслеживания массовых действий такой метод может быть полезен. Представьте, что вы запускаете BAS с ноутбука, а сайт видит как одновременно проходят тысячи регистраций с устройства, заряд которого равен 56%, а до конца зарядки осталось 35 минут. Конечно, можно запускать софт только на стационарном устройстве или полностью заряженном ноутбуке, но это тоже может быть подозрительно при применении мобильных отпечатков. Поэтому было решено эмулировать зарядку/разрядку аккумулятора, а также все события и возвращаемые апи значения на устройствах, который имеют аккумулятор. Информацию о его наличие предоставляет сервис FingerprintSwitcher. Вот как это может выглядеть: https://i.imgur.com/tDnZFDl.png на графике видно, что значения постепенно уменьшаются.
Статья об отпечатках аккумулятора https://eprint.iacr.org/2015/616.pdf
Результаты работы апи для вашего браузера https://fingerprints.bablosoft.com/battery Не удалось найти сервис, который показывает значения в динамике, поэтому сделал свой.BAS использует некоторое количество вспомогательного кода для поиска элментов, внедрения решения рекапчи и другого. Раньше софт можно было обнаружить по наличию этого функционала, поэтому в новой версии он спрятан, все имена функций генерируются для каждого потока разные. Переработан механизм внедрения отпечатков, если раньше BAS полагался на использование конструкций вида Object.defineProperty, то сейчас подмена происходит внутри браузера. Старый метод используется только для изменения списка плагинов и в местах где это абсолютно необходимо. Например, Chrome, в отличие от Firefox не поддерживает апи для работы с VR шлемами. Поэтому для эмуляции этого функционала приходится использовать javascript. Обход некоторых других методов, которые используются для определения движка браузера также преписаны на с++.
Была улучшена эмуляция работы с мышью. Теперь при перемещении к элементу невидимому на экране используется колесо мыши, а не javascript как раньше. Если элемент находится далеко за пределами видимой области, скорость скрола намного быстрее, чем если бы он был совсем рядом. При этом перемещения происходят «рывками», как у реальных пользователей. Вот как это выглядит https://i.imgur.com/IdH2edf.gifv. Первоначальное положение курсора выбирается случайно, а не в левом верхнем углу как раньше. Увеличена частота генерации событий связанных с перемещением мыши.
Эмуляция порядка заголовков временно не работала при переходе к туннелированию. Сейчас этот функцинал возвращен. Порядок заголовков берется из реального устройства.
Добавлена возможность сохранять отпечаток в папке профиля и загружать его от туда при применении профиля. При получении информации о текущем профиле можно узнать, содержит ли он отпечаток, результат будет возвращен в переменную HAS_FINGERPRINT.
Был полностью переписан алгоритм замены шрифтов. Раньше BAS внедрялся в процесс браузера «на лету» и подменял некоторые системные вызовы, сейчас тот же эффект достигается за счет изменения исходного кода браузера. Новая реализация позволяет менять набор шрифтов не перезагружая браузер, а также избавится от некоторых багов. Сейчас для полноценной работы желательно, чтобы на машине, на которой запускается BAS было установлено как можно шрифтов, в будущем новые шрифты будут генерироваться самостоятельно за счет добавления шума.
Добавлена поддержка туннелирования флеш. Это означает, что абсолютно все запросы, которые делает процесс флеш будут проходить через заданный прокси. Следует понимать, что флеш обладает гораздо большими возможностями чем javscript и поэтому его включение — удар по анонимности. В BAS скорее всего не будут применятся техники для того, чтобы сделать флеш более безопасным, как это делается с javscript потому что его поддержка будет прекращена Adobe в 2020 году https://theblog.adobe.com/adobe-flash-update/ Если элемент с флеш меньше определенного размера Chrome просит пользователя подтвердить его запуск, в новой BAS версии сделано так, пользователь автоматически соглашается это сделать(если флеш включен).
Проверить ип возвращаемый через флеш можно на этом сайте https://whatleaks.com/
Некоторые другие изменения не касающиеся отпечтаков:
Веб интерфейс теперь может использовать localStorage для хранения настроек софта между запусками.
Bызов метода BAS_API из Node.js теперь генерирует исключение в случае ошибки. Теперь можно сделать так:
Код:
try { await BAS_API(`load("wrongurl11111.com")!`) }catch(e) { console.log(`Что-то пошло не так: ${e}`) }
Новая настройка для приложений с защитой: «Разрешать запускать только один экземпляр приложения».
Исполняемые файлы BAS теперь подписаны. Это позволит быстрее проходить проверку SmartScreen на Windows 10, также избежать ложноположительных срабатываний антивирусов.
Заново переписан механизм перетягивания блоков за пределы рабочей области(при обновлении браузера он перестал работать).
Исправлено множество багов, среди которых:
Исправлен баг с установкой referrer и перенаправлениями страницы.
Сетевые ошибки при загрузке проекта в скомпилированных скриптах теперь не сообщают урл сервера.
Исправлено исчезновение прошлого проекта после неудачной загрузке.При переходе на новую версию BAS, старые проекты будут работать по старому, если вы хотите использовать новый функционал, то нужно начать редактировать действия ‘Прокси’, ‘Применить отпечаток’ и ‘Получить отпечаток’ и нажать на Ok ничего не меняя.
Это не все изменения находящиеся в разработке, до конца года планируется выпустить новый аддон для BAS — FingerprintDetector.
- 0
-
30.01.2019 04:50
Вышла версия 21.6.1.
Основное изменение в этой версии — поддержка FingerprintDetector. Подробнее здесь FingeprintDetector — универсальный ответ, почему ботов банят.
Также было сделано несколько изменений и исправлений в BAS:Сервис FingerprintSwitcher теперь подменяет список расширений видеокарты и многие другие параметры:
При добавлении нового функционала прокрутки страницы было допущено несколько ошибок, например, не совсем корректно работало ожидание элемента. Сейчас эти проблемы исправлены.Поиск писем теперь поддерживает utf-8 кодировку. В частности это позволяет использовать кириллицу для поиска по теме письма или его содержимому.
Список исключений для Capmonster и Recaptcha2 теперь пуст по умолчанию, что позволяет передавать в софт абсолютно все запросы. Раньше его нужно было настраивать вручную.
Добавлен новый метод для XEvil и капчи с изображением, его использование позволяет экономить время при работе с данным софтом и избежать некоторых ошибок связанных с неточным получением изображения.
Действие «Шаблон» позволяет игнорировать спинтакс и не заменять переменные и ресурсы их значениями(поведение настраиваемое). Таким образом можно создавать многострочные переменные с специальными символами.
Исправлена ошибка с таймаутом при закрытии вкладки.
Исправлена ошибка с накоплением идентификаторов при создании и закрытие вкладок в цикле.
FingerprintDetector и FingerprintSwitcher теперь корректно работают вместе. Однако, лучше всего запускать Detector без примененного отпечатка.
В настройках BAS теперь находится ссылка, перейдя по которой можно отлаживать интерфейс прямо в браузере.
При создании действий «For», «While», «Foreach» и «Игнорировать ошибки» на панель сценария будут также добавляться вспомогательные действия.
У каждого действия теперь есть кнопка для игнорирования ошибок на протяжении его выполнения:
По кнопкам для перемещения точки выполнения легче попасть за счет увелечения их площади.
————-
Следующим изменением будет ручное управление браузером с поддержкой записи сценария, работы в скомпилированном или в запущенном виде. Будет специальное действие для передачи контроля пользователю в многопоточном режиме. Также будет поддерживаться веб интерфейс. Ожидать апдейт можно через 2-3 недели.
- 0
-
06.03.2019 16:55
Добавлена возможность управлять браузером в ручном режиме.
Это означает, что все действия мыши и клавиатуры будут передаваться в браузер напрямую. Данная возможность является опциональной, а старый режим управления без каких-либо изменений сохраняется в новой версии как один из возможных вариантов. Вот полный список всех способов взаимодействовать с браузером в новом режиме:
- Клики мышью.
- Перетягивание, включая html5 drag and drop.
- Двойное нажатие.
- Ввод с клавиатуры.
- Быстрые клавиши Ctrl-C, Ctrl-A, …
- Смену урл.
- Скролл с помощью полосы прокрутки.
- Управление вкладками.
- Историей браузера(действие назад).
Чтобы включить новый режим, нужно нажать на данную кнопку:
Режимы также можно переключать достаточно быстро с помощью горячих клавиш(F1, F2, F3).
Видео. Управление в ручном режиме.
Автоматическая запись скрипта.
BAS также может записывать скрипт при включенном ручном управлении. Для это нужно переключиться в третий режим на соответствующей вкладке или нажать F3. При этом любое взаимодействие с пользователем будет конвертироваться в действия и добавляться на панель сценария. Туда будут попадать все действия, кроме, разве что прокрутки страницы. BAS будет стараться соединять действия в цепочки, например, клик по элементу и ввод текста будут объеденены в «Ввод текста» в элемент, поэтому панель сценария будет заполняться не сразу. Действие «Ждать полной загрузки» будет добавляться по мере того, как страница будет загружаться в браузере.
Видео. Автоматическая запись скрипта.
Управление браузером в многопоточном режиме.
Новые возможности доступны также в многопоточном режиме, для нужно вызвать действие «Ручное управление браузером». Данное действие сражу же передаст контроль над браузером пользователю, он получит соответствеющее уведомление — браузер будет подсвечен красным,
а в самом браузере появится ссылка, нажав на которую его можно остановить и передать контроль обратно в скрипт
Данный метод позволяет реализовать совместное управление браузером — часть работы будет делать пользователь, часть работы скрипт. Например, ввод капчи или авторизацию на сайте может совершать сам пользователь, а все остальное будет выполняться скриптом автоматически.
Видео. Управление браузером в многопотоке.
Управление браузером и веб-интерфейс.
При использовании веб-интерфейса ручное управление браузером происходит все равно в нативном окне. После события manual_control_start интерфейс должен выполнить метод ShowBrowser чтобы передать контроль пользователю. Более подробно данный процесс описан в мануале, который тоже обновился. В дополнение вы можете посмотреть код автоматически сгенерированного интерфейса, он также содержит обработку новых событий, или просто оставить автоматически сгенерированный код без изменений:
Видео. Управление браузером в режиме веб-интерфейса.
Больше информации.
Более подробная информация, а также примеры использования доступны по данной ссылке
Видео. Ручное управление, полный обзор.
- 0
-
19.04.2019 00:20
Предлагаем вам скидки 50% на XEvil.
XEvil — простая, быстрая и удобная программа для полностью автоматического распознавания и обхода подавляющего числа капч (CAPTCHA), без необходимости подключения каких-либо сторонних сервисов.
Право получить скидку имеют:
Клиенты уже купившие BASPremium или ключ к FingerprintSwitcher на 3 месяца начиная с 10 апреля 2019.
Клиенты, которые будут покупать BASPremium или ключ к FingerprintSwitcher на 3 месяца до 1 мая 2019.
Акция ограничена по времени до 1 мая 2019, воспользоваться скидочным купоном после этого времени не удастся.
Чтобы получить скидочный купон необходимо написать письмо на почту mail.to.twaego@gmail.com с темой XEvil скидка.
Количество скидочных купонов также ограничено 30.
- 0
-
19.05.2019 21:39
Выпущена версия 21.8.0.
Данная версия содержит одно большое изменение — добавление планировщика задач. Этот механизм позволяет работать сразу с несколькими приложениями написанными в среде BAS. Список возможностей планировщика:
- Возможность загружать скрипты из запущенного экземпляра BAS, из облака или из файла.
- Гибкая система настройки времени запуска.
- Сбор информации о выполнении задач.
- Контроль выполнения задач как в автоматическом, так и в ручном режиме.
- Интеграция с компилируемыми приложениями и с веб-интерфейсом.
- Быстрое перемещение списка задач между машинами.
- Удобный дружелюбный интерфейс.
- Возможность запускать планировщик как отдельное приложение.
Принцип работы.
При первом запуске приложение устанавливается на ПК пользователя и добавляется в автозагрузку. Такая архитектура необходима для того, чтобы иметь возможность выполнять задачи, когда BAS не запущен. Для начала работы необходимо нажать на данную кнопку в меню:
Появившееся после этого окно является центром управления всеми задачами на данной машине, здесь можно создавать задания и получать информацию об их выполнении. Так выглядит планировщик открытый в первый раз:
А это рабочая версия:
Создание задачи происходит по клику на кнопку «+» в правом нижнем углу. Пользователю необходимо заполнить информацию о проекте, ввести ресурсы и задать время выполнения. Ресурсы задаются только при редактировании или создании, а введенные значение потом будут использованы при запуске.
Софт поддерживает множество разнообразных способов задать время запуска, есть вклада, которая отображает прогнозируемое время запуска и типичные примеры использования:
Получение информации о выполнении.
Основная область содержит логи и список задач, для получения отчета о конкретной задаче необходимо нажать на кнопку меню:
Меню содежит более подробную информацию: ссылку на лог, результаты, отчет, если этого недостаточно, то по нажатию на ссылку «Показать/скрыть» вы можете открыть привычный интерфейс скрипта запущенного на BAS:
Архив заданий.
Любая задача, после завершения своего цикла запусков попадает в архив. Задачи из архива уже не будут запланированы, но они также еще не удалены. Пользователь может восстановить задачу из архива, либо оставить ее там на неопределенное время. Таким образом, архив можно использовать как каталог задач доступных на данном ПК.
Перемещение списка задач на другой ПК.
Софт поддерживает перенос задач на другую машину, для этого достаточно зайти в меню и выбрать «Сохранить все задания в файл»
Будут перенесены не только скрипты подгружаемые из облака, но и задачи загруженные из файла. Это относится и к проектам и к графику запусков. Теперь сделать VPS нагруженный скриптами BAS проще простого.
Интеграция с компилируемым приложением.
Существует также способ предоставить доступ к планировщику пользователям компилируемых приложений. Для этого необходимо указать при компиляции опцию «Интегрировать планировщик в приложение».
При этом, пользователь при старте скрипта увидит новое окно:
Он может выбрать либо запустить планировщик, либо запустить скрипт один раз мгновенно. От разработчика не требуется писать дополнительный код или присылать новый архив, достаточно просто установить флаг при компиляции.
Веб интерфейс и планировщик.
Указанная выше настройка подходит и для веб интерфейса, новое окно отображается и там. Кроме того, при добавлении задачи с интерфейсом, при выборе ресурсов будет отображено не нативное окно, а именно созданный разработчиком интерфейс бота.
Добавлены новые методы апи:
Код:
Api.HasScheduler() Api.ShowScheduler()
И новое событие «run_type_select»
При переходе на новую версию интерфейс для входа необходимо сгенерировать заново или самостоятельно обработать новое событие:
Запуск планировщика отдельно от BAS.
Премиум пользователи могут найти ссылку на новый проект — TaskScheduler у себя в персональном кабинете. Фактически это планировщик как отдельное приложение, без BAS. Данный дистрибутив рекомендован к установке на VPS.
Сам процесс запуска установки пачки скриптов на сервере можно увидеть на видео:
- 0
-
11.06.2019 14:01
Выпущена версия 21.8.0.
В ней главный упор сделан на усовершенствование системы смены отпечатков.
Переработан механизм смены canvas.
Метод, которым меняется отпечаток canvas значительно усовершенствован. Это сделано для того, чтобы смена отпечатка не определялась больше антидетект системами. Сюда входит целый комплекс мер, приведу только один пример — вместо замены цвета для каждого пикселя, все изображение теперь анализируется, находятся его контуры, далее цвет меняется только «на границе»:
Граница на изображении выше выделена красным цветом.
Это позволяет проходить некоторые тесты без негативных результатов:
(navigator дает ложно позитивный результат и в обычном браузере, dns зависит от прокси).
Также, я добавил несколько своих тестов для определения аутентичности canvas:
https://fingerprints.bablosoft.com/canvas
Изменение canvas теперь работает и с alpha каналом.
Это означает, что если элемент canvas содержит черно белое изображение, то отпечаток все равно будет меняться.
Новая версия BAS по умолчанию отрисовывает содержимое браузера используя видеокарту.
Старая реализация использовала исключительно CPU, но это можно обнаружить. Прежний способ отрисовки можно вернуть обратно заменив значения
Код:
--disable-gpu-deleted --disable-gpu-compositing-deleted
на
Код:
--disable-gpu --disable-gpu-compositing
В файле chrome_command_line.txt
Значительно увеличилась скорость при применении отпечатков.
Теперь BAS не тормозит при посещении сайтов, которые интенсивно работают с графикой, например, стриминговых сервисов.
Добавлен новый фактор для FingerprintSwitcher: ClientRectangles.
Данный метод позволяет составить отпечаток устройства через получение размеров специально составленного элемента. В отличии от canvas, анализируется только ширина, высота, и координаты, а не цвета каждого пикселя. Эти значения являются платформозависимыми и могут быть использованы для составоения отпечатков. Теперь BAS добавляет к ним шум, достаточный для того, чтобы менять отпечаток, но не настолько большой, чтобы нарушить работу сайтов.
Протестировать можно здесь:
https://browserleaks.com/rects
Исправлены проблемы смены даты при переходе на летнее время.
Данные рассчитываются согласно текущим правилам перехода на летнее время в стране, где находится ip.
Простенький тест, который показывает есть ли переход на летнее время в вашей стране или регионе. Он не зависит от текущей даты, и это хороший тест справляется ли ваша система смены отпечатков с датами:
https://jsfiddle.net/jp6rkcs4/
Возможность продлевать ключи FingerprintSwitcher и приобретать ключи без привязки к ip.
Данные возможности появятся через несколько дней.
Обновлен планировщик.
Новая версия 1.2.0 содержит переработанный механизм прерывания задач. Любая задача будет остановлена мгновенно, неважно на каком этапе выполнения или установки она находилась.
По причине того, что, чтобы обновить планировщик, нужно остановить все задачи, вам нужно согласиться на обновление при следующем запуске. В автоматическом режиме планировщик обновляться не будет.
Блок «Игнорировать ошибки» теперь отлавливает ошибками при выполнении javascript.
Это могут быть: ошибки парсинга json, несуществующие переменные и т. д.
Реализована работа с нативными комбобоксами.
Однако, автоматизировать выбор элемента все еще нужно старым способом. Это изменение будет очень полезно для использования в режиме ручного управления.
И множество других изменений:
- Домен сайта теперь получается через прокси при использовании хттп клиента.
- Исправлены ошибки при работе с вложенными циклами для элементов.
- Из логов и других файлов скомпилированных скриптов убранны упоминания о BAS.
- Исправлны проблемы при работе с базой данных и типом данных из даты.
- Любые ошибки без блока «Игнорировать ошибки» во время выполнения OnApplicationStart приведут к завершению приложения.
- При выборе альтернативного сервера для решения капчи, BAS автоматически добавляет слеш к урл сервера.
- При использовании отрицательных координат для перемещения мыши, будут автоматически вызваны события о перемещении мыши за пределы экрана.
- Исправлены проблемы с вызовом событий о видимости браузера в веб интерфейсе.
- 0
-
24.08.2019 15:48
Выпущена версия 22.0.0
Она содержит множество улучшений для веб интерфейса, а также обновление интерфейса редактора скрипта.
Функции теперь имеют параметры и возвращаемое значение.
Добавлены действия «Получить Параметр Функции» и «Return«.
Задать список параметров и их описание можно в менеджере функций
Теперь одну и ту же функцию можно вызывать с разными параметрами, что упростит повторное использование кода.
Новые действия содержат интерактивную документацию, подробности можно узнать там.
Менеджер функций.
Работать с функциями теперь можно в отдельном окне, которое называется менеджером функций.
Все элементы управления, а именно: создание, редактирование, удаление функций, были перенесены туда.
Добавлена возможность поиска функций и задание параметров.
Основное окно:
Редактирование функции:
Действия «Получить Параметр Функции» и «Return» добавляются в редактор скрипта автоматически.
Расширение API для веб интерфейса.
Добавлено множество методов, которые можно вызывать из веб интерфейса.
Методы для взаимодействия с системным окном:
- MoveWindow — смена положения окна.
- ResizeWindow — изменение размеров окна.
- Api.OpenFileDialog, Api.SaveFileDialog — вызов системного диалога выбора файла.
- ShowNotification — показ системных уведомлений в трее.
- OpenUrl — посещение заданного url, открытие файла или программы.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-inter…ngnativewindow
Все генерируемые диалоги для выбора файла были заменены на нативные.
Добавлено синхронное API для работы с файловой системой. Сюда входит: чтение/запись файлов, работа с папками.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-interface/#/filesystem
Начальные размеры окна можно задать прямо в его настройках:
Создавать интерфейс теперь можно с нуля.
Это можно было делать и раньше, но сейчас для этого появились дополнительные возможности.
При создании и генериции интерфейса можно выбрать его тип:
Появилась возможность сохранять изменения прямо из редактора кода и вообще не заходить в визуальный редактор интерфейса.
Новый тип интерфейса заставляет BAS работать принципиально новым способом, вместо того, чтобы запускать один скрипт сразу, как это было раньше, теперь можно реагировать на события на странице(например, нажатия кнопок) вызывая BAS функции, а параметры для этих функций можно брать прямо из веб интерфейса.
Вызов функций BAS и создание потоков из веб интерфейса.
Теперь неограниченное число потоков можно создавать прямо из веб интерфейса, а также вызывать в них функции с заданными параметрами.
Для получения результатов можно использовать объект Promise или ключевое слово await.
Код:
//Создаем поток var Thread = new BASThread() //Устанавливаем прокси await Thread.RunFunction("SetProxy", {"ProxyLine": "socks5://127.0.0.1:11185"}) //Вызываем функцию для парсинга var LinksList = await Thread.RunFunction("MakeGoogleQuery", {"Query": "cats"}) //Останавливаем поток Thread.StopThread()
Данное API умеет обрабатывать ошибки и имеет специальное расширение к объекту Promise, которое останавливает поток.
Более подробно здесь:
https://wiki.bablosoft.com/web-inter…allbasfunction
Существует возможность отлаживать выполнение функций прямо в BAS:
Приложение ParseGoogle. Демонстрация функционала.
Было создано новое приложение ParseGoogle. Оно парсит выдачу по заданному запросу.
Приложение довольно примитивно с точки зрения функционала, зато имеет приятный интерфейс и хорошо демонстрирует новые возможности.
Конечно же, все это сделано на BAS.
Скомпилированное приложение
https://bablosoft.com/distr/ParseGoo…arseGoogle.zip
Проект BAS
https://bablosoft.com/distr/ParseGoo…arseGoogle.xml
Веб интерфейс
https://bablosoft.com/distr/ParseGoo….interface.txt
Данное видео демонстрирует процесс создания
Вызов функций BAS и создание потоков из node.js.
Функции BAS теперь можно вызывать и из node.js.
Так же, как и для веб интерфейса есть возможность ожидать результатов и обрабатывать ошибки.
Код:
var Result = await BAS_FUNCTION( "FunctionName", {ParamName1: "ParamValue1", ParamName2: "ParamValue2"} )
Подробней здесь:
https://wiki.bablosoft.com/doku.php?…_bas_functions
Этот метод значительно упрощает взаимодействие с браузером и с BAS из node.js
Улучшения интерфейса
Внешний вид редактора скриптов был переработан.
Добавлена визуализация меток, метки можно создавать перетаскиванием специального элемента управления:
Добавлена справка по основным возможностям BAS:
В нее можно попасть нажав на кнопку по центру, справа в редакторе скрипта.
Справка содержит описание для каждой группы(циклов, условий, парсинга и т .д.), с основными принципами работы.
Там также находятся основные действия и примеры использования.
Был обновлен инспектор переменных — теперь он показывает состояние ресурсов, его размер может быть изменен.
Переход к функции может быть осуществлен по клику на названии функции в действии «Вызов функции».
Место для активной вставки действия не изменяется при редактировании скрипта.
Описание действия сохраняется вместе с сохранением данных.
Верхняя панель в редакторе скрипта была заменена на меню.
Вместо задания количества успешных и неудачных выполнений теперь можно выбрать «Повторять»
Обзор нового интерфейса можно найти в этом видео:
Исправление ошибок
Планировщик не перестает работать при питании от аккумулятора.
Исправлено решение рекапчи если функция ответа является строкой.
Исправлено падение при сворачивании веб интерфейса в трей на Windows 10.
При отсутствии информации о кодировке почтового сообщения, BAS не подразумевает что письмо закодировано в quoted printable.
Исправлено падение при установке скорости мыши из строки.
Исправлено смешивание ресурсов если планировщик запускает одинаковые проекты одновременно.- 0
-
20.09.2019 20:34
Выпущена версия 22.1.0
Она содержит множество исправлений ошибок, а также некоторые фичи, которые запрашивали пользователи.
Recaptcha V3
Добавлено уведомление о каждом использовании сайтом Recaptcha V3 в режиме записи.
Уведомление содержит название действия, которое было использовано сайтом.Добавлено новое действие «Recatpcha V3», оно задает параметры решения Recatpcha V3.
Доступные сервисы: 2captcha.com, rucaptcha.com, anti-captcha.com
Возможно выборочное решение только для нужных действий, установка минимального рейтинга.Видео. Решение Recaptcha V3
Больше подробностей по использованию действия вы можете найти в интерактивной документации.
Фильтрация отпечатков
Теперь стало возможно получать отпечатки с определенными параметрами. Список фильтров:
1) Версия операционной системы: Windows 10, Windows 7, Windows 8
2) Время добавления: 15, 30 и 60 дней.
3) Версия браузера.
4) Минимальные и максимальные размеры окна браузера.Дополнительно, отпечатки с тегом Chrome теперь не содержат яндекс браузер. Для него появился новы тег — YaBrowser.
Расширение Api для веб интерфейса.
Добавлены методы Api.GetBrowsers и Api.GetTasks, они позволяют получать список работающих функций и браузеров.
Документация:
BAS custom interface
BAS custom interfaceУлучшена эмуляция кликов и ввода текста.
Добавлен рандомный интервал между событиями mousedown и mouseup и между keydown/keypress и keyup.
Исправлено множество ошибок.
Вызов методов OpenFileDialog и SaveFileDialog для веб интерфейса больше не блокирует запуск функции.
Исправлены ошибки при поиске в почтовых ящиках название которых содержит пробелы.
Исправлено несвоевременное освобождение памяти при применении отпечатка.
Исправлено падение при использовании действия «Разрешить кэш» с параметром «*».
Обновление колонки с типом даты в базе данных из веб интерфейса теперь работает корректно.
Исправлено падение, которое возникает при некоторых условиях после вызова нескольких функций из веб интерфейса.
Исправлен сброс ресурсов при редактировании задачи в планировщике после обновлении версии BAS.
Действие return теперь работает корректно если оно помещено в блок игнорировать ошибки и вызвано из веб интерфейса.
Исправлена ошибка при проигрывании видео на youtube для некоторых отпечатков.Обновлен сертификат.
Сертификат, которым подписаны исполняемые файлы BAS обновлен на 5 лет. Старый истекает в ноябре 2019. Это означает, что, чтобы избежать ложно позитивных срабатываний антивирусов, софт нужно обновить на версию 22.1.0 или старше до этого срока.
- 0
-
26.10.2019 00:47
Выпущена версия 22.2.0.
Обновление целиком посвящено улучшению системы модулей.
Что такое модули?
Модули позволяют расширять функционал BAS. Каждый модуль содержит набор действий, например, есть модуль для работы с регулярными выражениями, списками, и т. д.
Также модули позволяю внедрять код в движок BAS и в движок браузера.
Каким образом модульная система была улучшена?
Добавлена возможность создавать собственные модули.
После обновления BAS позволяет превратить проект с набором функций в модуль. Выбранные функции будут преобразованы в новые действия. Все описания, которые вы ввели при создании функции, будут перенесены в пользовательский интерфейс нового модуля. С помощью нового диалога вы можете задать описание нового модуля и выбрать иконку, версию, и т. д. Проект, который был использован для создания модуля, можно использовать повторно, например, для обновления модуля, так как он сохраняет все введенные настройки. Разные функции из одного модуля могут вызывать друг друга.
Для создания нового модуля зайдите в менеджер модулей и нажмите на кнопку «Создать новый модуль».
Возможность устанавливать свои или чужие модули.
BAS разрешает устанавливать неограниченное количество модулей тем самым расширяя функционал. Установка происходит для текущего экземпляра BAS, это значит, что новые модули станут доступны в любом проекте над которым вы работаете. Пользователи могут обмениваться модулями, для этого, нужно создать модуль используя кнопку «Создать новый модуль», затем передать файл получившийся в результате другому пользователю. Сделать это не трудно, поскольку модуль является zip архивом. Затем его можно установить используя кнопку «Установить модуль».
Использование модулей в скомпилированных приложениях.
Теперь новые модули можно использовать не только в экземпляре BAS, где они были установлены, но и в скомпилированном приложении. Для этого нет необходимости производить какие-то дополнительные действия. BAS автоматически перенесет нужную информацию в проект.
Передача проектов с модулями.
Давайте рассмотрим такой пример, вы передаете проект другому разработчику для редактирования, у вас модули установлены, у него — нет. В этом случае, он по прежнему сможет запускать проект и даже редактировать те действия, которых у него по сути нет. Достигается это за счет механизма «внешних модулей». После смены проекта внешние модули исчезнут. Допускается передача проектов неограниченное количество раз.
BAS загружает только те модули, которые используются в проекте.
Вы можете устанавливать десятки модулей, если при этом использоваться будут не все, то BAS не будет «раздувать» текущий проект неиспользуемыми модулями. Софт будет автоматически анализировать проект и просто не подключать лишнее. Это не касается режима записи, потому что в нем проект изменяется и потенциально любой установленный модуль может быть использован.
Существующий функционал BAS может быть изменен.
Теперь можно менять функционал содержащийся в нативных модулях. Для этого необходимо:
1) Скопировать содержимое нужного модуля из папки C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0modules в папку C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0custom.
2) Изменить содержимое модуля в папке custom.Все изменения сохранятся в скомпилированном приложении и при передаче проекта.
Здесь может пригодится документация по структуре модулей, которую написал наш пользователь.
https://cheshirecaat.github.io/BAS.Modules/
Видео можно данного процесса найти здесь https://www.youtube.com/watch?v=sLNxrcZMOA0&t=3012s
Заменить можно любые типы файлов, не только скрипты. Например, возможно заменить базу к которой содержится информация об ip адресах.
Node.js можно использовать в модулях.
Существует возможность использовать не только стандартные действия BAS, но и код на Node.js, включая пакеты из NPM. BAS будет автоматически разрешать конфликты для разных версиях NPM модулей в пользу новых версий. Это дает возможность создавать обвертки для NPM модулей в виде модулей BAS с пользовательским интерфейсом. Например, в обучающем видео мы начали создавать такую обвертку для FTP клиента.
Код модуля можно вызвать из Node.js.
Модули добавляют новые действия, которые по сути являются BAS функциями и они подчиняются абсолютно тем же правилам, что и обычные BAS функции. Например, их можно вызвать из Node.js используя метод BAS_FUNCTION. Название функции определяется как название модуля + нижнее подчеркивание + название действия. Например, если название модуля — TestModule, а название действия TestAction, то название функции будет TestModule_TestAction.
Видео с таймкодом https://www.youtube.com/watch?v=sLNxrcZMOA0&t=2740s
Интерфейс менеджера модулей был доработан.
Появился поиск, разделение на нативные и пользовательские модули, возможность удалять пользовательские модули. Код был доработан, так чтобы манипуляции с модульной системой не приводили к сбоям в режиме записи.
Установка модулей в ручном режиме.
Чтобы установить модуль без использования инсталлятора, необходимо скопировать его содержимое в папку
C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0custom
Таким образом, структура файлов должна быть такой:
customНАЗВАНИЕ МОДУЛЯmanifest.json и другие файлы модуля.
Это особенно актуально для модулей созданных до апдейта.
Хотелось бы отметить, что вместо переноса в папку modules, теперь нужно переносить в папку custom.
Новые модули рекомендуется устанавливать через кнопку «Установить модуль».
Дополнительная информация.
Документация по структуре модулей https://cheshirecaat.github.io/BAS.Modules/
Видеообзор модульной системы
- 0
-
15.11.2018 02:09
Выпущена версия 21.4.1, в этой версии присутствует несколько больших изменений:
Действие ‘Прокси’ теперь не только меняет прокси, но и делает так, чтобы смена прокси выглядела более правдоподобно.
Работа в основном окне программы (оно черного цвета) теперь происходит более интуитивно.
Исправлен один очень неприятный баг связанный с несвоевременным освобождением памяти при работе с одним браузером на протяжении долгого времени.Давайте рассмотрим каждое изменение более подробно.
Для начала немного информации про WebRTC, так как этот функционал встроен в любой современный браузер, а с помощью него можно получить данные о реальном ip даже используя прокси. WebRTC — набор апи, которые помогают устанавливать соединение между браузерами и передавать между ними информацию. Причем предпочтение отдается именно прямому соединению, и только если оба браузера находятся за фаерволом или NAT, то используется специальный сервер чтобы передавать трафик через него. Установить соединение бывает непросто учитывая то, что ipv4 адресов недостаточно для всех устройств и большинство из них находятся в приватных сетях, имеют адреса вида 192.168.*.* или 172.16.*.* и обмениваются информацией с остальными через NAT. WebRTC использует такой алгоритм чтобы установить соединение — сначала устройства получают информацию о конфигурации своих сетей и обмениваются ей через какой-то другой канал, потом они пытаются соединиться используя разные варианты конфигурации. Допустим, если устройства находятся в одной сети, то для установления соединения достаточно использовать ip в этой сети, если одно из устройств имеет внешний ип, то оно выступает в роли «сервера» и к нему подключается второе устройство, или наоборот. Нам интересна как раз конфигурация сети, поскольку она содержит реальные ip адреса. WebRTC допускает ее чтение, и даже редактирование через javascript перед отправкой собеседнику. Информация имеет формат SDP описанный в данных документах https://tools.ietf.org/html/rfc5245#section-15 https://tools.ietf.org/html/rfc4566. По следующей ссылке ее можно получить через ваш браузер https://jsfiddle.net/wrbyLqkn/1/, скорее всего там есть ваш реальный ip. В качестве одного из параметров данной информации выступает внешний ip браузера, он получается через запрос к STUN серверу. Функционал данного сервера очень прост — возвращать устройству сделавшему запрос его реальный ip адрес. Сайт сам задает STUN сервер, который хочет использовать, например, в коде выше использовался такой сервер stun.l.google.com:19302. Запросы к этому серверу идут через протокол UPD(вместо TCP) минуя прокси. Суммируя вышесказанное, javascript может совершать запрос к произвольному серверу без прокси и получать ответ в виде реального внешнего ip. Вот ссылка на хорошую статью если вы хотите ознакомиться с вопросом более детально https://www.html5rocks.com/en/tutori…nfrastructure/
До недавнего времени в BAS использовался алгоритм, который запрещает любые запросы подобного рода. В данной версии, BAS изменяет ip полученный от сервиса на внешний ip текущего прокси, это происходит по умолчанию при использовании действия ‘Прокси’, тем не менее новый функционал можно отключать в этом же действии. Рассмотрим детали реализации:
1) Подмена ip происходит на уровне браузера, через js обнаружить ее невозможно.
2) Разные браузеры могут выдавать информацию в формате SDP, тем не менее немного отличающуюся. Подмена может осуществлятся через замену текста, и такой метод можно обнаружить проверив некоторые детали специфичные для браузера. BAS выдает информацию именно так, как это делает Chrome, без замены текста.
3) Запросы к любому STUN серверу запрещены. Даже если запретить получение информации непосредственно через js, но оставить возможность браузеру делать запрос к серверу, то реальный ip не будет известен клиенту, но будет известен серверу и если настроить несколько серверов или несколько портов и связать пользователя с конкретным сервером, то ip можно получить уже на стороне клиента. BAS защищает от подобного метода.Есть простой метод, как можно проверить, пытается ли сайт получить ваш ip через WebRTC или нет, достаточно установить Wireshark, в поле фильтра установить строку stun и зайти на сайт, в случае использования WebRTC в окне приложения будут запросы. Вот видео, которое это демонстрирует: https://i.imgur.com/LwKQY7S.gifv
В случае BAS, запросов не будет, хоть ip и будет возвращаться.
Почему бы не сделать запросы к STUN серверу через туннелирование?
Дело в том, что не все прокси поддерживают протокол UPD, хотя это и указано в спецификации. Пример такого прокси https://i.imgur.com/ubKq7nZ.gifv В будущем BAS будет проверять прокси на такую возможность, но сейчас все запросы к STUN серверу запрещены.Как видите, данная реализация хоть и не является идеальной, но достаточно близка к ней.
Кроме этого, действие ‘Прокси’ теперь также умеет автоматически изменять геолокацию и часовой пояс браузера.
Изменение часового пояса теперь также происходит на уровне браузера — абсолютно все даты, которые возвращает браузер теперь имеют часовой пояс точно такой же, как и у прокси.
BAS научился корректно возвращать измененную дату с учетом летнего времени.
Еще один способ, которым можно обнаружить примерное реальное месторасположение является использование internationalization api( https://developer.mozilla.org/en-US/…DateTimeFormat ). Пример использования: https://jsfiddle.net/0Lq2km96/, по ссылке должно отобразится ваше примерное реально месторасположение независимо от прокси и впн.
Эти значения также заменяются при использовании действия ‘Прокси’, вы можете убедится в этом зайдя на данную страницу из BAS.
Наконец, бывают ситуации, когда ip, который вы используете для доступа к прокси не соответствует его внешнему ip, в таких случаях BAS будет получать внешний ip через сервис ip.bablosoft.com. К сожалению, не существует способа получить адрес без сетевого запроса. Сервис должен стабильно работать при 20к запросах в секунду. Настройка отключаема.
Немало внимания в новом апдейте было уделено удобству использования основного окна.
Для элементов, значение которых может быть не совсем понятным, появились подсказки.
Реализовано множество удобных мелочей: список недавних проектов теперь находится всегда на основной панели, путь к текущему проекту можно скопировать, все иконки заменены на такие, что смотрятся лучше при маленьком размере элементов, изменены значки запущенных браузеров.
Добавлена возможность быстрого обмена проектами — открытие проекта по ссылке и загрузка на гугл диск.
Обновлено окно компиляции проекта, оно стало более интуитивным и интегрированным с облаком. Теперь проект можно обновлять/создавать прямо из BAS, появилась возможность не создавать архив при каждой компиляции.Было потрачено много времени на поиск причины и исправление бага с несвоевременным освобождением памяти. Баг существовал все время на протяжении жизни проекта и проявлялся только тогда, когда несколько браузеров работали 10 и больше часов без перезапуска. Потребление памяти увеличивалось приблизительно на 5-10 мб в час, через несколько дней непрерывной работы проект становился неработоспособным. Ошибка была связана с библиотекой Qt, был найден метод как обойти этот баг.
Надеюсь, что новая версия вам понравится и будет полезной!
- 0
-
19.12.2018 03:30
Выпущена версия 21.5.1. В ней содержится множество изменений связанных с анонимностью браузера. Давайте рассмотрим их подробнее:
Современные браузеры поддерживают апи для работы со звуком. Используя методы этого апи сайт может генерировать и обрабатывать звук, а также получать доступ к бинарным данным. По аналогии с Canvas и WebGL, данные звука также содержат небольшие отличия в зависимости от железа, браузера и системы. Эти отличия могут быть использованы чтобы идентифицировать вас среди других пользователей сайта даже при использовании прокси. В новой версии поддерживается смена отпечатка аудио — BAS добавляет разные шаблоны шума в возвращаемые данные при каждой смене отпечатка. Кроме того, данное апи также дает доступ к разным системным параметрам связанных со звуком. BAS подменяет эти параметры, значения берутся из реальных устройств при помощи сервиса FingerprintSwitcher.
Подробнее о б этой технике можно прочитать в этой статье http://randomwalker.info/publication…easurement.pdf пункт 6.4.
На этом сайте можно получить отпечаток аудио для вашего браузера https://audiofingerprint.openwpm.com/Сайт может получать данные об языке системы несколькими способами. Это заголовок Accept-Language, navigator.language и navigator.languages, а также некоторые методы апи для интернализации. Эти свойства могут содержать не один, а несколько языков, также заголовок Accept-Language имеет разный формат в зависимости от системы. Эти отличия служат одним из факторов для отпечтака браузера. После небольшого теста обнаружилось, что на 20000 пользователей приходится 751 уникальных значений поля Accept-Language. Конечно, заменять эти поля на реальные значение из другого устройства было бы неправильным, потому что это создало бы несоответствие между языком системы и текущим прокси. Поэтому был разработан алгоритм, который «соединяет» страну/язык текущего ип и формат реальных полей из реального устройства. Например, если оригинальный заголовок был таким ru-RU,en-US;q=0.9, а прокси находится в Германии, то результат будет таким de-DE,en-US;q=0.9. Алгоритм корректно сохраняет формат и удаляет ненужные языки, например, такое поле ru, uk;q=0.8, be;q=0.8, en;q=0.7, *;q=0.01 будет заменено таким de, en;q=0.8, *;q=0.01. Текущий ип, страна и язык получаются при применении прокси.
Подробнее о поле Accept-Language https://tools.ietf.org/html/rfc7231#section-5.3.5
Результаты тестирования алгоритма https://pastebin.com/raw/mmgVmbybОдним из свойств железа к которым сайт имеет доступ через javascript является заряд аккумулятора. Исследования в статье приведенной ниже показывают, что данная информация не опасна для пользователя, поскольку позволяет отслеживать его только в краткосрочной перспективе. Действительно, заряд аккумулятора постоянно меняется, а предсказать какие значения будут через длительное время невозможно. Тем не менее, для отслеживания массовых действий такой метод может быть полезен. Представьте, что вы запускаете BAS с ноутбука, а сайт видит как одновременно проходят тысячи регистраций с устройства, заряд которого равен 56%, а до конца зарядки осталось 35 минут. Конечно, можно запускать софт только на стационарном устройстве или полностью заряженном ноутбуке, но это тоже может быть подозрительно при применении мобильных отпечатков. Поэтому было решено эмулировать зарядку/разрядку аккумулятора, а также все события и возвращаемые апи значения на устройствах, который имеют аккумулятор. Информацию о его наличие предоставляет сервис FingerprintSwitcher. Вот как это может выглядеть: https://i.imgur.com/tDnZFDl.png на графике видно, что значения постепенно уменьшаются.
Статья об отпечатках аккумулятора https://eprint.iacr.org/2015/616.pdf
Результаты работы апи для вашего браузера https://fingerprints.bablosoft.com/battery Не удалось найти сервис, который показывает значения в динамике, поэтому сделал свой.BAS использует некоторое количество вспомогательного кода для поиска элментов, внедрения решения рекапчи и другого. Раньше софт можно было обнаружить по наличию этого функционала, поэтому в новой версии он спрятан, все имена функций генерируются для каждого потока разные. Переработан механизм внедрения отпечатков, если раньше BAS полагался на использование конструкций вида Object.defineProperty, то сейчас подмена происходит внутри браузера. Старый метод используется только для изменения списка плагинов и в местах где это абсолютно необходимо. Например, Chrome, в отличие от Firefox не поддерживает апи для работы с VR шлемами. Поэтому для эмуляции этого функционала приходится использовать javascript. Обход некоторых других методов, которые используются для определения движка браузера также преписаны на с++.
Была улучшена эмуляция работы с мышью. Теперь при перемещении к элементу невидимому на экране используется колесо мыши, а не javascript как раньше. Если элемент находится далеко за пределами видимой области, скорость скрола намного быстрее, чем если бы он был совсем рядом. При этом перемещения происходят «рывками», как у реальных пользователей. Вот как это выглядит https://i.imgur.com/IdH2edf.gifv. Первоначальное положение курсора выбирается случайно, а не в левом верхнем углу как раньше. Увеличена частота генерации событий связанных с перемещением мыши.
Эмуляция порядка заголовков временно не работала при переходе к туннелированию. Сейчас этот функцинал возвращен. Порядок заголовков берется из реального устройства.
Добавлена возможность сохранять отпечаток в папке профиля и загружать его от туда при применении профиля. При получении информации о текущем профиле можно узнать, содержит ли он отпечаток, результат будет возвращен в переменную HAS_FINGERPRINT.
Был полностью переписан алгоритм замены шрифтов. Раньше BAS внедрялся в процесс браузера «на лету» и подменял некоторые системные вызовы, сейчас тот же эффект достигается за счет изменения исходного кода браузера. Новая реализация позволяет менять набор шрифтов не перезагружая браузер, а также избавится от некоторых багов. Сейчас для полноценной работы желательно, чтобы на машине, на которой запускается BAS было установлено как можно шрифтов, в будущем новые шрифты будут генерироваться самостоятельно за счет добавления шума.
Добавлена поддержка туннелирования флеш. Это означает, что абсолютно все запросы, которые делает процесс флеш будут проходить через заданный прокси. Следует понимать, что флеш обладает гораздо большими возможностями чем javscript и поэтому его включение — удар по анонимности. В BAS скорее всего не будут применятся техники для того, чтобы сделать флеш более безопасным, как это делается с javscript потому что его поддержка будет прекращена Adobe в 2020 году https://theblog.adobe.com/adobe-flash-update/ Если элемент с флеш меньше определенного размера Chrome просит пользователя подтвердить его запуск, в новой BAS версии сделано так, пользователь автоматически соглашается это сделать(если флеш включен).
Проверить ип возвращаемый через флеш можно на этом сайте https://whatleaks.com/
Некоторые другие изменения не касающиеся отпечтаков:
Веб интерфейс теперь может использовать localStorage для хранения настроек софта между запусками.
Bызов метода BAS_API из Node.js теперь генерирует исключение в случае ошибки. Теперь можно сделать так:
Код:
try { await BAS_API(`load("wrongurl11111.com")!`) }catch(e) { console.log(`Что-то пошло не так: ${e}`) }
Новая настройка для приложений с защитой: «Разрешать запускать только один экземпляр приложения».
Исполняемые файлы BAS теперь подписаны. Это позволит быстрее проходить проверку SmartScreen на Windows 10, также избежать ложноположительных срабатываний антивирусов.
Заново переписан механизм перетягивания блоков за пределы рабочей области(при обновлении браузера он перестал работать).
Исправлено множество багов, среди которых:
Исправлен баг с установкой referrer и перенаправлениями страницы.
Сетевые ошибки при загрузке проекта в скомпилированных скриптах теперь не сообщают урл сервера.
Исправлено исчезновение прошлого проекта после неудачной загрузке.При переходе на новую версию BAS, старые проекты будут работать по старому, если вы хотите использовать новый функционал, то нужно начать редактировать действия ‘Прокси’, ‘Применить отпечаток’ и ‘Получить отпечаток’ и нажать на Ok ничего не меняя.
Это не все изменения находящиеся в разработке, до конца года планируется выпустить новый аддон для BAS — FingerprintDetector.
- 0
-
30.01.2019 04:50
Вышла версия 21.6.1.
Основное изменение в этой версии — поддержка FingerprintDetector. Подробнее здесь FingeprintDetector — универсальный ответ, почему ботов банят.
Также было сделано несколько изменений и исправлений в BAS:Сервис FingerprintSwitcher теперь подменяет список расширений видеокарты и многие другие параметры:
При добавлении нового функционала прокрутки страницы было допущено несколько ошибок, например, не совсем корректно работало ожидание элемента. Сейчас эти проблемы исправлены.Поиск писем теперь поддерживает utf-8 кодировку. В частности это позволяет использовать кириллицу для поиска по теме письма или его содержимому.
Список исключений для Capmonster и Recaptcha2 теперь пуст по умолчанию, что позволяет передавать в софт абсолютно все запросы. Раньше его нужно было настраивать вручную.
Добавлен новый метод для XEvil и капчи с изображением, его использование позволяет экономить время при работе с данным софтом и избежать некоторых ошибок связанных с неточным получением изображения.
Действие «Шаблон» позволяет игнорировать спинтакс и не заменять переменные и ресурсы их значениями(поведение настраиваемое). Таким образом можно создавать многострочные переменные с специальными символами.
Исправлена ошибка с таймаутом при закрытии вкладки.
Исправлена ошибка с накоплением идентификаторов при создании и закрытие вкладок в цикле.
FingerprintDetector и FingerprintSwitcher теперь корректно работают вместе. Однако, лучше всего запускать Detector без примененного отпечатка.
В настройках BAS теперь находится ссылка, перейдя по которой можно отлаживать интерфейс прямо в браузере.
При создании действий «For», «While», «Foreach» и «Игнорировать ошибки» на панель сценария будут также добавляться вспомогательные действия.
У каждого действия теперь есть кнопка для игнорирования ошибок на протяжении его выполнения:
По кнопкам для перемещения точки выполнения легче попасть за счет увелечения их площади.
————-
Следующим изменением будет ручное управление браузером с поддержкой записи сценария, работы в скомпилированном или в запущенном виде. Будет специальное действие для передачи контроля пользователю в многопоточном режиме. Также будет поддерживаться веб интерфейс. Ожидать апдейт можно через 2-3 недели.
- 0
-
06.03.2019 16:55
Добавлена возможность управлять браузером в ручном режиме.
Это означает, что все действия мыши и клавиатуры будут передаваться в браузер напрямую. Данная возможность является опциональной, а старый режим управления без каких-либо изменений сохраняется в новой версии как один из возможных вариантов. Вот полный список всех способов взаимодействовать с браузером в новом режиме:
- Клики мышью.
- Перетягивание, включая html5 drag and drop.
- Двойное нажатие.
- Ввод с клавиатуры.
- Быстрые клавиши Ctrl-C, Ctrl-A, …
- Смену урл.
- Скролл с помощью полосы прокрутки.
- Управление вкладками.
- Историей браузера(действие назад).
Чтобы включить новый режим, нужно нажать на данную кнопку:
Режимы также можно переключать достаточно быстро с помощью горячих клавиш(F1, F2, F3).
Видео. Управление в ручном режиме.
Автоматическая запись скрипта.
BAS также может записывать скрипт при включенном ручном управлении. Для это нужно переключиться в третий режим на соответствующей вкладке или нажать F3. При этом любое взаимодействие с пользователем будет конвертироваться в действия и добавляться на панель сценария. Туда будут попадать все действия, кроме, разве что прокрутки страницы. BAS будет стараться соединять действия в цепочки, например, клик по элементу и ввод текста будут объеденены в «Ввод текста» в элемент, поэтому панель сценария будет заполняться не сразу. Действие «Ждать полной загрузки» будет добавляться по мере того, как страница будет загружаться в браузере.
Видео. Автоматическая запись скрипта.
Управление браузером в многопоточном режиме.
Новые возможности доступны также в многопоточном режиме, для нужно вызвать действие «Ручное управление браузером». Данное действие сражу же передаст контроль над браузером пользователю, он получит соответствеющее уведомление — браузер будет подсвечен красным,
а в самом браузере появится ссылка, нажав на которую его можно остановить и передать контроль обратно в скрипт
Данный метод позволяет реализовать совместное управление браузером — часть работы будет делать пользователь, часть работы скрипт. Например, ввод капчи или авторизацию на сайте может совершать сам пользователь, а все остальное будет выполняться скриптом автоматически.
Видео. Управление браузером в многопотоке.
Управление браузером и веб-интерфейс.
При использовании веб-интерфейса ручное управление браузером происходит все равно в нативном окне. После события manual_control_start интерфейс должен выполнить метод ShowBrowser чтобы передать контроль пользователю. Более подробно данный процесс описан в мануале, который тоже обновился. В дополнение вы можете посмотреть код автоматически сгенерированного интерфейса, он также содержит обработку новых событий, или просто оставить автоматически сгенерированный код без изменений:
Видео. Управление браузером в режиме веб-интерфейса.
Больше информации.
Более подробная информация, а также примеры использования доступны по данной ссылке
Видео. Ручное управление, полный обзор.
- 0
-
19.04.2019 00:20
Предлагаем вам скидки 50% на XEvil.
XEvil — простая, быстрая и удобная программа для полностью автоматического распознавания и обхода подавляющего числа капч (CAPTCHA), без необходимости подключения каких-либо сторонних сервисов.
Право получить скидку имеют:
Клиенты уже купившие BASPremium или ключ к FingerprintSwitcher на 3 месяца начиная с 10 апреля 2019.
Клиенты, которые будут покупать BASPremium или ключ к FingerprintSwitcher на 3 месяца до 1 мая 2019.
Акция ограничена по времени до 1 мая 2019, воспользоваться скидочным купоном после этого времени не удастся.
Чтобы получить скидочный купон необходимо написать письмо на почту mail.to.twaego@gmail.com с темой XEvil скидка.
Количество скидочных купонов также ограничено 30.
- 0
-
19.05.2019 21:39
Выпущена версия 21.8.0.
Данная версия содержит одно большое изменение — добавление планировщика задач. Этот механизм позволяет работать сразу с несколькими приложениями написанными в среде BAS. Список возможностей планировщика:
- Возможность загружать скрипты из запущенного экземпляра BAS, из облака или из файла.
- Гибкая система настройки времени запуска.
- Сбор информации о выполнении задач.
- Контроль выполнения задач как в автоматическом, так и в ручном режиме.
- Интеграция с компилируемыми приложениями и с веб-интерфейсом.
- Быстрое перемещение списка задач между машинами.
- Удобный дружелюбный интерфейс.
- Возможность запускать планировщик как отдельное приложение.
Принцип работы.
При первом запуске приложение устанавливается на ПК пользователя и добавляется в автозагрузку. Такая архитектура необходима для того, чтобы иметь возможность выполнять задачи, когда BAS не запущен. Для начала работы необходимо нажать на данную кнопку в меню:
Появившееся после этого окно является центром управления всеми задачами на данной машине, здесь можно создавать задания и получать информацию об их выполнении. Так выглядит планировщик открытый в первый раз:
А это рабочая версия:
Создание задачи происходит по клику на кнопку «+» в правом нижнем углу. Пользователю необходимо заполнить информацию о проекте, ввести ресурсы и задать время выполнения. Ресурсы задаются только при редактировании или создании, а введенные значение потом будут использованы при запуске.
Софт поддерживает множество разнообразных способов задать время запуска, есть вклада, которая отображает прогнозируемое время запуска и типичные примеры использования:
Получение информации о выполнении.
Основная область содержит логи и список задач, для получения отчета о конкретной задаче необходимо нажать на кнопку меню:
Меню содежит более подробную информацию: ссылку на лог, результаты, отчет, если этого недостаточно, то по нажатию на ссылку «Показать/скрыть» вы можете открыть привычный интерфейс скрипта запущенного на BAS:
Архив заданий.
Любая задача, после завершения своего цикла запусков попадает в архив. Задачи из архива уже не будут запланированы, но они также еще не удалены. Пользователь может восстановить задачу из архива, либо оставить ее там на неопределенное время. Таким образом, архив можно использовать как каталог задач доступных на данном ПК.
Перемещение списка задач на другой ПК.
Софт поддерживает перенос задач на другую машину, для этого достаточно зайти в меню и выбрать «Сохранить все задания в файл»
Будут перенесены не только скрипты подгружаемые из облака, но и задачи загруженные из файла. Это относится и к проектам и к графику запусков. Теперь сделать VPS нагруженный скриптами BAS проще простого.
Интеграция с компилируемым приложением.
Существует также способ предоставить доступ к планировщику пользователям компилируемых приложений. Для этого необходимо указать при компиляции опцию «Интегрировать планировщик в приложение».
При этом, пользователь при старте скрипта увидит новое окно:
Он может выбрать либо запустить планировщик, либо запустить скрипт один раз мгновенно. От разработчика не требуется писать дополнительный код или присылать новый архив, достаточно просто установить флаг при компиляции.
Веб интерфейс и планировщик.
Указанная выше настройка подходит и для веб интерфейса, новое окно отображается и там. Кроме того, при добавлении задачи с интерфейсом, при выборе ресурсов будет отображено не нативное окно, а именно созданный разработчиком интерфейс бота.
Добавлены новые методы апи:
Код:
Api.HasScheduler() Api.ShowScheduler()
И новое событие «run_type_select»
При переходе на новую версию интерфейс для входа необходимо сгенерировать заново или самостоятельно обработать новое событие:
Запуск планировщика отдельно от BAS.
Премиум пользователи могут найти ссылку на новый проект — TaskScheduler у себя в персональном кабинете. Фактически это планировщик как отдельное приложение, без BAS. Данный дистрибутив рекомендован к установке на VPS.
Сам процесс запуска установки пачки скриптов на сервере можно увидеть на видео:
- 0
-
11.06.2019 14:01
Выпущена версия 21.8.0.
В ней главный упор сделан на усовершенствование системы смены отпечатков.
Переработан механизм смены canvas.
Метод, которым меняется отпечаток canvas значительно усовершенствован. Это сделано для того, чтобы смена отпечатка не определялась больше антидетект системами. Сюда входит целый комплекс мер, приведу только один пример — вместо замены цвета для каждого пикселя, все изображение теперь анализируется, находятся его контуры, далее цвет меняется только «на границе»:
Граница на изображении выше выделена красным цветом.
Это позволяет проходить некоторые тесты без негативных результатов:
(navigator дает ложно позитивный результат и в обычном браузере, dns зависит от прокси).
Также, я добавил несколько своих тестов для определения аутентичности canvas:
https://fingerprints.bablosoft.com/canvas
Изменение canvas теперь работает и с alpha каналом.
Это означает, что если элемент canvas содержит черно белое изображение, то отпечаток все равно будет меняться.
Новая версия BAS по умолчанию отрисовывает содержимое браузера используя видеокарту.
Старая реализация использовала исключительно CPU, но это можно обнаружить. Прежний способ отрисовки можно вернуть обратно заменив значения
Код:
--disable-gpu-deleted --disable-gpu-compositing-deleted
на
Код:
--disable-gpu --disable-gpu-compositing
В файле chrome_command_line.txt
Значительно увеличилась скорость при применении отпечатков.
Теперь BAS не тормозит при посещении сайтов, которые интенсивно работают с графикой, например, стриминговых сервисов.
Добавлен новый фактор для FingerprintSwitcher: ClientRectangles.
Данный метод позволяет составить отпечаток устройства через получение размеров специально составленного элемента. В отличии от canvas, анализируется только ширина, высота, и координаты, а не цвета каждого пикселя. Эти значения являются платформозависимыми и могут быть использованы для составоения отпечатков. Теперь BAS добавляет к ним шум, достаточный для того, чтобы менять отпечаток, но не настолько большой, чтобы нарушить работу сайтов.
Протестировать можно здесь:
https://browserleaks.com/rects
Исправлены проблемы смены даты при переходе на летнее время.
Данные рассчитываются согласно текущим правилам перехода на летнее время в стране, где находится ip.
Простенький тест, который показывает есть ли переход на летнее время в вашей стране или регионе. Он не зависит от текущей даты, и это хороший тест справляется ли ваша система смены отпечатков с датами:
https://jsfiddle.net/jp6rkcs4/
Возможность продлевать ключи FingerprintSwitcher и приобретать ключи без привязки к ip.
Данные возможности появятся через несколько дней.
Обновлен планировщик.
Новая версия 1.2.0 содержит переработанный механизм прерывания задач. Любая задача будет остановлена мгновенно, неважно на каком этапе выполнения или установки она находилась.
По причине того, что, чтобы обновить планировщик, нужно остановить все задачи, вам нужно согласиться на обновление при следующем запуске. В автоматическом режиме планировщик обновляться не будет.
Блок «Игнорировать ошибки» теперь отлавливает ошибками при выполнении javascript.
Это могут быть: ошибки парсинга json, несуществующие переменные и т. д.
Реализована работа с нативными комбобоксами.
Однако, автоматизировать выбор элемента все еще нужно старым способом. Это изменение будет очень полезно для использования в режиме ручного управления.
И множество других изменений:
- Домен сайта теперь получается через прокси при использовании хттп клиента.
- Исправлены ошибки при работе с вложенными циклами для элементов.
- Из логов и других файлов скомпилированных скриптов убранны упоминания о BAS.
- Исправлны проблемы при работе с базой данных и типом данных из даты.
- Любые ошибки без блока «Игнорировать ошибки» во время выполнения OnApplicationStart приведут к завершению приложения.
- При выборе альтернативного сервера для решения капчи, BAS автоматически добавляет слеш к урл сервера.
- При использовании отрицательных координат для перемещения мыши, будут автоматически вызваны события о перемещении мыши за пределы экрана.
- Исправлены проблемы с вызовом событий о видимости браузера в веб интерфейсе.
- 0
-
24.08.2019 15:48
Выпущена версия 22.0.0
Она содержит множество улучшений для веб интерфейса, а также обновление интерфейса редактора скрипта.
Функции теперь имеют параметры и возвращаемое значение.
Добавлены действия «Получить Параметр Функции» и «Return«.
Задать список параметров и их описание можно в менеджере функций
Теперь одну и ту же функцию можно вызывать с разными параметрами, что упростит повторное использование кода.
Новые действия содержат интерактивную документацию, подробности можно узнать там.
Менеджер функций.
Работать с функциями теперь можно в отдельном окне, которое называется менеджером функций.
Все элементы управления, а именно: создание, редактирование, удаление функций, были перенесены туда.
Добавлена возможность поиска функций и задание параметров.
Основное окно:
Редактирование функции:
Действия «Получить Параметр Функции» и «Return» добавляются в редактор скрипта автоматически.
Расширение API для веб интерфейса.
Добавлено множество методов, которые можно вызывать из веб интерфейса.
Методы для взаимодействия с системным окном:
- MoveWindow — смена положения окна.
- ResizeWindow — изменение размеров окна.
- Api.OpenFileDialog, Api.SaveFileDialog — вызов системного диалога выбора файла.
- ShowNotification — показ системных уведомлений в трее.
- OpenUrl — посещение заданного url, открытие файла или программы.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-inter…ngnativewindow
Все генерируемые диалоги для выбора файла были заменены на нативные.
Добавлено синхронное API для работы с файловой системой. Сюда входит: чтение/запись файлов, работа с папками.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-interface/#/filesystem
Начальные размеры окна можно задать прямо в его настройках:
Создавать интерфейс теперь можно с нуля.
Это можно было делать и раньше, но сейчас для этого появились дополнительные возможности.
При создании и генериции интерфейса можно выбрать его тип:
Появилась возможность сохранять изменения прямо из редактора кода и вообще не заходить в визуальный редактор интерфейса.
Новый тип интерфейса заставляет BAS работать принципиально новым способом, вместо того, чтобы запускать один скрипт сразу, как это было раньше, теперь можно реагировать на события на странице(например, нажатия кнопок) вызывая BAS функции, а параметры для этих функций можно брать прямо из веб интерфейса.
Вызов функций BAS и создание потоков из веб интерфейса.
Теперь неограниченное число потоков можно создавать прямо из веб интерфейса, а также вызывать в них функции с заданными параметрами.
Для получения результатов можно использовать объект Promise или ключевое слово await.
Код:
//Создаем поток var Thread = new BASThread() //Устанавливаем прокси await Thread.RunFunction("SetProxy", {"ProxyLine": "socks5://127.0.0.1:11185"}) //Вызываем функцию для парсинга var LinksList = await Thread.RunFunction("MakeGoogleQuery", {"Query": "cats"}) //Останавливаем поток Thread.StopThread()
Данное API умеет обрабатывать ошибки и имеет специальное расширение к объекту Promise, которое останавливает поток.
Более подробно здесь:
https://wiki.bablosoft.com/web-inter…allbasfunction
Существует возможность отлаживать выполнение функций прямо в BAS:
Приложение ParseGoogle. Демонстрация функционала.
Было создано новое приложение ParseGoogle. Оно парсит выдачу по заданному запросу.
Приложение довольно примитивно с точки зрения функционала, зато имеет приятный интерфейс и хорошо демонстрирует новые возможности.
Конечно же, все это сделано на BAS.
Скомпилированное приложение
https://bablosoft.com/distr/ParseGoo…arseGoogle.zip
Проект BAS
https://bablosoft.com/distr/ParseGoo…arseGoogle.xml
Веб интерфейс
https://bablosoft.com/distr/ParseGoo….interface.txt
Данное видео демонстрирует процесс создания
Вызов функций BAS и создание потоков из node.js.
Функции BAS теперь можно вызывать и из node.js.
Так же, как и для веб интерфейса есть возможность ожидать результатов и обрабатывать ошибки.
Код:
var Result = await BAS_FUNCTION( "FunctionName", {ParamName1: "ParamValue1", ParamName2: "ParamValue2"} )
Подробней здесь:
https://wiki.bablosoft.com/doku.php?…_bas_functions
Этот метод значительно упрощает взаимодействие с браузером и с BAS из node.js
Улучшения интерфейса
Внешний вид редактора скриптов был переработан.
Добавлена визуализация меток, метки можно создавать перетаскиванием специального элемента управления:
Добавлена справка по основным возможностям BAS:
В нее можно попасть нажав на кнопку по центру, справа в редакторе скрипта.
Справка содержит описание для каждой группы(циклов, условий, парсинга и т .д.), с основными принципами работы.
Там также находятся основные действия и примеры использования.
Был обновлен инспектор переменных — теперь он показывает состояние ресурсов, его размер может быть изменен.
Переход к функции может быть осуществлен по клику на названии функции в действии «Вызов функции».
Место для активной вставки действия не изменяется при редактировании скрипта.
Описание действия сохраняется вместе с сохранением данных.
Верхняя панель в редакторе скрипта была заменена на меню.
Вместо задания количества успешных и неудачных выполнений теперь можно выбрать «Повторять»
Обзор нового интерфейса можно найти в этом видео:
Исправление ошибок
Планировщик не перестает работать при питании от аккумулятора.
Исправлено решение рекапчи если функция ответа является строкой.
Исправлено падение при сворачивании веб интерфейса в трей на Windows 10.
При отсутствии информации о кодировке почтового сообщения, BAS не подразумевает что письмо закодировано в quoted printable.
Исправлено падение при установке скорости мыши из строки.
Исправлено смешивание ресурсов если планировщик запускает одинаковые проекты одновременно.- 0
-
20.09.2019 20:34
Выпущена версия 22.1.0
Она содержит множество исправлений ошибок, а также некоторые фичи, которые запрашивали пользователи.
Recaptcha V3
Добавлено уведомление о каждом использовании сайтом Recaptcha V3 в режиме записи.
Уведомление содержит название действия, которое было использовано сайтом.Добавлено новое действие «Recatpcha V3», оно задает параметры решения Recatpcha V3.
Доступные сервисы: 2captcha.com, rucaptcha.com, anti-captcha.com
Возможно выборочное решение только для нужных действий, установка минимального рейтинга.Видео. Решение Recaptcha V3
Больше подробностей по использованию действия вы можете найти в интерактивной документации.
Фильтрация отпечатков
Теперь стало возможно получать отпечатки с определенными параметрами. Список фильтров:
1) Версия операционной системы: Windows 10, Windows 7, Windows 8
2) Время добавления: 15, 30 и 60 дней.
3) Версия браузера.
4) Минимальные и максимальные размеры окна браузера.Дополнительно, отпечатки с тегом Chrome теперь не содержат яндекс браузер. Для него появился новы тег — YaBrowser.
Расширение Api для веб интерфейса.
Добавлены методы Api.GetBrowsers и Api.GetTasks, они позволяют получать список работающих функций и браузеров.
Документация:
BAS custom interface
BAS custom interfaceУлучшена эмуляция кликов и ввода текста.
Добавлен рандомный интервал между событиями mousedown и mouseup и между keydown/keypress и keyup.
Исправлено множество ошибок.
Вызов методов OpenFileDialog и SaveFileDialog для веб интерфейса больше не блокирует запуск функции.
Исправлены ошибки при поиске в почтовых ящиках название которых содержит пробелы.
Исправлено несвоевременное освобождение памяти при применении отпечатка.
Исправлено падение при использовании действия «Разрешить кэш» с параметром «*».
Обновление колонки с типом даты в базе данных из веб интерфейса теперь работает корректно.
Исправлено падение, которое возникает при некоторых условиях после вызова нескольких функций из веб интерфейса.
Исправлен сброс ресурсов при редактировании задачи в планировщике после обновлении версии BAS.
Действие return теперь работает корректно если оно помещено в блок игнорировать ошибки и вызвано из веб интерфейса.
Исправлена ошибка при проигрывании видео на youtube для некоторых отпечатков.Обновлен сертификат.
Сертификат, которым подписаны исполняемые файлы BAS обновлен на 5 лет. Старый истекает в ноябре 2019. Это означает, что, чтобы избежать ложно позитивных срабатываний антивирусов, софт нужно обновить на версию 22.1.0 или старше до этого срока.
- 0
-
26.10.2019 00:47
Выпущена версия 22.2.0.
Обновление целиком посвящено улучшению системы модулей.
Что такое модули?
Модули позволяют расширять функционал BAS. Каждый модуль содержит набор действий, например, есть модуль для работы с регулярными выражениями, списками, и т. д.
Также модули позволяю внедрять код в движок BAS и в движок браузера.
Каким образом модульная система была улучшена?
Добавлена возможность создавать собственные модули.
После обновления BAS позволяет превратить проект с набором функций в модуль. Выбранные функции будут преобразованы в новые действия. Все описания, которые вы ввели при создании функции, будут перенесены в пользовательский интерфейс нового модуля. С помощью нового диалога вы можете задать описание нового модуля и выбрать иконку, версию, и т. д. Проект, который был использован для создания модуля, можно использовать повторно, например, для обновления модуля, так как он сохраняет все введенные настройки. Разные функции из одного модуля могут вызывать друг друга.
Для создания нового модуля зайдите в менеджер модулей и нажмите на кнопку «Создать новый модуль».
Возможность устанавливать свои или чужие модули.
BAS разрешает устанавливать неограниченное количество модулей тем самым расширяя функционал. Установка происходит для текущего экземпляра BAS, это значит, что новые модули станут доступны в любом проекте над которым вы работаете. Пользователи могут обмениваться модулями, для этого, нужно создать модуль используя кнопку «Создать новый модуль», затем передать файл получившийся в результате другому пользователю. Сделать это не трудно, поскольку модуль является zip архивом. Затем его можно установить используя кнопку «Установить модуль».
Использование модулей в скомпилированных приложениях.
Теперь новые модули можно использовать не только в экземпляре BAS, где они были установлены, но и в скомпилированном приложении. Для этого нет необходимости производить какие-то дополнительные действия. BAS автоматически перенесет нужную информацию в проект.
Передача проектов с модулями.
Давайте рассмотрим такой пример, вы передаете проект другому разработчику для редактирования, у вас модули установлены, у него — нет. В этом случае, он по прежнему сможет запускать проект и даже редактировать те действия, которых у него по сути нет. Достигается это за счет механизма «внешних модулей». После смены проекта внешние модули исчезнут. Допускается передача проектов неограниченное количество раз.
BAS загружает только те модули, которые используются в проекте.
Вы можете устанавливать десятки модулей, если при этом использоваться будут не все, то BAS не будет «раздувать» текущий проект неиспользуемыми модулями. Софт будет автоматически анализировать проект и просто не подключать лишнее. Это не касается режима записи, потому что в нем проект изменяется и потенциально любой установленный модуль может быть использован.
Существующий функционал BAS может быть изменен.
Теперь можно менять функционал содержащийся в нативных модулях. Для этого необходимо:
1) Скопировать содержимое нужного модуля из папки C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0modules в папку C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0custom.
2) Изменить содержимое модуля в папке custom.Все изменения сохранятся в скомпилированном приложении и при передаче проекта.
Здесь может пригодится документация по структуре модулей, которую написал наш пользователь.
https://cheshirecaat.github.io/BAS.Modules/
Видео можно данного процесса найти здесь https://www.youtube.com/watch?v=sLNxrcZMOA0&t=3012s
Заменить можно любые типы файлов, не только скрипты. Например, возможно заменить базу к которой содержится информация об ip адресах.
Node.js можно использовать в модулях.
Существует возможность использовать не только стандартные действия BAS, но и код на Node.js, включая пакеты из NPM. BAS будет автоматически разрешать конфликты для разных версиях NPM модулей в пользу новых версий. Это дает возможность создавать обвертки для NPM модулей в виде модулей BAS с пользовательским интерфейсом. Например, в обучающем видео мы начали создавать такую обвертку для FTP клиента.
Код модуля можно вызвать из Node.js.
Модули добавляют новые действия, которые по сути являются BAS функциями и они подчиняются абсолютно тем же правилам, что и обычные BAS функции. Например, их можно вызвать из Node.js используя метод BAS_FUNCTION. Название функции определяется как название модуля + нижнее подчеркивание + название действия. Например, если название модуля — TestModule, а название действия TestAction, то название функции будет TestModule_TestAction.
Видео с таймкодом https://www.youtube.com/watch?v=sLNxrcZMOA0&t=2740s
Интерфейс менеджера модулей был доработан.
Появился поиск, разделение на нативные и пользовательские модули, возможность удалять пользовательские модули. Код был доработан, так чтобы манипуляции с модульной системой не приводили к сбоям в режиме записи.
Установка модулей в ручном режиме.
Чтобы установить модуль без использования инсталлятора, необходимо скопировать его содержимое в папку
C:Users%USERNAME%AppDataRoamingBrowserAutomat ionStudioTestingapps22.2.0custom
Таким образом, структура файлов должна быть такой:
customНАЗВАНИЕ МОДУЛЯmanifest.json и другие файлы модуля.
Это особенно актуально для модулей созданных до апдейта.
Хотелось бы отметить, что вместо переноса в папку modules, теперь нужно переносить в папку custom.
Новые модули рекомендуется устанавливать через кнопку «Установить модуль».
Дополнительная информация.
Документация по структуре модулей https://cheshirecaat.github.io/BAS.Modules/
Видеообзор модульной системы
- 0
Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять
Automation Empire — Павел Дуглас On Bas
HD
08:44
Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять
Automation Empire — Павел Дуглас On Bas
.
219 Видео
О видеоПоделитьсяФото
Дата публикации:
25.02.2021 18:45
Продолжительность:
08:44
Ссылка:
https://thewikihow.com/video_86Be1srqTxI
Действия:
Жалоба
Связаться с автором
Источник:
Описание
BAS — Модуль Браузер — Функция ИГНОРИРОВАНИЕ ОШИБОК скрипта в BAS, как применять
Добавляйтесь в друзья:
👱 Я в Децентрализованных Blockchain сетях:
Павел Дуглас канал Бот Мейкер — Всё про создание ботов для автоматизации любых рутинных действий в бизнесе, заработке или для личных нужд. Узнайте все фишки ботоводов и ботмейкеров на этом канале. Канал ведет эксперт по заработку в интернете, онлайн бизнесу, криптовалютам и автоматизации.
#Павел_Дуглас #Browser_Automation_Studio #BAS
Возможно вы искали — визуальное программирование
примеры программ по bas
bas уроки
примеры bas
заказать скрипт бас
bablosoft
bas интересные уроки
bas новые уроки
создание на bas бота под кран
browser automation script logic
bas с разными задачами
browser automation studio tutorial
пример скрипта bas
уроки по browserautomationstudio
browserautomationstudio что это
автоматизируем процесс в bas
изучаем browserautomationstudio
бот для заработка
как заработать в интернете
заработать школьнику
боты для заработка реальных денег
зарабатываем легко
бот для заработка денег
бот для сбора биткоинов
создать бот для бизнеса
создать бота онлайн
создать бота без программирования
Новые видео на канале Automation Empire — Павел Дуглас On Bas
- Автоматический Парсер Доменов Для Нагула Куков С Facebook Pixel Бесплатно И Без Ограничений
- [Кейсы Browser Automation Studio] — Wildberries Регер И Рассыльщик По Селлерам + Продвигатель Бренда
- [Кейсы Browser Automation Studio] — Yappy Bot Накрути Себе 1 000 000 Просмотров, Лайков, Комментов
Подписывайтесь на наш Telegram канал!@thewikihowоткрытьМониторим видео тренды 24/7
Что еще посмотреть на канале Automation Empire — Павел Дуглас On Bas
Фото обложки и кадры из видео
Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять, Automation Empire — Павел Дуглас On Bas
https://thewikihow.com/video_86Be1srqTxI
Аналитика просмотров видео на канале Automation Empire — Павел Дуглас On Bas
Гистограмма просмотров видео «Bas: Модуль Логика Скрипта — Функция Игнорирование Ошибок Скрипта В Bas, Как Применять» в сравнении с последними загруженными видео.
Теги:
Browser Automation Studio
Павел Дуглас
Browser Automation Studio Игнорирование Ошибок В Скрипте
Browser Automation Studio Скачать Торрент
Browser Automation Studio Скрипты
Browser Automation Studio Уроки
Browser Automation Studio Скачать
Browser Automation Studio Мануал
Browser Automation Studio На Русском
Browser Automation Studio Обучение
Browser Automation Studio Официальный Сайт На Русском
Browser Automation Studio Премиум Скачать
Похожие видео
15:02
Как Работать С Расширениями В Bas, Bas Extensions И Работа С Ними На Примере Touch Vpn
3 371 просмотр.
10:50
Bas: Модуль Логика Скрипта — Функции Установить Метку И Перейти К Метке Скрипта В Bas
546 просмотров.
04:32
Bas: Модуль Логика Скрипта — Цикл For (I = 0 To N), Цикл For В Browser Automation Studio
713 просмотров.
14:36
Как Использовать Ресурсы Внутри Browser Automation Studio, Bas Урок По Ресурсам
1 919 просмотров.
15:08
Как Парсить Каждый Раз Новую Строку С Прокси И Применять Ее При Работе С Bas, Foreach + Парсинг
6 465 просмотров.
10:50
Bas: Модуль Логика Скрипта — Условие If, Как Работает Func-Условие If В Browser Automation Studio
2 924 просмотра.
21:03
Как Работать С Куками В Bas, Загружаем Cookies В Browser Automation Studio
3 297 просмотров.
11:26
Создание Сводной Таблицы В Excel
1 966 844 просмотра.
08:10
Проблема Числа 10958 [Numberphile]
6 257 189 просмотров.
Тема:
(Прочитано 995 раз)
Browser Automation Studio (BAS) — популярная программа для автоматизации ваших действий в интернете. Если есть рутина — то она поможет, притом есть бесплатная версия, что является большим плюсом для проги.
BrowserAutomationStudio. Урок #1. Введение. Автономный чеккер gmail
Урок #2. Селекторы. Поиск элементов. Парсер ленты twitter.
Урок #3. Ресурсы. Работа с файлами в многопотоке. / работа с прокси
« Последнее редактирование: Февраля 26, 2021, 04:54:50 pm от saitikdev »
Записан
Урок #4. Переменные. Использование javascript.
Урок #5. Конструктор javascript.
Урок #6. Условия. Действие If. Постер twitter.
Записан
Урок #7. Циклы. Постер из RSS ленты.
Урок #8. Многопоточность. Множество примеров.
Записан
Новые фичи
1. Профили. Автовход в телеграм.
2. Встроенные языки, node.js, npm.
3. Сеть. Туннелирование.
4. Анонсы. Mutilogin. Документация. Конструктор интерфейса.
Записан
« Последнее редактирование: Февраля 26, 2021, 04:54:19 pm от saitikdev »
Записан
This repository is not updated regularly, if you want actual source code, check out premium version https://bablosoft.com/shop/BASPremium
BrowserAutomationStudio is a solution that allows you to quickly create applications using browser, http client, email client, and other libraries. Programming skills are not required. Main application types: creation of posters, spammers, parsers, uploaders, apps for the social networks.
Projects compiled with BAS are standalone executables and does not require any other software installed on your PC(including BAS).
Software operates like macro recorder: all actions that a user makes are recorded and can be played or edited afterwards.
BrowserAutomationStudio supports arbitrary javascript execution.
Here is how main window look like:
This is compiled script user interface:
Visual editor to generate javascript expression:
Account manager:
Features
- Absolutely 100% Free.
- Can create standalone bots in two clicks.
- Well documented.
- No coding skills required! Code in visual constructor.
- Drag&Drop actions.
- Conditions, loops.
- Easy and powerful multithreading.
- Visual expression editor.
- Supports socks and http proxies.
- Captcha services integration including ReCaptcha 2.0 and invisible ReCaptcha.
- Capmonster 2 integration.
- Captcha sniper integration.
- Receive sms modules.
- Email module. Search in mailbox.
- 100% browser emulation with chrome.
- Emulate other browsers with fingerprint switcher module.
- Native mouse click and move. Native keyboard emulation.
- Tabs support.
- Frames support.
- Easy drag & drop.
- Special keys emulation: Tab, Ctrl, etc.
- Disabled ip tracking through WebRTC.
- Timezone change.
- Very fast http client(up to 2000 threads).
- User interface constructor.
- Load data from file/url/string. Delete lines, mix.
- Random string generator(tags).
- Works with database. Powerful database editor.
- Regular expressions.
- Xpath queries.
- Image queries.
- Spintax.
- Ability to write your own actions in javascript.
- Supports flash(can be disabled).
- Custom css, xpath, text queries.
- Developer tools integration.
- Network filters and cache captures.
- Autoupdater.
- Application store.
- Extendable module system. Write your own in javascript or c++.
Download
Download from https://bablosoft.com/shop/BrowserAutomationStudio
Compile
See instructions: https://wiki.bablosoft.com/doku.php?id=how_can_i_change_bas_and_compile
Learn how to use it
Read wiki https://wiki.bablosoft.com/
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
- Дней с нами
- 1.436
- Розыгрыши
- 0
- Сообщения
- 489
- Репутация
+/- -
3
- Реакции
- 173
-
#1
Подскажите, пожалуйста, может кто знает как в BAS можно автоматические менять айпи и отпечаток?
- Дней с нами
- 1.470
- Розыгрыши
- 1
- Сообщения
- 144
- Репутация
+/- -
4
- Реакции
- 118
-
#2
Можно прокси приделать, будет менять автоматически.
- Дней с нами
- 873
- Розыгрыши
- 0
- Сообщения
- 140
- Репутация
+/- -
2
- Реакции
- 231
-
#3
HTTP-клиент—>HTTP-клиент-установить заголовок, СЕТЬ—>Установить заголовок,
- Дней с нами
- 699
- Розыгрыши
- 0
- Сообщения
- 41
- Репутация
+/- -
0
- Реакции
- 22
-
#4
Можно прокси приделать, будет менять автоматически.
там идет работа через браузер, а это сильно тормозит процесс! Рекомендую
парсить строку -> указываем файл из которого берем прокси, в переменную записываем PROXY,PORT
http- клиент-прокси
http-get (в гет указываем сайт по определению IP, например api[.]ipify[.]org
http-статус ответа
Далее условие
IF
[[RESPONCE]]==200
лог [[PROXY]]:[[PORT]] GOOD
elce
[[recycle index]]
писал на память на коленке, если чО шуми в лс
- Дней с нами
- 1.429
- Розыгрыши
- 0
- Сообщения
- 390
- Репутация
+/- -
1
- Реакции
- 342
-
#5
Последнее редактирование: 26 Мар 2021
- Дней с нами
- 699
- Розыгрыши
- 0
- Сообщения
- 41
- Репутация
+/- -
0
- Реакции
- 22
-
#6
Может кто подскажет.
Очень долго грузится ссылка «моих купонов» на али (нужно вытащить инфу о купоне)Поток №1 : Таймаут во время выполнения LoadPage https://coupon.aliexpress.com/buyer/coupon/listView.htm
ЧТо значит «Очень долго»? Зависит от прокси, так же зависит от обработки каким образом это устроено
- Дней с нами
- 1.429
- Розыгрыши
- 0
- Сообщения
- 390
- Репутация
+/- -
1
- Реакции
- 342
-
#7
ЧТо значит «Очень долго»? Зависит от прокси, так же зависит от обработки каким образом это устроено
Без прокси, минуту пытается, в итоге не загружает. Точнее страница уже видна, но пытается её «догрузить» что ли. В итоге скрипт сбивается
- Дней с нами
- 699
- Розыгрыши
- 0
- Сообщения
- 41
- Репутация
+/- -
0
- Реакции
- 22
-
#8
Без прокси, минуту пытается, в итоге не загружает. Точнее страница уже видна, но пытается её «догрузить» что ли. В итоге скрипт сбивается
Убери галочку «Ждать полной загрузки» затем в цикле поставь условие
if EXIS > 0
делаешь что надо, в переменную помещаешь элемент который нужен
в ином случае [[CYCLE_INDEX(номер действия к которому возвращаемся)]]
Пробуй, напишешь, можешь в личку кинуть что сделать, если будет время, сделаю за хлеб (рублей 50-100 чисто на трубку сижу без бабок или за спасибо
Похожие темы
Дата публикации:
25.02.2021 18:45
Продолжительность:
08:44
Ссылка:
https://thewikihow.com/video_86Be1srqTxI
Действия:
Источник:
Описание
BAS — Модуль Браузер — Функция ИГНОРИРОВАНИЕ ОШИБОК скрипта в BAS, как применять
Добавляйтесь в друзья:
👱 Я в Децентрализованных Blockchain сетях:
Павел Дуглас канал Бот Мейкер — Всё про создание ботов для автоматизации любых рутинных действий в бизнесе, заработке или для личных нужд. Узнайте все фишки ботоводов и ботмейкеров на этом канале. Канал ведет эксперт по заработку в интернете, онлайн бизнесу, криптовалютам и автоматизации.
#Павел_Дуглас #Browser_Automation_Studio #BAS
Возможно вы искали — визуальное программирование
примеры программ по bas
bas уроки
примеры bas
заказать скрипт бас
bablosoft
bas интересные уроки
bas новые уроки
создание на bas бота под кран
browser automation script logic
bas с разными задачами
browser automation studio tutorial
пример скрипта bas
уроки по browserautomationstudio
browserautomationstudio что это
автоматизируем процесс в bas
изучаем browserautomationstudio
бот для заработка
как заработать в интернете
заработать школьнику
боты для заработка реальных денег
зарабатываем легко
бот для заработка денег
бот для сбора биткоинов
создать бот для бизнеса
создать бота онлайн
создать бота без программирования
Новые видео на канале Automation Empire — Павел Дуглас On Bas
- Что Делать Если В Коде Много Ошибок Adrenaline
- Заказывайте Торговый Бот И Экономьте Время
- Автоматизирую Торговую Стратегию
Дайджест по теме
Подписывайтесь на наш Telegram канал!@thewikihowоткрытьМониторим видео тренды 24/7
Что еще посмотреть на канале Automation Empire — Павел Дуглас On Bas
-
Главная
-
Automation Empire — Павел Дуглас on BAS
-
BAS: Модуль Логика Скрипта — Функция ИГНОРИРОВАНИЕ ОШИБОК скрипта в BAS, как применять
Просмотров: 0
Automation Empire — Павел Дуглас on BAS
14 декабря 2020
CHITUS💙⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
1 год назад
Супер, стримы будут в ближайшее время?)
Ulugbek Botirov
2 года назад
Спасибо за видео! Тут вопросик по другой теме как пользоваться ADB в БАС? Вы не знайте? Как подключится эмулятору через бас?
Александр Мещеряков
2 года назад
Супер, стримы будут в ближайшее время?)
Сейчас смотрят
00:08:44
Automation Empire — Павел Дуглас on BAS
2 года назад
0 просмотров
BAS: Модуль Логика Скрипта — Функция ИГНОРИРОВАНИЕ ОШИБОК скрипта в BAS, как применять
00:07:06
Немецкие крыши
4 года назад
2 728 просмотров
Кровля из черепицы. Монтаж «расчески» аэроэлемента карнизного свеса
00:18:27
Данис
4 месяца назад
24 703 просмотров
Где ВЛАД А4 УМЕР ? ЕГО УВЕЗЛИ В БАГАЖНИКЕ В ЛЕС БАНДИТЫ !
00:08:21
Smart No-till
1 год назад
750 просмотров
Продажа семян льна масляничного. 21.12.2021
Смотрите далее
BAS: Модуль Логика Скрипта — Функция УСТАНОВИТЬ ПЕРЕМЕННУЮ скрипта в BAS, как создается переменная
Automation Empire — Павел Дуглас on BAS
2 года назад
Как сделать случайную задержку между запусками потоков в Browser Automation Studio | BAS
Automation Empire — Павел Дуглас on BAS
2 года назад
Как парсить каждый раз новую строку с прокси и применять ее при работе с BAS | FOREACH + Парсинг
Automation Empire — Павел Дуглас on BAS
2 года назад
Используем чат GPT без регистрации! Из любой точки мира
GetBrand Studio
2 месяца назад
Как заменить ЖДАТЬ ПОЯВЛЕНИЯ ЭЛЕМЕНТА с ошибкой на гибкий цикл While с проверкой существования элема
Automation Empire — Павел Дуглас on BAS
2 года назад
Как работать с профилями в Browser Automation Studio | Профили BAS и с чем их едят
Automation Empire — Павел Дуглас on BAS
2 года назад
BAS: Модуль Браузер — Функция Ввод текста | Как работает функция ВВОД ТЕКСТА в BAS
Automation Empire — Павел Дуглас on BAS
2 года назад
Создаём цикл FOR в B.A.S.
BlB team
2 года назад
Ответы на вопросы по Browser Automation Studio на 8 Марта
Automation Empire — Павел Дуглас on BAS
1 месяц назад
Создание логики линейной многопоточности в Browser Automation Studio | BAS многопоток
Automation Empire — Павел Дуглас on BAS
1 год назад
Использование отпечатков браузера в BAS
Automation Empire — Павел Дуглас on BAS
1 год назад
Адский парсер сайта в Browser Automation Studio. Первая половина
Байки от Игоряна
5 лет назад
Несколько потоков в BAS с разными задачами для каждого отдельного потока
Скрипты и боты для BAS
3 года назад
Популярные видео
Сравнение авто СССР: люди vs чиновники🔥 #сравнениеавто #автоссср #чиновники
12 часов назад
Вопрос Ребром — Джиган
15 часов назад
ПОТОЛСТЕЙ на 10КГ, ЧТОБЫ ПОКИНУТЬ КРАСНЫЙ КРУГ с ЕДОЙ
13 часов назад
Доллар — наше всё, а Китай не друг нам больше / Дмитрий Потапенко и Дмитрий Дёмушкин
16 часов назад
ПРИТВОРИЛСЯ ЧИТЕРОМ И ЗАТРОЛЛИЛ СТРИМЕРА СЕКРЕТНЫМ ПАТТЕРНОМ В Standoff 2
15 часов назад
От первого лица: Школа 4 🤯 ЗАТОПИЛИ КВАРТИРУ УЧИЛКЕ 😂 ЦЫГАНЕ В ШКОЛЕ 😍 ВЕЧЕРИНКА ГЛАЗАМИ ШКОЛЬНИКА
1 день назад
Что любит Сопоя больше всего 🥹
12 часов назад
ВЫБЕРИ ПРАВИЛЬНУЮ ВЕРЕВКУ ЧЕЛЛЕНДЖ !
15 часов назад
Разгоны #103 [Вова Бухаров, Кирилл Ясенок, Вера Котельникова, Лиза Аранова, Дима Коваль]
16 часов назад
Handalak — Mol bozordagi hangomalar
13 часов назад
would you eat this? #shorts
22 часа назад
Импровизаторы | Выпуск 4 | Дима Масленников
1 день назад
Каха на планете обезьян
15 часов назад
Уэнсдей Аддамс против куклы M3GAN!
17 часов назад
Даня Милохин — Как самый богатый тиктокер стал бомжом (Подкаст Джарахова №1)
1 день назад
Заброшенные оборонительные сооружения — времен ВОВ
Такой сохранившийся объект — это настоящий свидетель далеких военных событий. Сегодня можно было бы этот бункер использовать для военно-патриотичес…
Читать >>>
2021-04-14 18:25:24
149
15
Что было в руке у древней статуи астронавта и куда оно делось?
Астронавт, который много веков назад был изображен на Соборе Саламанки Держал «что то» в руке, но… Читать >>>
2019-05-20 17:41:35
266
24
Граната, снаряды и гильзы найденные около заброшенного бункера
Лесные находки копателей зачастую однотипны и по набору «ништяков» вполне могут быть… Читать >>>
2019-01-27 23:40:53
148
35
Секретные нациские туннели и бункеры. Какими они были. Фото.
Секретные нациские туннели и бункеры. Какими они были. Фото. За стальной дверью находится подземный… Читать >>>
2019-12-17 21:53:29
256
18
-
Главная
-
Automation Empire — Павел Дуглас on BAS
-
BAS: Модуль Логика Скрипта — Функция ИГНОРИРОВАНИЕ ОШИБОК скрипта в BAS, как применять
Просмотров: 0
Если вам понравилось бесплатно смотреть видео bas: модуль логика скрипта — функция игнорирование ошибок скрипта в bas, как применять онлайн которое загрузил Automation Empire — Павел Дуглас on BAS 14 декабря 2020 длительностью 00 ч 08 мин 44 сек в хорошем качестве, то расскажите об этом видео своим друзьям, ведь его посмотрели 0 раз.
CHITUS💙⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻
1 год назад
Супер, стримы будут в ближайшее время?)
Ulugbek Botirov
2 года назад
Спасибо за видео! Тут вопросик по другой теме как пользоваться ADB в БАС? Вы не знайте? Как подключится эмулятору через бас?
Александр Мещеряков
2 года назад
Супер, стримы будут в ближайшее время?)
Введение
СКАЧИВАЙТЕ И ИСПОЛЬЗУЙТЕ
BROWSER AUTOMATION STUDIO
Этот гайд был разработан с целью помочь новичкам более быстро и эффективно освоить BAS. Все модули, экшн-блоки, функции и сценарии используются внутри конструктора.
Устанавливайте и начинайте творить!
Об авторе
Меня зовут Павел Дуглас и я профессиональный RPA-Developer и успешный digitаl-предприниматель. Одним из инструментов автоматизации для меня является BAS.
С помощью BAS за 3.5 года я:
• разработал 888+ ботов разных задач
• заработал 4 867 198+ руб. чистой прибыли
• автоматизировал все бизнес процессы
• вышел на постоянный пассивный доход
Кроме этого я основал свою онлайн-школу по BAS, маркетплейс авто-ботов DefiNova, являюсь автором многих онлайн-проектов в интернете, имею сотни кейсов в сфере автоматизации.
Я помог сотням разных клиентов внедрить автоматизацию в их бизнес и онлайн-заработок.
Хочу выразить огромную благодарность разработчикам BAS и его команде за то, что сделали такой колоссальный вклад и разработали действительно лучший инструмент автоматизации на рынке.
Это пособие для тех, кто хочет освоить новую IТ-профессию и стать ВАS-разработчиком в кратчайшие сроки.
А теперь не буду вас задерживать, погружайтесь и жадно изучайте BAS, ведь это действительно наше будущее!
Как использовать гайд? ГЛАВНАЯ ЦЕЛЬ ГАЙДА: «БЕРИ И АВТОМАТИЗИРУЙ»
Многие новички в Browser Automation Studio задают множество вопросов по модулям, действиям, даже элементарно не могут найти нужный блок для своих скриптов. Также главной проблемой является то, что многие не понимают как применить автоматизацию в повседневных рутинных операциях.
В главе №1 вы познакомитесь с модулями BAS и поймете как они устроены.
В главе №2 вы узнаете об экшн-блоках и их применении.
В главе №З вы узнаете о функциях, куда помещаются экшн-блоки.
И наконец в главе №4 вы узнаете об основных вариантах применения автоматизации в интернет-деятельности.
КАЖДАЯ ИЗ ГЛАВ НЕСЁТ ПРАКТИЧЕСКУЮ ИНФОРМАЦИЮ
Эта книга не расскажет «Как» создавать сценарии автоматизации на Browser Automation Studio, но она покажет правильный путь освоения конструктора. Самое важное на первом этапе – это изучить основные компоненты и модули BAS прежде чем начать творить.
На втором этапе – это понять на конкретных примерах где можно применить автоматизацию.
И на третьем этапе – автоматизировать все рутинные процессы для своих, а после и пользовательских нужд.
Пройдите все этапы и изучите BAS.
ВСЕГДА ДЕРЖИТЕ ГАЙД ПОД РУКОЙ И ПОЛЬЗУЙТЕСЬ ВО ВРЕМЯ ПОЛЬЗОВАНИЯ КОНСТРУКТОРОМ.
Представьте, что весь сценарий автоматизации строится на кубиках «LEGO». Вы наверняка в детстве любили это занятие и вот сейчас настало время вспомнить и уподобиться фантазии ребёнка.
Я собираюсь поведать вам о нескольких видах автоматических сценариев, которые применяю сам каждый день. Но это лишь малая часть из того, что можно вообще представить…
С помощью BAS вы можете даже зажечь лампочку вашего холодильника если захотите, ваша фантазия не должна ограничиваться лишь моими примерами.
Но примеры авто-сценариев вам помогут быстрее и проще начать осваивать Browser Automation Studio.
Модули·-> Экшн-блоки·-> Функции -> Авто-Сценарии BAS WORKLAB СТРУКТУРА BAS
Модули
Экшн-блоки
Функции
Авто-сценарии
Типы взаимодействия в BAS
BAS внутри имеет 2 разных типа взаимодействия с сайтами:
1. Открытие URL страниц в браузере (обычная загрузка страниц как в вашем обычном браузере на ПК)
2. Посыл запросов к серверу веб-страниц напрямую без открытия страниц в браузере и отрисовки визуальной составляющей.
Когда какой тип взаимодействия использовать?
Следует понимать, что загрузка страницы в браузере нагружает ресурсы компьютера, следовательно, больше 100-200 потоков работать не получится.
Если же вам необходима работа в 1 000 потоков и более, то следует использовать НТТР-клиент, который оптимизирован под такие нагрузки и работает полностью без браузера.
Параметры максимального быстродействия мыши
Глава 1. Модули BAS
«Системы состоят из подсистем, подсистемы – из под подсистем и так до бесконечности – именно поэтому мы проектируем снизу вврх.»
Алан Перлис
Представьте, что вы идете в магазин и берете с собой корзину для продуктов. В лего магазине в красивой коробке и вы его положили в корзину. Но коробка то не пустая, а состоит из маленьких деталей LEGO.
Корзина это и есть модуль в BAS, в которую вы кладете наборы с лего (функции). И каждый по себе отдельный набор вмещает маленькие части конструктора LEGO (действия экшн-блоки).
Каждый модуль уникален и содержит в себе необходимые компоненты (экшн-блоки), которые вы будете использовать при создании функций и автоматических сценариев.
Основные модули Концепция модульной структуры
НАБОР ДЕЙСТВИЙ
Разработчик использует набор действий для решения какой-либо задачи
ФУНКЦИЯ
Действия помещаются е специальные контейнеры для многократных вызовов с параметрами
МОДУЛЬ
Из функций создаются специальные блоки именуемые модулями для подключения к проектам
Модули в BAS делятся на 2 основных вида:
• Основные
• Дополнительные
Основные модули — это набор экшн-блоков, которые вы будете использовать в автоматизации чаще всего.
К основным модулям относятся: браузер, логика скрипта, инструменты, сеть, ожидание, HTTP-клиент, дата и время, файловая система, смена отпечатков браузера, список, путь, работа с профилями, ресурсы, строка, XPATH, JSON, статистика скрипта, регулярные выражения.
Каждый из этих модулей помогает решить конкретную задачу. Например, модуль браузер позволяет вызывать действие «Загрузить», которое загружает указанный вами сайт по URL.
Все из этих модулей мы разберем по отдельности и посмотрим для каких еще функций они предназначены.
Дополнительные модули – это набор экшн-блоков, которые вы будете использовать по мере необходимости и без них вполне можно обойтись если перед вами не стоит конкретной задачи по их использованию.
К ним относятся: открыть/закрыть браузер, буфер обмена, эмуляция бездействия, асинхронный вызов функций, обработка изображений, почта, подтверждение телефона, управление процессами, отправить письмо, Telegram, часовой пояс, взаимодействие с пользователем, встроенные языки, Excel, База данных, URL, контрольная сумма, архивация, FTP, SQL.
Например, модуль обработка изображений помогает редактировать загруженные фотографии и накладывать на них любой текст. Модуль Telegram служит для отправки уведомлений в удобный мессенджер.
Модуль BROWSER AUTOMATION STUDIO
Модуль «Браузер» служит для работы с действиями (экшн-блоками), которые не требуют конкретного элемента для применения в браузере.
К модулю «Браузер» относятся следующие действия: загрузить, текущий URL, предыдущая страница, код страницы, ввод текста, разрешение, получить разрешение и положение курсора, прокси, яваскрипт, выполнять при каждой загрузке страницы, сброс, диалог открыть файл, начать перетягивать файл, окно prompt, http аутентификация, прокрутка, скриншот, решить капчу, recaptcha v3, решить капчу кликами, решено неверно, таймаут, настройки браузера, нажать кнопку расширения, режим сенсорного экрана, настройки мыши, уведомления.
В будущем этот список будет дополнятся, поскольку могут появится новые функции и действия.
В модуле «Браузер» предостаточно действий чтобы уже создать простейшего бота.
Однако каждое из действий необходимо комбинировать между собой, чтобы получился полноценный сценарий автоматизации.
Модуль логика скрипта
Модуль «Логика Скрипта» служит для выполнения условий, циклов, установки локальных и глобальных переменных, их суммирования, вызова функций в 1 и более потоков, завершения работы потоков в успешном и неудачном видах, а также для прерывания скрипта.
К модулю «Логика Скрипта» относятся следующие действия: IF, WHILE, FOR, FOREACH, Break, Continue, Success, Fail, Прервать Скрипт, Установить Метку, Перейти к Метке, Игнорировать Ошибки, Установить Переменную, Увеличить Переменную, Установить Глобальную Переменную, Увеличить Глобал. Переменную,
Вызов Функции, Получить Параметр Функции, Return, Вызов Функции в Несколько Потоков.
Этот модуль вы будете очень часто использовать в своей работе автоматизатора, поскольку вам предстоит работа с циклами, переменными и условиями, а еще с вызовами функций.
Но не волнуйтесь, дальше я расскажу подробнее о каждом действии, чтобы вам было понятно для чего они используются и как их применять.
Модуль инструменты
Модуль «Инструменты» служит для отображения полезной информации в лог, вывода результатов работы скрипта, выполнения кода Javascript внутри сценария, парсинга строки, и генерации случайных чисел.
В состав модуля входят следующие действия: лог, очистить лог, результат, выполнить код, парсить строку, случайное число.
Модуль сеть
Модуль «Сеть» служит для работы с сетевыми параметрами браузера такими как: кэш и его элементы, cookies, заголовки браузера, маски и статусы запросов, запреты и разрешения загрузок файлов и всплывающих окон.
В состав модуля входят: установить заголовок, сохранить и загрузить cookies, загрузить cookies из http клиента, разрешить кэш, запретить кэш, разрешать запрос, запретить запрос, очистить кэш. данные, очистить маски, получить статус запроса, был ли запрос, получить последний элемент кэша, получить все элементы кэша, запретить и разрешить всплывающие окна и загрузку файлов.
Модуль ожидание
Модуль «Ожидание» служит для вызова пауз между действиями ваших автоматических сценариев, для ожидания селекторов, текстов, загрузки файлов, адреса браузера, загрузки определенного URL сайта, а также для полной загрузки страницы.
Модуль сравнительно небольшой и содержит: ждать полной загрузки, ждать загрузки URL, ждать адреса браузера, ждать текст, ждать CSS, ждать загрузки файла, сон.
Модуль http-клиент
Модуль «Http-Клиент» служит для работы с запросами к веб-серверу и сайту, минуя его визуальную составляющую. То есть работа ведется целиком без браузера.
Модуль пользуется популярностью у профессиональных разработчиков, кто хорошо понимает серверную часть сайтов и умеет с ней взаимодействовать.
В модуле присутствуют следующие действия: HTTP-клиент прокси, клиент-сброс, Get-запрос, Post-запрос, Скачать, Текущий URL, содержание ответа, статус ответа, получить заголовок, установить заголовок, очистить заголовки, сохранить и загрузить cookies, загрузить cookies из браузера, завершить работу после ошибки, была ли ошибка, получить текст ошибки, Xpath получить XML, каждый XML, получить текст, получить каждый текст, получить кол-во элементов, проверить существование.
HTTP-запросы на начальном этапе вам не потребуются, поскольку практически все задачи выполняются через браузер, но это займет немного больше времени.
Модуль дата и время
Модуль «Дата и Время» позволяет гибко работать с датами и временем.
BAS использует своё собственное представление даты и времени.
Количество миллисекунд при преобразовании отсчитывается с 1 января 1970 года, 00:00:00 UTC.
Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента называют «эрой UNIX» (англ. Unix Epoch).
UNIX-время – способ кодирования времени, принятый в операционных системах.
Время UNIX согласуется с UTC.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобно-читаемый формат.
Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. В большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.
Модуль «Дата и Время» богат своими действиям: строку в дату и обратно, миллисекунды в дату и обратно, создать дату, изменить дату, добавить секунды к дате, разница между датами, дата сейчас, изменить и получить часовой пояс, день месяца, недели, года, получить год, месяц, часы, минуты, секунды и миллисекунды из даты.
Если вы планируете вызывать скрипт по определенному времени, то этот модуль вам идеально подойдет. Либо вы можете воспользоваться встроенным планировщиком задач.
Модуль файловая система
Модуль создан для упрощения работы с файлами на вашем компьютере.
Сюда включены важные действия такие как: читать файл, запись в файл, информация о файле/папке, создать и удалить папку, переместить, копировать файл/папку, поиск файлов, читать или записывать файл в список.
Если ваша задача работать с текстовыми видами файлов или картинками или папка, то вы часто будете использовать данный модуль.
Модуль смена отпечатка браузера
Модуль создан для подмены параметров и свойств браузера, в котором вы производите автоматические операции.
Отпечаток браузера – это набор свойств и характеристик вашего компьютера или ноутбука, которые определяются посещаемым вами сайтом (это видеокарта, разрешение экрана, шрифты, расширения в браузере, батарея ноутбука и тд. тп)
Подменять устройство или отпечаток браузера необходимо всегда, когда вы работаете с любыми сайтами, поскольку они анализируют и выявляют одинаковые устройства.
Подмена устройства необязательна если вы работаете в 1 поток.
Но если вы не будете подменять устройство при многопоточной работе, то сайт вас вычислит и наложит какие-либо ограничения.
Отпечатки браузера по-умолчанию бесплатные для подмены устройств Chrome.
Если вам понадобятся расширенные настройка и другие устройства такие как Iphone, Android, Firefox, то необходимо оплатить подписку к базе отпечатков на 1 или 3 месяца. Это недорого!
Модуль список
Модуль «Список» используется для работы с массивами (списками).
Список или массив – это упорядоченный конечный набор элементов. Например, список задач, имён, фамилий, емейлов, аккаунтов, телефонов.
Часто вам придется работать с большим количеством аккаунтов для какого-либо сайта и тут как раз пригодятся списки.
Например, вам необходимо из списка использовать только 1 конкретный аккаунт, а не все.
Модуль путь
Выбирай верный путь, а не легкий
Данный модуль позволяет работать с динамическими путями и получать информацию из них.
Динамический путь – это путь к файлу или папке, которыи изменяется в зависимости от его местоположения.
Например, вы работаете с профилями и вам необходимо помещать их в корневую папку со скриптом в процессе его работы. Или, например, вам необходимо из полученного пути определить расширение файла.
Модуль работа с профилями
Модуль предназначен для создания и переключения между профилями браузера.
По-умолчанию, BAS использует движок браузера Chromium и такие же профили как в обычном браузере Chrome.
Профили – это папки, в которых хранится ваша информация о посещенных сайтах, расширениях, cookies, сохраненный кэш со страниц сайтов и другая важная информация.
Профили помогают сохранить авторизацию на сайтах и повторно на них не авторизовываться.
Модуль ресурсы
Модуль «Ресурсы» позволяет осуществлять работу с ресурсами скриптов в BAS.
Ресурсы – это входные глобальные параметры скрипта, которые могут динамически меняться при работе.
Ресурсы используется как настройки при старте сценария автоматизации.
Например, это может быть кол-во потоков, txt файл с аккаунтами, почтами, случайно сгенерированные данные и тд тп.
Модуль строка
Один из самых больших модулей в линейке. Позволяет производить любые операции со строками, в том числе подравнивать и очищать лишние символы и даже извлекать почты, телефоны и ссылки из них.
Чаще всего в модуле вы будете использовать «Случайная строка», «Шаблон», «Получить длину», «Заменить строку» и «Парсить CSV строку».
Например с помощью «Случайная строка» можно сгенерировать случайный пароль для регистрации нового аккаунта.
Модуль XPATH
Модуль позволяет работать с ХРАТН.
ХРАТН – язык запросов к HTML/XML страницам.
Один из часто используемых модулей в BAS, с помощью которого можно очень быстро извлекать элементы и тексты со страниц.
Например, вы делаете парсер Avito с использованием браузера и вам необходимо с карточки товара получить хар-ки, описание и фото.
В этом вам поможет ХРАТН.
Модуль JSON
Модуль служит для работы с общепринятым форматом данных JavaScript Object Notation (JSON).
JSON – это текстовый формат обмена данными, основанный на Javascript и представляющий из себя некий вид типа: {«ключ»:»значение»}.
Это набор пар: ключ и значение (в котором любое из значений представлено внутри двойных кавычек, кроме числовых значений). Весь объект JSON находится в фигурных кавычках. Также в ключе может быть записан вложенный объект в фигурных кавычках, также третья вложенность и так далее.
Модуль «JSON» полезно использовать, когда вам необходимо собрать информацию с какого-либо сайта (например, контакты) и вы отсылаете запрос на ее получение через модуль «НТТР-Клиент».
Тогда в ответе чаще всего вы получите строку в формате JSON.
Как раз тут и понадобится набор действий, чтобы извлечь оттуда все данные.
Например, если вы собирает информацию об организации, то это может быть имя, телефон, емейл и другая полезная для вас информация.
Модуль статистика скрипта
Данный модуль используется для получения статистических показателей работы ваших скриптов.
Например, это может быть номер потока, кол-во успешных выполнений и кол-во неудачных выполнений.
Полезный модуль, когда вам необходимо вызывать сценарий в определенных потоках, например, только во 2 и 4.
Тогда вы можете использовать конструкцию IF и проверять номер потока в авто-сценарии.
Модуль регулярные выражения
Модуль предназначен для замены и поиска строк в файлах или нескольких файлах,
Это и есть регулярные выражения.
Лучше простого поиска тем, что позволяет создать шаблон условий, по которым следует найти подстроку и проделать с ней какие-либо манипуляции,
BAS легко и просто работает с регулярными выражениями и может извлекать данные из строк, заменять их или группировать.
Дополнительные модули Модуль открыть/закрыть браузер
Данный модуль содержит всего 2 действия: закрытие и открытие браузера.
Используется когда вам необходимо более гибко управлять состояниями вашего браузера или браузеров в потоках.
По умолчанию браузер закрыт. При использовании действия «Открыть Браузер», он открывается в автоматическом режиме.
Но если закрыть браузер вручную, то автоматически он уже не откроется.
Тут как раз и пригодятся действия модуля.
Модуль буфер обмена
Данный модуль служит для работы с буфером обмена на вашем компьютере.
Буфер обмена – это временное хранилище информации, которую вы недавно скопировали.
В модуле доступно 2 действия: читать буфер обмена и записывать в буфер обмена.
Модуль эмуляция бездействия
Данный модуль исходя из названия служит для обеспечения случайных действий в браузере вместо обычного сна.
Эмуляция бездействия проявляет себя в виде скроллинга страницы сайта с помощью колеса мышки, перемещения мышки по экрану и сна.
Модуль содержит только 1 действие: эмуляция бездействия.
Используется как альтернатива обычному сну для того, чтобы вебвизор Яндекс Метрики или любые другие системы отслеживания видели, что вы обычный человек на их сайте.
Модуль асинхронный вызов функции
Модуль служит для работы с асинхронными функциями.
Асинхронные функции – это особые функциидействия, выполняющиеся независимо от основной работы вашего скрипта, параллельно с ним и которые можно приостановить на полпути выполнения.
Вызов обычных функций сопровождается строгим выполнением всей цепочки действий и возвращением результата.
В случае асинхронной функции вы можете ее запускать параллельно, не мешая работе основной функции и получать результаты выполнения в процессе прохождения сценария автоматизации.
Например, если вам необходимо работать с двумя сайтами одновременно: первый сайт мониторит приход кода из письма по email или собирает какую-либо информацию, необходимую для другого сайта, а второй сайт ждёт получение этого письма или ожидает пока в переменную будет записана нужная информация.
Модуль обработка изображений
Модуль служит для редактирования и обработки изображений, которые вы будете загружать в каких-либо своих задачах.
Например, вы делаете скрипт для автоматического постинга в Telegram и вам необходимо на картинку накладывать какой-либо водяной знак, текст или описание.
В этом поможет данный модуль.
Также очень часто требуется решать капчи и сравнение одного изображения с другим будет очень полезным.
Модуль почта
Модуль служит для приёма и обработки содержимого писем в почтовых сервисах.
Например, если вы регистрируете аккаунты на каких-либо сайтах, где приходят письма подтверждения регистрации или специальный код подтверждения.
Данный модуль снабжен всем необходимым функционалом для такого рода задач, является полностью бесплатным и поставляется в официальной сборке BAS.
Модуль подтверждение телефона
Модуль позволяет работать с SМS-сервисами приёма кодов активации, звонков-сбросов и дальнейшим их использованием в ваших скриптах.
SМS-сервисы – это специализированные сайты, которые предоставляют услуги по аренде номеров для приема кодов активации с различных сайтов.
Большинство сервисов уже встроено в данный модуль (например, sms-act]vate.ru), но вы также можете написать собственный модуль для сервисов, которые отсутствуют по-умолчанию.
Модуль управление процессами
Данный модуль предназначен для вызова различных .ехе файлов на вашем компьютере параллельно с работой авто-сценария, а также для вызова Batch/Bat скриптов.
ВАТ скрипты – это последовательно команд, вызываемых из командной строки CMD.
Например, вам необходимо показать диалоговое окно или проиграть какой-либо звук системы Windows или получить список запущенных процессов при помощи WMIC.
WMIC – это служебная программа для управления Windows процессами.
Модуль отправить письмо
Модуль служит для отправки писем через протокол SMTP.
SMTP – это сетевой протокол для передачи электронной почты в интернете.
У каждого Email сервиса имеется свой SMTP сервер, через который вы можете рассылать письма.
Но из-за разного рода спама, многие Еmаilсервисы ограничивают скорость рассылки и кол-во через SMTP, а также вводят доп. пароли приложений.
Модуль Telegram
Модуль позволяет работать с отправкой сообщений в Telegram.
Стандартный модуль работает только с отправкой, но также есть расширенный, который позволяет отправлять файлы, документы, скриншоты и текст с кнопками.
Полезно использовать если вы ведет канал в Telegram и нуждаетесь в новом контенте или просто хотите получать уведомления об успешной работе бота.
Также через Telegram можно управлять BAS скриптами.
Модуль часовой пояс
Модуль предназначен для подстройки местоположения под iр-адрес, координаты, часовой пояс и другие свойства.
Обычно не применяется на практике, так как его заменяет экшн-блок под названием «Прокси».
Полезно и практично подстраивать параметры под iр-адрес, поскольку при малейших расхождениях между вашим IP прокси и тем, который видит сайт, у вас возникнут проблемы с анонимностью.
Модуль взаимодействие с пользователем
Модуль позволяет передавать ручной управление пользователю в процессе выполнения авто-сценария, выполнять звуковые оповещения, запрашивать ввод пользователей, а также выполнять Javascript внутри вебинтерфейсов.
Например вы сделали своего первого бота и на какой-то стадии вылазит капча, которую вы не хотите решать автоматически через сервис. Вы конечно же прибегаете к действию «Передать ручное управление», тогда в процессе сможете вмешаться в выполнение, решить капчу и передать управление обратно.
Модуль встроенные языки
Модуль «Встроенные языки» используется для вызова участков кода при помощи NodeJS и его модулей NPM.
Если вы продвинутый пользователь и вам необходимо выполнять нетривиальные задачи, то этот модуль вам идеально подойдет для реализации. Также модуль полезен, если вы имеете уже написанный готовый код и хотите его использовать на каком-то этапе вашего сценария автоматизации.
Модуль содержит 1 действие: Node.js
Модуль Excel
BAS также имеет по-умолчанию встроенный и мощный модуль для работы с Excel таблицами.
В модуле вы найдете все необходимые экшнблоки для построения автоматизации, связанной с Excel таблицами.
Тут содержатся: создание файл, чтение, запись, удаление, вставка и количество строк и ячеек, чтение и запись листов, областей ячеек, импорт, экспорт файлов в ресурсы и обратно, получение списка листов, добавление, перемещение, переименование, удаление, очищение листов, ячеек и областей ячеек, преобразование в JSON и обратно, найти одну или несколько ячеек по содержанию, получение и установка формулы в ячейки, стилей, получение и установка ширины столбцов, высоты строки, закрыть файл.
Модуль позволяет полностью автоматизировать работу с Excel, не прибегая к стороннему программному обеспечению и написанию кода.
Модуль база данных
Данный модуль служит для работы со встроенной базой данных MongoDB от BAS.
Модуль предназначен для работы с локальной базой данных.
Используется как альтернатива Excel, текстовым файлам, только с более структурированными и большими данными.
Выпущена версия 22.0.0
Она содержит множество улучшений для веб интерфейса, а также обновление интерфейса редактора скрипта.
Функции теперь имеют параметры и возвращаемое значение.
Добавлены действия «Получить Параметр Функции» и «Return«.
Задать список параметров и их описание можно в менеджере функций
Теперь одну и ту же функцию можно вызывать с разными параметрами, что упростит повторное использование кода.
Новые действия содержат интерактивную документацию, подробности можно узнать там.
Менеджер функций.
Работать с функциями теперь можно в отдельном окне, которое называется менеджером функций.
Все элементы управления, а именно: создание, редактирование, удаление функций, были перенесены туда.
Добавлена возможность поиска функций и задание параметров.
Основное окно:
Редактирование функции:
Действия «Получить Параметр Функции» и «Return» добавляются в редактор скрипта автоматически.
Расширение API для веб интерфейса.
Добавлено множество методов, которые можно вызывать из веб интерфейса.
Методы для взаимодействия с системным окном:
- MoveWindow — смена положения окна.
- ResizeWindow — изменение размеров окна.
- Api.OpenFileDialog, Api.SaveFileDialog — вызов системного диалога выбора файла.
- ShowNotification — показ системных уведомлений в трее.
- OpenUrl — посещение заданного url, открытие файла или программы.
Больше подробностей можно узнать здесь:
BAS custom interface
Все генерируемые диалоги для выбора файла были заменены на нативные.
Добавлено синхронное API для работы с файловой системой. Сюда входит: чтение/запись файлов, работа с папками.
Больше подробностей можно узнать здесь:
BAS custom interface
Начальные размеры окна можно задать прямо в его настройках:
Создавать интерфейс теперь можно с нуля.
Это можно было делать и раньше, но сейчас для этого появились дополнительные возможности.
При создании и генериции интерфейса можно выбрать его тип:
Появилась возможность сохранять изменения прямо из редактора кода и вообще не заходить в визуальный редактор интерфейса.
Новый тип интерфейса заставляет BAS работать принципиально новым способом, вместо того, чтобы запускать один скрипт сразу, как это было раньше, теперь можно реагировать на события на странице(например, нажатия кнопок) вызывая BAS функции, а параметры для этих функций можно брать прямо из веб интерфейса.
Вызов функций BAS и создание потоков из веб интерфейса.
Теперь неограниченное число потоков можно создавать прямо из веб интерфейса, а также вызывать в них функции с заданными параметрами.
Для получения результатов можно использовать объект Promise или ключевое слово await.
Код:
//Создаем поток
var Thread = new BASThread()
//Устанавливаем прокси
await Thread.RunFunction("SetProxy", {"ProxyLine": "socks5://127.0.0.1:11185"})
//Вызываем функцию для парсинга
var LinksList = await Thread.RunFunction("MakeGoogleQuery", {"Query": "cats"})
//Останавливаем поток
Thread.StopThread()
Данное API умеет обрабатывать ошибки и имеет специальное расширение к объекту Promise, которое останавливает поток.
Более подробно здесь:
BAS custom interface
Существует возможность отлаживать выполнение функций прямо в BAS:
Приложение ParseGoogle. Демонстрация функционала.
Было создано новое приложение ParseGoogle. Оно парсит выдачу по заданному запросу.
Приложение довольно примитивно с точки зрения функционала, зато имеет приятный интерфейс и хорошо демонстрирует новые возможности.
Конечно же, все это сделано на BAS.
Скомпилированное приложение
https://bablosoft.com/distr/ParseGoogleDistr/ParseGoogle.zip
Проект BAS
https://bablosoft.com/distr/ParseGoogleDistr/ParseGoogle.xml
Веб интерфейс
https://bablosoft.com/distr/ParseGoogleDistr/ParseGoogle.main.interface.txt
Данное видео демонстрирует процесс создания
Вызов функций BAS и создание потоков из node.js.
Функции BAS теперь можно вызывать и из node.js.
Так же, как и для веб интерфейса есть возможность ожидать результатов и обрабатывать ошибки.
Код:
var Result = await BAS_FUNCTION(
"FunctionName",
{ParamName1: "ParamValue1", ParamName2: "ParamValue2"}
)
Подробней здесь:
node.js [Bablosoft Wiki]
Этот метод значительно упрощает взаимодействие с браузером и с BAS из node.js
Улучшения интерфейса
Внешний вид редактора скриптов был переработан.
Добавлена визуализация меток, метки можно создавать перетаскиванием специального элемента управления:
Добавлена справка по основным возможностям BAS:
В нее можно попасть нажав на кнопку по центру, справа в редакторе скрипта.
Справка содержит описание для каждой группы(циклов, условий, парсинга и т .д.), с основными принципами работы.
Там также находятся основные действия и примеры использования.
Был обновлен инспектор переменных — теперь он показывает состояние ресурсов, его размер может быть изменен.
Переход к функции может быть осуществлен по клику на названии функции в действии «Вызов функции».
Место для активной вставки действия не изменяется при редактировании скрипта.
Описание действия сохраняется вместе с сохранением данных.
Верхняя панель в редакторе скрипта была заменена на меню.
Вместо задания количества успешных и неудачных выполнений теперь можно выбрать «Повторять»
Обзор нового интерфейса можно найти в этом видео:
Исправление ошибок
Планировщик не перестает работать при питании от аккумулятора.
Исправлено решение рекапчи если функция ответа является строкой.
Исправлено падение при сворачивании веб интерфейса в трей на Windows 10.
При отсутствии информации о кодировке почтового сообщения, BAS не подразумевает что письмо закодировано в quoted printable.
Исправлено падение при установке скорости мыши из строки.
Исправлено смешивание ресурсов если планировщик запускает одинаковые проекты одновременно.