Bas ручное управление браузером
Мы рады представить эксклюзивную акцию для обладателей Премиум версии:
теперь вы можете получить персональную скидку на XRumer Стандарт + XEvil в размере -$150 .
Как многие уже знают, программа XEvil существенно дополняет возможности BrowserAutomationStudio:
программа способна распознавать свыше 8400 различных типов капчи, включая такие популярные,
как РеКапча-1, Яндекс-капча, VK-капча, Google-капча, BING (Hotmail) капча, и тысячи других.
Также открыт предзаказ на модуль распознавания РеКапчи-2, разработка близится к завершению.
Для получения скидки $150 (экономия почти 50% стоимости!) скопируйте специальный скидочный купон
из персонального кабинета, и сообщите его при покупке XRumer + XEvil.
Спасибо сказали:
Добавлена поддержка node.js и npm модулей.
Теперь вы можете писать скрипт полностью на node.js, либо решать с помощью ноды только отдельные задачи.
Вот как это выглядит:
- Вызов БАС апи из node.js(включая управление браузером).
- Использование переменных BAS в контексте node.js.
- Многопоточность.
- Разделение кода на файлы и повторное использование.
- Интеграция с console.log и с механизмом исключений в node.js.
- Таймауты.
- Работа в скомпилированном скрипте.
05:33 - Криптография, вычисление хешей.
11:06 - Загрузка данных из таблицы excel.
21:33 - Работа с mysql.
35:52 - Постинг на facebook через апи.
38:34 - Работа с фтп.
44:28 - Скачивание видео с ютуб.
47:55 - Работа с браузером через node.js.
51:02 - Менеджер проекта.
Со времени последнего поста было несколько апдейтов.
Вот неполный список:
Обновление сетевого стека.
Все сетевые запросы раньше работали через curl, и с этим решением были некоторые проблемы.
Сейчас используется проксификация, принцип работы тот же, что и в proxifier - абсолютно все запросы процесса отравляются через прокси.
Доработан хттп клиент.
Плавный запуск
Новый функционал "плавный запуск" ограничивает нагрузку на систему в многопоточном режиме.
Эта опция настраиваемая - можно изменять как количество одновременно запускаемых браузеров,
так и количество памяти и максимальную нагрузку на процессор.
Работает только для самой ресурсоемкой задачи - запуска браузера.
Обновление функциональности софта.
Новый модуль для работы с датой с умным определением формата.
Модуль для работы с буфером обмена.
Обновление для регулярок: появилась поддержка negative lookahead, групп, совместимость с другим софтом.
Удаление писем, поиск по полю получателя письма.
Лог стал более информативным.
Скажите, а может скомпилированый проект работать без доступа к интернету? И как это можно реализовать?
В настоящий момент скомпилированная часть пытается скачать файл из интернета, можно этого как то избежать, например разместив этот файл сразу где то на компьютере?
akron, Да, можно, если передавать софт после первого запуска.
Вышла версия 20.8.5.
Основное изменение в новой версии - это возможность запускать скрипты БАС через менеджер браузерных профайлов Multilogin.
Было анонсировано еще две фичи. Интерактивная документация и конструктор интерфейса. Первое завершено частично, а второе, к сожалению, не войдет в данный релиз.
Описание
Multilogin - это софт для реалистичной эмуляции отпечатка браузера. В отличии от других решений, смена отпечатка происходит не с помощью внедрения скриптов на страницу, а через изменение кода браузера. Легких способов обнаружения такой замены со стороны сайта не существует. Поэтому при грамотном использовании Multilogin увеличит время жизни ваших ботов и эффективность скриптов.
- Клики мышью, ввод текста.
- Человекоподобные движения мыши.
- Все действия над элементами: получение координат, скриншоты, получение стилей, итд.
- Селекторы БАС.
- Работа с фреймами.
- Решение обычной капчи и рекапчи всеми возможными способами.
- Получение результатов запросов(кэш), запрет запросов, изменения заголовков.
- Получение и изменение куков.
- Перетягивание, клики по координатам.
- Ожидание полной загрузки.
- Внедрение скриптов на страницу.
Отдельно хочется отметить новый модуль для работы с профилями. Ранее в Multilogin все профили хранилсь исключительно в облаке. Однако, специально для пользователей BAS была проведена отвязка профилей от облака. Теперь BAS может хранить профили из Multilogin локально. Если использовать его вместе с подпиской Multilogin, которая включает синхронизируемые профили, то можно легко конвертировать оффлайн профиль BAS в онлайн профиль Multilogin. После этого такой профиль можно легко передать на другой компьютер или поделиться внутри Multilogin с другим аккаунтом.
Тестирование
Поскольку объем нововведений очень большой и на тесты было относительно мало времени, при автоматизации браузера все еще могут возникать баги. Несколько функций по различным причинам пришлось перенести в следующий блок работ. Просим отнестись к данному факту с пониманием и присоединиться к тестированию новой версии. На время тестирования вы получаете бесплатную подписку, в которой установлены достаточные для тестирования лимиты.
Также хотим отметить, что баги могут содержаться и в механизме передачи и инжекта браузерного финегпринта. По этой причине в ходе теста мы просим не использовать представляющие для вас высокую ценность аккаунты. Если в ходе тестирования будут обнаружены какие-либо проблемы по этой части или по функционалу, обещаем их оперативно устранять.
- Нажать на модуль Multilogin.
- Выбрать действие "Использовать Multilogin".
- Нажать Ok.
Вы также можете поместить действие "Использовать Multilogin" в "If", а условие привязать к ресурсу, так пользователь скрипта сам сможет выбрать движок браузера при старте приложения.
Мы сделали процесс перехода максимально простым и удобным, но в тоже время и максимально настраиваемым.
Настройки браузера по умолчанию будут давать хорошие результаты: webrtc будет имитировать внешний ип прокси, шум канвас включен по умолчанию, значения user-agent
и свойства navigator будут генерироваться как у реального браузера. При желании все эти настройки можно регулировать вручную если зайти в "Продвинутые настройки".
По умолчанию профиль создается во временной папке. Он хранит в себе отпечаток браузера, cookie, localstorage итд.
Профили во временной папке периодически удаляются, но могут быть перенесены в другую папку, что позволит сохранить все данные и загрузить их потом с диска.
Вот стандартный пример использования:
Это позволит потом перебрать все профили в другом скрипте и не производить повторный вход в аккаунт.
Также доступны онлайн профили, и вы можете переключиться на них с помощью действия "Переключиться на онлайн профиль". Вот еще один пример использования:
После завершения потока данные профиля автоматически сохраняются на сервер.
Если не использовать никакие действия по работе с профилем, то БАС работает с браузером Multilogin точно так же, как и без него.
Браузер Multilogin будет работать только в режиме запуска в режиме записи по прежнему работает браузер БАС. Поскольку все действия, формат селекторов и прочее портированы абсолютно идентично, проблем быть не должно. Скрипт дает точно такие же результаты и в режиме записи и запуска.
Цена
Поскольку не ясна нагрузка, которую создадут пользователи BAS, прайс на пакеты типа "Автоматизация" в Multilogin пока не выработан. Есть временный черновик прайса, который вы можете спросить по мейлу у суппорта Multilogin.
Последний месяц я работаю над конструктором интерфейса.
На сегодня функционал готов на 80% и через неделю выйдет новая версия БАС, в которой премиум пользователи смогут полность менять интерфейс скомпилированных ботов.
Ниже детальное описание будущего апдейта в виде перечисления основных особенностей:
В новой версии будет возможность запускать ботов прямо в браузере.
При запуске бота будет открываться не интерфейс БАС, как раньше, а браузер установленный у вас в системе.
В нем будет отображаться интерфейс созданный разработчиком бота.
БАС будет работать в фоновом режиме и управляться из этого браузера.
Такой подход дает множество преимуществ.
Интерфейс бота может быть сгенерирован автоматически из проекта БАС.
Вам не нужно писать интерфейс с нуля. За вас это сделает конструктор интерфейса.
Но в отличии от интерфейса, который генерируется сейчас, у вас будет возможность его менять.
Простые изменения не требуют знания программирования.
Они могут быть осуществлены прямо в конструкторе интерфейса.
Вот примеры таких изменений: изменить текст кнопки, изменить цвет любого элемента, и вообще любые параметры,
спрятать элементы, которые отвечают за отображение браузера, переместить их в другое место(через перетягивание),
изменить название вкладки, добавить свое лого и ссылку на свой сайт.
Сложные измененния требуют знания html/javascript/css
Хотя простые изменения не требуют от пользователя дополнительных знаний, для сложных задач они могут понадобиться.
Например, для добавления нового графика на страницу с ботом потребуется прочитать его документацию и самостоятельно отредактировать код бота.
Конструктор интерфейса предоставляет удобный редактор с предпросмотром(как jsfiddle).
Взаимодействие пользовательского интерфейса и БАС.
Общаться с БАС можно посредством специального апи, его описание скоро появится в вики.
Вот пример вызова метода, который возвращает скриншот браузера из БАС, и обновляет картинку на странице.
Общение с БАС будет происходить и другими методами, так интерфейс бота сможет:
читать/записывать глобальные переменные, получит доступ к базе, сможет выполнять функции БАС и получать результат(запланировано на следующие версии),
а скрипты БАС смогут выполнять произвольный javascript в контексте пользовательского интерфейса.
Запуск ботов удаленно(запланировано на следующие версии).
Разделение интерфейса бота и БАС дает возможность в будущем запускать ботов удаленно, в том числе и на мобильных платформах.
Конечно для запуска БАС все еще потребуется серевер на Windows, но контролировать бота вы сможете с любого устройства, у которого есть доступ в сеть и браузер.
Сроки.
Выпуск версии с поддержкой пользовательского интерфейса я планирую 21 мая. В ней новый функционал станет доступен только премиум пользователям и только для приватных скриптов или скриптов размещенных в магазине. Позже новые фичи станут доступны и для скриптов созданных премиум пользователями без защиты.
Скриншоты.
Ввод ресурсов.
Основной экран бота.
Выбор файла
Редактирование интерфейса
Редактирование кода
Много раз на форуме просили сделать ручное управление браузером (мышкой самому водить).
Но у @support'а есть более важные дела. По этому решил по экспериментировать.. Первый вариант работает крайне медлено, но работает :D
Если направление всё ещё нужное, могу потом заняться разработкой модуля.
Ага круто да, мышкой двигать и жмыкать по всюду будет круто.
@Fox
а курсор в бас браузере это всамомделешный браузерный курсор?
Было бы круто, если бы можно было переключать с режима разработки в режим браузера и наоборот.
@DrPrime
а у меня document.body.style.cursor = 'none' не будет.
Да, нужный модуль.
выложите всем или продажи планируете ?
Было бы круто, если бы можно было переключать с режима разработки в режим браузера и наоборот.
Я так и планировал сделать. В идеале.. В режиме записи отдельную кнопочку для ручного управления браузером.
Хорошо, буду попробую сделать юзабельную версию.
выложите всем или продажи планируете ?
Это был просто эксперимент. Если получится сделать отдельный режим работы "ручное управление браузером", то скорее всего нужно будет компилировать сборку BAS. Лучше все наработки выложу @support 'у, а он уж как решит.
Много раз на форуме просили сделать ручное управление браузером (мышкой самому водить).
Но у @support'а есть более важные дела. По этому решил по экспериментировать.. Первый вариант работает крайне медлено, но работает :DЕсли направление всё ещё нужное, могу потом заняться разработкой модуля.
Было бы отлично сделать в режиме запуска
@GamiD Для начала поясню, это всё чисто теоретические догадки и попытка разработки вполне может провалится, ввиду нехватки знаний, свободного времени, или опыта.
Было бы отлично сделать в режиме запуска
Не представляю как это может пригодится. Режим запуска запустит скрипт в несколько потоков и где его останавливать, для ручного управления непонятно. Как и непонятно, как действия пользователя вплетать в логику разработки такого скрипта.
В теории конечно можно сделать что то вроде модуля взаимодействие с пользователем, но не вижу в этом необходимости.
@alex88 Ты спросил в личку, разрабатываю ли я ещё этот модуль. Но ответить я тебе в личку не могу, выдаёт ошибку
Отвечу здесь.
Нет. Свободного времени для бесплатной разработки крайне мало. Кушать все хотят :D
Всё свободное время уходит на заказы скриптов. В перерывах поддерживаю форум. Но полностью бросать идею не собираюсь, если только @support не сделает свою реализацию.
Таймаут на ручное управление браузером
Поддержка • • checkdimon
(BUG) Режется ссылка при вставке в строку воода в режиме ручногоуправления браузером.
Поддержка • • booldozer
Что-то среднее между post/get и браузером, как в a-parser
Поддержка • • sanyo
@sanyo Насколько я понимаю имеется ввиду хттп клиент, это уже есть, только в БАС есть визуальный редактор кода и редактор выражений, для тех кто не знает js. Ну и xpath тоже есть
Проблема с браузером!
Поддержка • • gervalddenis
Удаленное управление BAS на нескольких серверах. Возможно ли?
Поддержка • • Antonz
@Antonz Может Планировщик в Помощь, вам же надо Разные Скрипты в Определённое Время Запускать, а Планировщик и ставится в Автозапуск с системой. Ну и он не должен Жрать мол сток Ресурсов, нежели они будут Висеть в ожидании и получается то, запущенные все потоки:)
Забрать ручное управление у пользователя.
Поддержка • • alexkassa01
Удаленное управление
Поддержка • • artihorror
Таймаут/таймер для "Ручное управление браузером"
Поддержка • • IvanM
@UserTrue said in Таймаут/таймер для "Ручное управление браузером": Асинхронно запускаете новый поток, в котором задаете вопорос пользователю открыть или нет ручное управление О! Точно! Спасибо @UserTrue. А то я уже начал воображать какие-то мудреные схемы через асинхронку. Спросить-то проще через неё.
Похоже, подключение к Bablosoft было разорвано, подождите, пока мы пытаемся восстановить соединение.
Много раз на форуме просили сделать ручное управление браузером (мышкой самому водить).
Но у @support'а есть более важные дела. По этому решил по экспериментировать.. Первый вариант работает крайне медлено, но работает :D
Если направление всё ещё нужное, могу потом заняться разработкой модуля.
Ага круто да, мышкой двигать и жмыкать по всюду будет круто.
@Fox
а курсор в бас браузере это всамомделешный браузерный курсор?
Было бы круто, если бы можно было переключать с режима разработки в режим браузера и наоборот.
@DrPrime
а у меня document.body.style.cursor = 'none' не будет.
Да, нужный модуль.
выложите всем или продажи планируете ?
Было бы круто, если бы можно было переключать с режима разработки в режим браузера и наоборот.
Я так и планировал сделать. В идеале.. В режиме записи отдельную кнопочку для ручного управления браузером.
Хорошо, буду попробую сделать юзабельную версию.
выложите всем или продажи планируете ?
Это был просто эксперимент. Если получится сделать отдельный режим работы "ручное управление браузером", то скорее всего нужно будет компилировать сборку BAS. Лучше все наработки выложу @support 'у, а он уж как решит.
Много раз на форуме просили сделать ручное управление браузером (мышкой самому водить).
Но у @support'а есть более важные дела. По этому решил по экспериментировать.. Первый вариант работает крайне медлено, но работает :DЕсли направление всё ещё нужное, могу потом заняться разработкой модуля.
Было бы отлично сделать в режиме запуска
@GamiD Для начала поясню, это всё чисто теоретические догадки и попытка разработки вполне может провалится, ввиду нехватки знаний, свободного времени, или опыта.
Было бы отлично сделать в режиме запуска
Не представляю как это может пригодится. Режим запуска запустит скрипт в несколько потоков и где его останавливать, для ручного управления непонятно. Как и непонятно, как действия пользователя вплетать в логику разработки такого скрипта.
В теории конечно можно сделать что то вроде модуля взаимодействие с пользователем, но не вижу в этом необходимости.
@alex88 Ты спросил в личку, разрабатываю ли я ещё этот модуль. Но ответить я тебе в личку не могу, выдаёт ошибку
Отвечу здесь.
Нет. Свободного времени для бесплатной разработки крайне мало. Кушать все хотят :D
Всё свободное время уходит на заказы скриптов. В перерывах поддерживаю форум. Но полностью бросать идею не собираюсь, если только @support не сделает свою реализацию.
Таймаут/таймер для "Ручное управление браузером"
Поддержка • • IvanM
@UserTrue said in Таймаут/таймер для "Ручное управление браузером": Асинхронно запускаете новый поток, в котором задаете вопорос пользователю открыть или нет ручное управление О! Точно! Спасибо @UserTrue. А то я уже начал воображать какие-то мудреные схемы через асинхронку. Спросить-то проще через неё.
Ручное управление браузером и мышь в одном месте
Поддержка • • Бывший пользователь
Официальный ответ: "Если его отключить, то будет другая проблема - при выполнении действий, которые перемещают курсор будет впечатление, что BAS просто зависает в то время, когда происходит перемещение." В любых выбранных режимах можно выполнять действия скрипта и с отключенный курсор может так же ввести в заблуждение.
Удаленное управление BAS на нескольких серверах. Возможно ли?
Поддержка • • Antonz
@Antonz Может Планировщик в Помощь, вам же надо Разные Скрипты в Определённое Время Запускать, а Планировщик и ставится в Автозапуск с системой. Ну и он не должен Жрать мол сток Ресурсов, нежели они будут Висеть в ожидании и получается то, запущенные все потоки:)
Не работает ручное управление браузером 20.8.7
Поддержка • • ruzne
@Antonio нет, я уже разобрался, это из за того что у меня было открыть браузер, потом, настройка браузера раньше это работало, теперь работает только если сначала настройка браузера потом открыть браузер я вообщем поудивлялся и разобрался
При работе с браузером через прокси выдает ошибку - This site can’t be reached
Поддержка • • Eoogeen
Не очень конечно удобно так ( половина проектов на новом басе, а большой старый еще на старом ( туда-суда мотает аж голова кругом . ну ничего , прорвемся )
Не выпадает список при работе с браузером
Поддержка • • fullws
@martin_w7 Если коротко. То сначала с помощью софта тупо отслеживаете тчо делает ваш браузер. А потом в клиенте нужное вам формулируете. /я не оговорился не эмулируете)) /. Браузер делает тучу запросов далеко не все из них нас интересуют. По первости просто находя как формируются запросы в браузере (да и потом)) просто со временем понимаешь если он тянет то то то будет так) з/ы Забыл еще прикольно можно одминов на "счетчиках" в ступор вгонять ;-] В клиенте можно такой "клиент" выдать. По отладке. Да. заголовки.
Удаленное управление
Поддержка • • artihorror
Как извлечь запросы отправляемые браузером?
Поддержка • • nazar21015
@nazar21015 said in Как извлечь запросы отправляемые браузером?: Приветсвтую формучане, хотел сделать программу, которая полностью работает на запросах, но уперся в трудности дебагинга JS. Подумал, что пусть реально запускается браузер, закрывается, а потом один и тот же просчитанный JS-ом запрос можно будет отправлять сколько угодно раз, но не знаю как извлечь запрос, чтобы потом без браузера он дальше отправлялся. Токен всегда разный, по этому насколько я понимаю запись http-запросов это не то. Спасибо! Смотрите описание действия "Получить все элементы кэша" и ищите на форуме примеры его использования
Похоже, подключение к Bablosoft было разорвано, подождите, пока мы пытаемся восстановить соединение.
Приветствую!
Пример, скрипт выполняет рутину на конкретной странице в один поток, но случайно с нее уходит. Так вот, можно ли принудительно вызвать ручное управление браузером, руками вернуть на нужную страницу и продолжить выполнение скрипта?
рутину на конкретной странице в один поток, но случайно с нее уходит. Так вот, можно ли принудительно вызвать ручное управление браузером, руками вернуть на нужную страницу и продолжить выполнение скрипта?
Да, в поиске BAS (в самом скрипте") наберите "ручное управление"
Но в вашем случае я бы сделал проверку страницы, если программа видит что попала на другую страницу, возвращается назад. Так проще, и не надо руками ничего делать.
@Dodok У меня данный скрипт начинает работать с ручного управления, тк на стартовой странице сложная натройка фильтров - куча чекбоксов и всплывающих окон (поэтому не вариант просто возвращаться на стартовую страницу, настраивать надо будет по новой).
Интересует именно ПРИНУДИТЕЛЬНОЕ переключение в ручной режим, а потом, например, старт по метке.
с ручного управления, тк на стартовой странице сложная натройка фильтров - куча чекбоксов и всплывающих окон (поэтому не вариант просто возвращаться на стартовую страницу, настраивать надо будет по новой).
Интересует именно ПРИНУДИТЕЛЬНОЕ переключение в ручной режим, а потом, например, старт по метке.
Не видя вашей логики скрипта и ТД сказать больше может только Ванга, но она того.
А вообще переключить в ручной режим можно в любой момент, опять же все зависит от логики скрипта.
@Dodok В этом и заключается вопрос, можно ли принудительно включить ручное управление? Не прописывать это в логику скрипта, а нажать в любой момент времени, например F2 и включется ручное управление. И было бы вообще замечательно, если можно продолжить работу скрипта по метке. Тк можно было бы использовать разные подскрипты в одном боте.
и заключается вопрос, можно ли принудительно включить ручное управление? Не прописывать это в логику скрипта, а нажать в любой момент времени, например F2 и включется ручное управление. И было бы вообще замечательно, если можно продолжить работу скрипта по метке. Тк можно было бы использовать разные подскрипты в одном боте.
Насколько я знаю такой кнопки нет.
По второму вопросу можете сделать так, запросить ввод от пользователя, ставим 1, скрипт идет по одному направлению, 2 по второму.
@Dodok Ок, ясно
В целом, я наверное понял, что мне нужен немного другой софт - браузер, в которм я работаю и по необходимости включаю разные срипты для выполнения рутины. БАС - это про другое, хотя очень выручает на данный момент.
Спасибо за совет с "запросом ввода от пользователя"!
@yngamas Уверен что и на BAS можно сделать то что вам надо.
Главное немного подумать.
Заполняемые руками данные например можно вывести в переменные, и если страница слетит, BAS вернет на главную и заново сам заполнит.
С капчами тоже решение найти можно.
Но тут уже как говорится каждый думает за себя.
@Dodok Я гляжу, ты тут Вылупится решил и весь такой умный :)
Не в Обиду, но не надо прыгать выше головы, шею свернёшь :)))
Вижу ты вроде Норм, но всё ж, не Хахол ты ли или, сябя Возомнил Героем Сдезь.
Тут UserTrue и тп меня учили а ты я заметил Чёт Дахрена Кодером Стал что БАС тебе не указ, но помнится я тебя Акстил и меня поддержали.
Более, услышу Хвалебности ( тобиш Реклы ) от тебя, не в обиду, но Минус Поставлю!
@super84 Непонял ? Где это ты меня отсекал, напомни мил человек.
За слова то отвечать надобно, а то угрозы и оскорбления не есть гуд.
л Чёт Дахрена Кодером Стал что БАС тебе не указ, но помнится я тебя Акстил и меня поддержали.
Да и кто помогать будет если не я любимый, вы то сидите язык барин кой куда запихавши, так мне черни и остается писать в помощь простому люду.
@Dodok Я не Раз не Оскорбил, по то му и подписовал, что не в Обиду.
Кто Между Строк Читает, его проблемы.
![alt text](
И нас Таких в Магазах не найдёш ( я про Усер и Фаста и тп, кто тут давно и они Реально Шпарят, я ещё Солобон среди них, а ты ту т такой вырвался.
Помога, конкретикой.
Если бы ваше Государево Мнение мне нужно Было ? Зачем .
Выпущена версия 21.4.1, в этой версии присутствует несколько больших изменений:
Действие 'Прокси' теперь не только меняет прокси, но и делает так, чтобы смена прокси выглядела более правдоподобно.
Работа в основном окне программы (оно черного цвета) теперь происходит более интуитивно.
Исправлен один очень неприятный баг связанный с несвоевременным освобождением памяти при работе с одним браузером на протяжении долгого времени.
Давайте рассмотрим каждое изменение более подробно.
До недавнего времени в BAS использовался алгоритм, который запрещает любые запросы подобного рода. В данной версии, BAS изменяет ip полученный от сервиса на внешний ip текущего прокси, это происходит по умолчанию при использовании действия 'Прокси', тем не менее новый функционал можно отключать в этом же действии. Рассмотрим детали реализации:
1) Подмена ip происходит на уровне браузера, через js обнаружить ее невозможно.
2) Разные браузеры могут выдавать информацию в формате SDP, тем не менее немного отличающуюся. Подмена может осуществлятся через замену текста, и такой метод можно обнаружить проверив некоторые детали специфичные для браузера. BAS выдает информацию именно так, как это делает Chrome, без замены текста.
3) Запросы к любому STUN серверу запрещены. Даже если запретить получение информации непосредственно через js, но оставить возможность браузеру делать запрос к серверу, то реальный ip не будет известен клиенту, но будет известен серверу и если настроить несколько серверов или несколько портов и связать пользователя с конкретным сервером, то ip можно получить уже на стороне клиента. BAS защищает от подобного метода.
В случае BAS, запросов не будет, хоть ip и будет возвращаться.
Как видите, данная реализация хоть и не является идеальной, но достаточно близка к ней.
Кроме этого, действие 'Прокси' теперь также умеет автоматически изменять геолокацию и часовой пояс браузера.
Изменение часового пояса теперь также происходит на уровне браузера - абсолютно все даты, которые возвращает браузер теперь имеют часовой пояс точно такой же, как и у прокси.
BAS научился корректно возвращать измененную дату с учетом летнего времени.
Эти значения также заменяются при использовании действия 'Прокси', вы можете убедится в этом зайдя на данную страницу из BAS.
Немало внимания в новом апдейте было уделено удобству использования основного окна.
Для элементов, значение которых может быть не совсем понятным, появились подсказки.
Реализовано множество удобных мелочей: список недавних проектов теперь находится всегда на основной панели, путь к текущему проекту можно скопировать, все иконки заменены на такие, что смотрятся лучше при маленьком размере элементов, изменены значки запущенных браузеров.
Добавлена возможность быстрого обмена проектами - открытие проекта по ссылке и загрузка на гугл диск.
Обновлено окно компиляции проекта, оно стало более интуитивным и интегрированным с облаком. Теперь проект можно обновлять/создавать прямо из BAS, появилась возможность не создавать архив при каждой компиляции.
Было потрачено много времени на поиск причины и исправление бага с несвоевременным освобождением памяти. Баг существовал все время на протяжении жизни проекта и проявлялся только тогда, когда несколько браузеров работали 10 и больше часов без перезапуска. Потребление памяти увеличивалось приблизительно на 5-10 мб в час, через несколько дней непрерывной работы проект становился неработоспособным. Ошибка была связана с библиотекой Qt, был найден метод как обойти этот баг.
Надеюсь, что новая версия вам понравится и будет полезной!
Выпущена версия 21.5.1. В ней содержится множество изменений связанных с анонимностью браузера. Давайте рассмотрим их подробнее:
Современные браузеры поддерживают апи для работы со звуком. Используя методы этого апи сайт может генерировать и обрабатывать звук, а также получать доступ к бинарным данным. По аналогии с Canvas и WebGL, данные звука также содержат небольшие отличия в зависимости от железа, браузера и системы. Эти отличия могут быть использованы чтобы идентифицировать вас среди других пользователей сайта даже при использовании прокси. В новой версии поддерживается смена отпечатка аудио - BAS добавляет разные шаблоны шума в возвращаемые данные при каждой смене отпечатка. Кроме того, данное апи также дает доступ к разным системным параметрам связанных со звуком. BAS подменяет эти параметры, значения берутся из реальных устройств при помощи сервиса FingerprintSwitcher.
Сайт может получать данные об языке системы несколькими способами. Это заголовок 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. Текущий ип, страна и язык получаются при применении прокси.
BAS использует некоторое количество вспомогательного кода для поиска элментов, внедрения решения рекапчи и другого. Раньше софт можно было обнаружить по наличию этого функционала, поэтому в новой версии он спрятан, все имена функций генерируются для каждого потока разные. Переработан механизм внедрения отпечатков, если раньше BAS полагался на использование конструкций вида Object.defineProperty, то сейчас подмена происходит внутри браузера. Старый метод используется только для изменения списка плагинов и в местах где это абсолютно необходимо. Например, Chrome, в отличие от Firefox не поддерживает апи для работы с VR шлемами. Поэтому для эмуляции этого функционала приходится использовать javascript. Обход некоторых других методов, которые используются для определения движка браузера также преписаны на с++.
Эмуляция порядка заголовков временно не работала при переходе к туннелированию. Сейчас этот функцинал возвращен. Порядок заголовков берется из реального устройства.
Добавлена возможность сохранять отпечаток в папке профиля и загружать его от туда при применении профиля. При получении информации о текущем профиле можно узнать, содержит ли он отпечаток, результат будет возвращен в переменную HAS_FINGERPRINT.
Был полностью переписан алгоритм замены шрифтов. Раньше BAS внедрялся в процесс браузера "на лету" и подменял некоторые системные вызовы, сейчас тот же эффект достигается за счет изменения исходного кода браузера. Новая реализация позволяет менять набор шрифтов не перезагружая браузер, а также избавится от некоторых багов. Сейчас для полноценной работы желательно, чтобы на машине, на которой запускается BAS было установлено как можно шрифтов, в будущем новые шрифты будут генерироваться самостоятельно за счет добавления шума.
Некоторые другие изменения не касающиеся отпечтаков:
Веб интерфейс теперь может использовать localStorage для хранения настроек софта между запусками.
Bызов метода BAS_API из Node.js теперь генерирует исключение в случае ошибки. Теперь можно сделать так:
Новая настройка для приложений с защитой: "Разрешать запускать только один экземпляр приложения".
Исполняемые файлы BAS теперь подписаны. Это позволит быстрее проходить проверку SmartScreen на Windows 10, также избежать ложноположительных срабатываний антивирусов.
Заново переписан механизм перетягивания блоков за пределы рабочей области(при обновлении браузера он перестал работать).
Исправлено множество багов, среди которых:
Исправлен баг с установкой referrer и перенаправлениями страницы.
Сетевые ошибки при загрузке проекта в скомпилированных скриптах теперь не сообщают урл сервера.
Исправлено исчезновение прошлого проекта после неудачной загрузке.
При переходе на новую версию BAS, старые проекты будут работать по старому, если вы хотите использовать новый функционал, то нужно начать редактировать действия 'Прокси', 'Применить отпечаток' и 'Получить отпечаток' и нажать на Ok ничего не меняя.
Это не все изменения находящиеся в разработке, до конца года планируется выпустить новый аддон для BAS - FingerprintDetector.
Читайте также: