AEZAKMI API + интеграция с SELENIUM

API для партнеров и пользователей

Для интеграции в ПО и автоматизации работы с браузерными отпечатками AEZAKMI, в нашем сервисе предусмотрены вызовы API возвращающие ответы в формате JSON

Все API вызовы настроены на прием POST запроса с данными в JSON формате.

Для проверки вашей лицензии — в заголовке “authorization” каждого POST запроса на API Aezakmi требуется указывать ваш аутентификационный ключ

API Key можно получить, открыв выпадающее окно по кнопке расширения.

Необходимо нажать право клавишей на рабочую область расширения и выбрать “Просмотреть код”

После чего - в появившемся окне - необходимо перейти на вкладку “Console”, и ввести там:

Полученное значение и есть Api Key

Методы API

Создание профиля отпечатка.

POST https://account.aezakmi.run:2087/api/create_fast_profile

authorization: APIKEY

Content-Type: application/json

POST DATA (JSON)

Обязательные параметры

  • profileName: Желаемое имя профиля. (string)
  • login: Ваш логин в Aezakmi. (string)
  • timestamp: текущее время создания профиля в милисекундах c 1 января 1970 года. Стандартное обозначение времени во всех языках програмирования и операционных системах. (int)

В Linux можно получить с помощью команды date ‘+%s’. В JavaScript — new Date(). Можете всегда обратиться в наш саппорт — мы подскажем как получить это значение.

  • canvasNoise: Позволяет указать нужно ли зашумлять работу canvas рендеринга для получения уникального значения в отпечатке. Допустимые значения: true — зашумлять. false — не зашумлять. (boolean)
  • webglNoise: Позволяет указать нужно ли зашумлять работу webgl рендеринга для получения уникального значения в отпечатке. Допустимые значения: true — зашумлять. false — не зашумлять (boolean)
  • audioNoise: Позволяет указать нужно ли зашумлять работу аудиобуфера для получения уникального значения в отпечатке. Допустимые значения: true — зашумлять. false — не зашумлять (boolean)
  • doNotTrack: Позволяет указывать значение опции DoNotTrack на посещаемых сайтах. false — выключена. true — включена. (boolean)
  • ObserverWebRTC: Позволяет указать нужно ли отслеживать изменение выходного ip для автоматической смены WebRTC ip для предотвращения несоответсвия данных. false — выключен. true — включен (boolean)
  • enable911: Позволяет указать данные локального прокси от провайдера 911. false — выключен. true — включен (boolean)

Не обязательные параметры

Выбор отпечатка

  • browser: Позволяет указать желаемый браузер в отпечатке. Chrome или Firefox. Полный список доступных браузеров вы всегда можете посмотреть в личном кабинете при создании профиля. (string)
  • os: Позволяет указать желаемую операционную систему в отпечатке. Windows, Mac OS или Firefox. Полный список доступных операционных систем вы всегда можете посмотреть в личном кабинете при создании профиля. (string)
  • videocard: Позволяет выбрать желаемую модель видеокарты. (string)
  • width: желаемая ширина разрешения экрана. (int)
  • height: желаемая высота расширения экрана. (int)

Важно - значения высоты и ширины экрана не должны превышать ваше реальное разрешение экрана. Так же очень важно выбирать распространенные разрешения, например “width”: 1920 и “height”: 1080 — для FullHD мониторов. Реальные комбинации разрешений экранов вы можете посмотреть в личном кабинете при создании профиля.

Для того что бы точно подобрать отпечаток по всем фильтрам с учетом видеокарты — вы можете посмотреть все доступные комбинации отпечатков в этом JSON файле https://gist.github.com/chelovekula/a7350226e8c1f03ef3454575fbed85a9

Прокси

Эти значения нужно заполнять только если хотите использовать прокси в отпечатке. В ином случае их можно оставить пустыми.

  • proxyProtocol: Протокол вашего прокси http \ https \ socks4 \ socks5 (string)
  • proxyIp: ip адрес или домен вашего прокси. (string)
  • proxyPort: порт вашего прокси. (int)

