Анонимность в Human Emulator Studio. Профиль.
Прочитав предыдущие статьи из цикла Анонимность в Human Emulator Studio:
Мы научились настраивать нужный нам уровень анонимности в программе. И теперь возникает вполне законный вопрос, как нам всё это великолепие сохранять и использовать в нужный момент.
Что такое профиль?
Скажем у нас есть задача заходить под разными пользователями с разными настройками в какую то социальную сеть и при этом необходимо что бы все настройки при каждом заходе были одними и теми же, в том числе и такие настройки как прокси, отпечатки браузера и т.д.
Справиться с этой задачей нам поможет профиль. Профиль это совокупность разных настроек, которые мы можем сохранять и загружать. Работать с профилями можно двумя способами с помощью команд и диалога профиля.
При работе в режиме изолированные браузеры в закладках каждой закладке можно задать свой профиль, если галочка Изолированные браузеры в закладках не стоит в настройках, то один профиль действует на все закладки браузера.
После перезапуска программы профиль сбрасывается, поэтому если вам нужно использовать тот же профиль, что вы использовали до перезапуска его надо обязательно загрузить.
Диалог профиля.
С помощью диалога профиля мы можем посмотреть все настройки, которые входят в профиль, а также настроить их, сохранить или загрузить, задать их по умолчанию.
Диалог можно открыть с помощью контекстного меню Профиль. Для этого кликаем правой кнопкой мы на закладке браузера и в появившемся меню кликаем на пункт Профиль.
После этого нам откроется диалог Профиль браузера на текущей настройке.
Диалог состоит из следующих вкладок: Описание, Кэш|Куки, Прокси, Языки и Акцепты, Оборудование, Приложение, Окно, Геолокация, Локализация, Web GL, Другое.
Из названия не трудно догадаться для настройки чего нужна каждая вкладка этого диалога, но давай те всё таки рассмотрим каждую закладку отдельно.
Описание.
На этой вкладке мы задаём имя и описание профиля.
Кэш|Куки.
С помощью этой закладки выставляем путь к папке с Куками и Кэшем.
Обращаем ваше внимание на то, что с версии 7.0.37 (2019.08.21) папка с кэшем не настраивается отдельно, а храниться внутри папки с куками. ТО есть команда и настройка для задания пути к папки с кэшем работать не будут. Эти изменения связанны с изменениями в работе движка Хромиум.
Прокси.
Эта закладка диалога профиля служит для настройки прокси/соксов. Также на этой закладке есть кнопка Через TOR. С помощью этой кнопки задаётся настройка прокси socks5://127.0.0.1:9150 для работы через тор. При этом тор уже должен быть запущен у вас на компьютере.
Языки и акцепты.
Это вкладка используется для установки параметров языка в navigator и в HTTP заголовке запроса Accept. Язык можно выбрать как из существующего или прописать свой, или задать случайный нажав на иконку игрального кубика.
Тут и везде дальше значение Default говорит о том, что эти значения не будут подменяться, а будут использоваться те, что есть по умолчанию.
Что бы задать использование значений по умолчанию можно нажать кнопку Default или прописать этот текст в поле для задаваемого значения.
Оборудование.
С помощью следующей вкладки мы настраиваем параметры используемого оборудования — разрешение экрана, и параметры navigator Platform, CPU Class, Hardware Concurrency, Device Memory, а так же параметры сенсорного экрана параметры navigator.maxTouchPoints и window.ontouchstart, и параметр devicePixelRatio.
Прочитать об этих параметрах можно в статье Управление информацией о браузере.
Приложение.
На этой вкладке меняем следующие параметры UserAgent строка, а также параметры navigator Product, Product Sub, App Name, App Code Name, App Minor Version, Vendor, Vendor Sub.
Прочитать об этих параметрах можно в статье Управление информацией о браузере.
Окно.
Тут всё просто, первое поле ширина окна браузера, а второе поле высота окна браузера.
Геолокация.
Настройка параметра navigator.geolocation.getCurrentPosition — Latitude(широта),Longitude(долгота),Accuracy(точность широты и долготы), Altitude(высота), Altitude Accuracy (точность высоты), Heading (направление движения (в радианах)), Speed(скорость движения).
Подробно об этих параметрах можно прочитать в Местоположение.
Локализация.
В этой закладке выставляются параметры интернализации, что это можно узнать из статьи Местоположение.
Web GL.
Это вкладка диалога профиля используется для работы с WebGL Fingerprint. Читаем про WebGL Fingerprint в статье Отпечатки браузера. Если выставить галочку Randomize Web GL Fingerprint, то мы включаем подмену всех перечисленных ниже параметров. Если галочка не стоит используются значения по умолчанию при условии, что WebGL не отключен в настройках.
Audio.
С версии 7.0.43 добавлена вкладка Audio.
С помощью этой вкладки вносятся искажения в AudioContext Fingerprint. Узнать больше про аудио отпечатки можно в нашей статье. Отпечатки браузера. Значения могут быть для поля Звуковой шум от 1 до 999999, Частотный шум может быть от 1 до 99.
Другое.
На этой вкладке мы управляем реферером, canvas fingerprint, Bounds шум и информацией о плагинах. Про Canvas Fingerprint и Font Fingerprint читаем в статье Отпечатки браузера, про информацию о плагинах в статье Управление информацией о браузере. С версии 7.0.43 появилось поле Bounds шум. Это поле используется для работы с Font Fingerprint. Значение его может быть от -1 до 999999999. При -1 искажение отключено.
После того как мы выставили все необходимые настройки профиля мы сохраняем его в виде json файла с помощью кнопки Save. Для того что бы использовать сохранённый профиль его нужно загрузить с помощью кнопки Load.
Управление настройкой профиля с помощью команд.
Всё что мы задаём в диалоге можно задать с помощью соответствующих команд.
Вот пример с использованием всех команд на php, которые используются для настройки профиля:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
// задаём путь к папке с куками $browser->set_cookies_folder("test_cookies_folder1"); // Зададим тор как прокси $browser->enable_proxy("all connections","socks5://127.0.0.1:9150"); // язык $languges = "ru-RU,ru,en-US,en"; $arr_lang=explode(",",$languges); // Задает одинаковыми параметры navigator language, browserLanguage, systemLanguage, userLanguage // первый из списка $browser->set_language($arr_lang[0]); // весь список задаём в accepts $browser->set_accept_language($languges); // зададим смешанные акцепты $browser->set_accept_encoding("gzip, deflate, txt"); // зададим английские акцепты $browser->set_accept("text/html,application/xhtml+xml,application/xml;q=0.1,image/webp,image/apng,*/*;q=0.2"); // Зададим разрешение 1024x768 и битность 24 $browser->set_screen_resolution(1024,768, 24); // Зададим navigaror.platform и navigator.cpuClass $browser->set_platform("Win64; x64","x64"); // Зададим количество процессоров 2 и 4 гб памяти и отношение разрешения 1 $browser->set_hardware_info(2,4,1); // Зададим информацию о экранном сенсоре // 5 одновременных сенсорных контактов и включим передачу сенсорных событий $browser->set_touch_info(5,true); $user_agent_srting = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"; // задаём строку в браузер $browser->set_user_agent($user_agent_srting); // зададим следующие параметры appName appCodeName appVersion product productSub vendor vendorSub // vendor и vendorSub можно задавать с версии 7.0.42 $appMinorVersion = trim(str_replace("Mozilla/","",$user_agent_srting)); $browser->set_app_info("Netscape", "Mozilla", $appMinorVersion, "Gecko", "20030107","Google Inc.",""); // изменить размеры окна браузера // случайным образом в диапазоне от 300 до 1200 // ширину $browser->set_width(rand(300,1200)); // высоту $browser->set_height(rand(300,1200)); // задаём координаты берлин $browser->set_geo("51.299300", "9.491000"); // задаём timezone берлина $browser->set_time_zone(1); // зададим интернализацию $browser->set_internazionalization("en-US","UTC","gregory","latn","numeric","numeric","numeric"); // Зададим генерировать случайный WebGL fingerprint: $browser->set_random_webgl_fingerprint(true,"123456","123456789012345678901234567890", "New Unmasked Vendor","New Unmasked Renderer", "New GL Version","New Shading Version","New Vendor","New Renderer" ); // с версии 7.0.43 // зададим максимальное изскажения звукового отпечатка $browser->set_random_audio_fingerprint("999999","99"); // Зададим реферер $browser->set_referer("https://ya.ru"); // зададим шум $browser->set_canvas_toDataURL("231213hsg"); // с версии 7.0.43 // Зададим генерировать случайный Bounds fingerprint $browser->set_random_bounds_fingerprint(999999999); // Зададим navigaror.plugins $plugins="[{ name: 'Chromium PDF Plugin', filename: 'internal-pdf-viewer', description: 'Portable Document Format' }, { name: 'Chromium PDF Viewer', filename: 'mhjfbmdgcfjbbpaeojofohoefgiehjai', description: '' }, { name: 'Adobe Flash Player', filename: 'pepflashplayer32_31_0_0_153.dll', description: 'Shockwave Flash 31.0 r0 System' , version : '31.0.0.153'}]"; $mimes_types="[{type: 'application/x-google-chrome-pdf', suffixes: 'pdf', description: 'Portable Document Format', enabledPlugin: Plugin, __pluginName: 'Chromium PDF Plugin' }, {type: 'application/pdf', suffixes: 'pdf', description: '', enabledPlugin: Plugin, __pluginName: 'Chromium PDF Viewer'}, {type: 'application/x-shockwave-flash',suffixes: 'swf',description: 'Shockwave Flash',__pluginName: 'Adobe Flash Player'}, {type: 'application/futuresplash',suffixes: 'spl',description: 'FutureSplash Player',__pluginName: 'Adobe Flash Player'}]"; // с версии 7.0.41 можно задавать для плагинов типы MIME $browser->set_plugins_info($plugins,$mimes_types); // сохранить профиль $browser->save_profile("active_page_profile.json"); |
Для того что бы использовать профиль используется команда:
1 2 3 4 |
// Установим заданный профиль $browser->load_profile("active_page_profile.json"); |
Работа с профилями постоянно совершенствуется, поэтому обсудить эту статью и внести ваши замечания или предложения по профилям вы можете на нашем форуме.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.