AEZAKMI API + интеграция с SELENIUM
API для партнеров и пользователей
Для интеграции в ПО и автоматизации работы с браузерными отпечатками AEZAKMI, в нашем сервисе предусмотрены вызовы API возвращающие ответы в формате JSON
Все API вызовы настроены на прием POST запроса с данными в JSON формате.
Для проверки вашей лицензии — в заголовке “authorization” каждого POST запроса на API Aezakmi требуется указывать ваш аутентификационный ключ
//Headers
authorization: "ApiKey"
Пример: authorization: eyJsb2dpbgiI6Im04bmc4dbCIsInBhc3N3b3JkIjoiOC96UTJEd3RSaf2VpOHJaOHdEOWZRdQXY2W45mxwR09TLzJ5TGN3dEx1a0FvVT0ifQ==
API Key можно получить, открыв выпадающее окно по кнопке расширения.
Необходимо нажать право клавишей на рабочую область расширения и выбрать “Просмотреть код”
После чего - в появившемся окне - необходимо перейти на вкладку “Console”, и ввести там:
localStorage.getItem("token")
Полученное значение и есть 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
Пример:
{
"profileName": "APITEST6667",
"login": "admin"
}
Взаимодействие с 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