Не на всех прокси есть логин и пароль. В таком случае эти значения можно оставить пустыми.

  • proxyLogin: логин вашего прокси. (string)
  • proxyPassword: пароль вашего прокси. (string)
  • cookies: Позволяет загрузить в ваш профиль куки в json формате. Можно оставить пустой строкой. (object in array[0])

Пример:

{

“audioNoise”: true,

“browser”: “Chrome”,

“canvasNoise”: true,

“cookies”: [{“value”:”5%3AbPQ63RuVH2URRw%3A2%3A1578178208%3A-1%3A-1",”domain”:”.facebook.com”,”hostOnly”:false,”sameSite”:”no_restriction”,”storeId”:”0",”session”:true,”expirationDate”:1639341544,”secure”:true,”httpOnly”:true,”path”:”/”,”name”:”xs”},{“value”:”y”,”domain”:”.facebook.com”,”hostOnly”:false,”sameSite”:”no_restriction”,”storeId”:”0",”session”:true,”expirationDate”:1639341544,”secure”:true,”httpOnly”:true,”path”:”/”,”name”:”pl”}],

“doNotTrack”: false,

“enable911”: false,

“height”: 900,

“login”: “Alex”,

“os”: “Windows”,

“profileName”: “newAPI”,

“proxyIp”: “8.8.8.8”,

“proxyLogin”: “chel123”,

“proxyPassword”: “0f2op”,

“proxyPort”: 107,

“proxyProtocol”: “http”,

“timestamp”: 1592833464865,

“webglNoise”: true,

“width”: 1600,

“videocard”: “ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0)”,

“ObserverWebRTC”: true

}

Удаление профиля отпечатка

POST https://account.aezakmi.run:2087/api/delete_current_user_profile

authorization: APIKEY

Content-Type: application/json

POST DATA (JSON)

profileName: Имя профиля для удаления

login: Ваш логин в Aezakmi

Пример:

Взаимодействие с Selenium

Получение отпечатка.

Для начала вам необходимо отправить на наш апи запрос с именем нужного профиля и вашим логином — + хедер autorization — для того чтоб получить объект отпечатка.

Пример:

curl--request POST \

--url https://account.aezakmi.run:2087/api/get_current_user_profile \

--header ‘authorization: eyJsb2dpbiI6IktvbiJBZnNZamRmZWeitqMDZjY3lWRDhISXdTejVaMU1i==’ \

--header ‘content-type: application/json’ \

--data ‘{

“profileName”: “APITEST”,

“login”: “Konin”

}’

Пример на JS: https://ghostbin.co/paste/9p8xb

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

Затем вам необходимо будет начать взаимодействия с расширением браузера.

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

chrome-extension://mgcamgpggangcolfjanejmldolohpcig/

(у вас ID расширения может отличаться — уточните его на странице управления дополнениями в браузере Настройки-Дополнительние инструменты-Расширения)

Старт профиля

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

Например start_profile_api(fingerprintObject);

Профиль применяется примерно 20 секунд — после чего можно продолжать работать.

Проверка статуса.

После каждого нового применения профиля рекомендуем проверять статус его запуска с помощью вызова функции

check_status_api();

Она возвращает True или False.

Остановка профиля

Просто вызовите в консоли расширения функцию stop_profile_api(); без аргументов.

После того как поработали с отпечатком — необходимо обязательно останавливать профиль.

Механизм следующий

1 — Получаете объект отпечатка

2 — Стартуете профиль передав в функцию полученный отпечаток в качестве аргумента

3 — Проверяете статус

4 — Работаете

5 — Останавливаете профиль

6 — Получаете следующий отпечаток

7 — Снова стартуете профиль

….

9999 — Останавливаете профиль

_________________________________________________________________

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

Telegram: @aezakmisupport

Email: support@aezakmi.run

Сайт: www.aezakmi.run

ru.aezakmi.run Телеграм Поддержка: t.me/AezakmiSupport Email: support@aezakmi.run Тел: +7 (499) 490–76–62 YT: youtube.com/channel/UC0YYLsm-6l9HXcCG5gbBwMg

ru.aezakmi.run Телеграм Поддержка: t.me/AezakmiSupport Email: support@aezakmi.run Тел: +7 (499) 490–76–62 YT: youtube.com/channel/UC0YYLsm-6l9HXcCG5gbBwMg