Назад к блогу

Battery API fingerprinting: как Facebook и TikTok отслеживают вас через заряд батареи

Battery API позволяет сайтам отслеживать уровень заряда батареи и создавать уникальный цифровой отпечаток устройства. Разбираем как это работает и как защититься при работе с несколькими аккаунтами.

📅10 января 2026 г.

Если вы работаете с несколькими аккаунтами в Facebook Ads, Instagram или TikTok, то наверняка сталкивались с ситуацией: все настроено правильно — разные прокси, антидетект-браузер, уникальные куки — но аккаунты все равно связываются и банятся цепочкой. Одна из причин — Battery API fingerprinting, технология отслеживания через данные о батарее вашего устройства.

В этом руководстве разберем как работает этот метод отслеживания, почему он опасен для мультиаккаунтинга и как правильно настроить защиту в Dolphin Anty, AdsPower и других антидетект-браузерах.

Что такое Battery API и как он работает

Battery API (Battery Status API) — это стандартный веб-интерфейс, который позволяет сайтам получать информацию о состоянии батареи вашего устройства. Изначально технология создавалась для полезных целей: например, веб-приложение могло снизить качество видео при низком заряде батареи, чтобы продлить время работы устройства.

Через Battery API сайт может получить следующие данные:

  • Уровень заряда батареи — процент от 0 до 100%
  • Время до полной разрядки — в секундах при текущем уровне потребления
  • Время до полной зарядки — если устройство подключено к питанию
  • Статус зарядки — подключено ли устройство к сети или работает от батареи

Казалось бы, что опасного в этих данных? Проблема в том, что комбинация этих параметров создает практически уникальный цифровой отпечаток устройства. Вероятность того, что у двух разных пользователей в один момент времени будет абсолютно одинаковый уровень заряда (например, 73.4%), одинаковое время до разрядки (например, 8347 секунд) и одинаковый статус зарядки — крайне мала.

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

Как сайты получают данные Battery API

Технически это реализуется через простой JavaScript-код, который выполняется в браузере при загрузке страницы:

navigator.getBattery().then(function(battery) {
  console.log('Уровень заряда: ' + battery.level * 100 + '%');
  console.log('Время до разрядки: ' + battery.dischargingTime + ' сек');
  console.log('Время до зарядки: ' + battery.chargingTime + ' сек');
  console.log('Статус зарядки: ' + battery.charging);
  
  // Создание уникального fingerprint
  var batteryFingerprint = battery.level + '_' + 
                          battery.dischargingTime + '_' + 
                          battery.chargingTime + '_' + 
                          battery.charging;
});

Этот код выполняется незаметно для пользователя и отправляет данные на сервер платформы. Далее эти данные комбинируются с другими параметрами fingerprinting — разрешением экрана, часовым поясом, установленными шрифтами, WebGL-параметрами — и создается уникальный цифровой отпечаток устройства.

Почему Battery API опасен для мультиаккаунтинга

Для арбитражников, SMM-специалистов и всех, кто работает с несколькими аккаунтами, Battery API создает серьезную проблему: он позволяет платформам связывать аккаунты даже при использовании разных IP-адресов и браузерных профилей.

Сценарий 1: Работа с несколькими аккаунтами на одном ноутбуке

Представьте ситуацию: вы арбитражник, фармите 10 аккаунтов Facebook Ads на одном ноутбуке. Для каждого аккаунта настроены:

  • Отдельный профиль в Dolphin Anty или AdsPower
  • Уникальный резидентный прокси из разных стран
  • Разные User-Agent, разрешения экрана, языки
  • Уникальные куки и localStorage

Казалось бы, все идеально. Но вот проблема: все 10 аккаунтов работают на одном физическом устройстве с одной батареей. В 14:35 все они отправляют на сервер Facebook одинаковые данные:

  • Уровень заряда: 67.3%
  • Время до разрядки: 9234 секунды
  • Статус: не заряжается

Для алгоритмов Facebook это красный флаг: 10 разных "людей" из разных стран с разными устройствами имеют абсолютно идентичные параметры батареи в один момент времени. Вероятность такого совпадения — практически нулевая. Результат — все аккаунты связываются и банятся цепочкой (chain-ban).

Сценарий 2: SMM-агентство с аккаунтами клиентов

Еще более опасная ситуация для SMM-специалистов. Вы ведете 30 Instagram-аккаунтов разных клиентов с одного рабочего ноутбука. Если Instagram зафиксирует одинаковый Battery API fingerprint у всех этих аккаунтов, платформа может:

  • Пометить все аккаунты как подозрительные
  • Ограничить охваты и показы Stories
  • Заблокировать возможность запуска рекламы
  • В худшем случае — заблокировать аккаунты клиентов

Потеря клиентских аккаунтов — это не только финансовые убытки, но и репутационные риски для агентства.

Реальный случай: SMM-агентство потеряло 18 Instagram-аккаунтов клиентов за один день из-за chain-бана. Причина — все аккаунты велись с одного MacBook Pro, и Instagram зафиксировал идентичные данные Battery API. Финансовый ущерб составил более 400 000 рублей (потеря клиентов + восстановление аккаунтов).

Почему обычные методы защиты не работают

Многие арбитражники и SMM-специалисты думают, что достаточно использовать качественные прокси и антидетект-браузер. Но Battery API обходит эти защиты:

Метод защиты Защищает от Battery API? Почему не работает
Резидентные прокси Нет Battery API работает на уровне браузера, прокси не влияют на эти данные
Разные User-Agent Нет User-Agent меняет информацию о браузере, но не о батарее устройства
Очистка cookies Нет Battery API не использует cookies, работает через JavaScript
VPN вместо прокси Нет VPN меняет только IP-адрес, данные батареи остаются реальными
Антидетект-браузер (без настройки) Частично По умолчанию многие антидетекты не подменяют Battery API

Единственный надежный способ защиты — правильная настройка подмены Battery API в антидетект-браузере. Об этом подробно расскажем в разделе про настройку защиты.

Как Facebook, TikTok и Instagram используют данные батареи

Различные платформы используют Battery API fingerprinting с разной степенью агрессивности. Понимание этих различий поможет правильно настроить защиту для конкретных задач.

Facebook и Facebook Ads

Facebook использует один из самых продвинутых алгоритмов fingerprinting в индустрии. Battery API — это лишь один из 50+ параметров, которые платформа собирает для создания уникального отпечатка устройства. Facebook комбинирует данные батареи с:

  • WebGL fingerprint — параметры видеокарты и рендеринга
  • Canvas fingerprint — уникальный отпечаток через рендеринг графики
  • AudioContext fingerprint — параметры аудио-подсистемы
  • Список шрифтов — установленные в системе шрифты
  • Параметры экрана — разрешение, глубина цвета, соотношение сторон
  • Timezone и язык — часовой пояс и языковые настройки

Для Facebook Ads особенно критично: если платформа обнаружит, что несколько рекламных аккаунтов имеют идентичный Battery API fingerprint, это может привести к:

  • Мгновенному бану всех связанных аккаунтов
  • Блокировке Business Manager
  • Невозможности создать новые рекламные кабинеты
  • Бану по железу (hardware ban) — блокировка самого устройства

Instagram

Instagram (принадлежит Meta) использует похожие алгоритмы, но с некоторыми особенностями. Платформа более терпима к мультиаккаунтингу на мобильных устройствах (многие пользователи легально имеют несколько аккаунтов), но жестко банит подозрительную активность на десктопе.

Battery API в Instagram используется в связке с:

  • Паттернами поведения — время активности, скорость действий, интервалы между постами
  • Геолокацией — соответствие IP-адреса и timezone
  • Типом устройства — мобильное приложение vs веб-версия

Если вы ведете аккаунты клиентов через веб-версию Instagram с одного ноутбука, идентичный Battery API fingerprint может стать причиной теневого бана (shadowban) — когда аккаунт не заблокирован, но охваты падают до нуля.

TikTok и TikTok Ads

TikTok известен одной из самых агрессивных систем антифрода. Платформа активно использует Battery API для борьбы с:

  • Накруткой просмотров и лайков
  • Фармом аккаунтов для арбитража
  • Автоматизацией через боты

Особенность TikTok — платформа анализирует изменение уровня батареи во времени. Если несколько аккаунтов показывают абсолютно синхронное изменение заряда (например, все аккаунты за 30 минут разрядились с 85% до 78%), это явный признак работы с одного устройства.

Совет для арбитражников TikTok Ads: Используйте мобильные прокси в связке с правильной подменой Battery API. TikTok лояльнее к мобильному трафику, а мобильные IP меньше попадают под блокировки.

Google Ads и YouTube

Google использует Battery API менее агрессивно, чем Meta или TikTok, но все равно собирает эти данные. Основная цель — борьба с кликфродом (накруткой кликов по рекламе) и детектирование ботов.

Для арбитражников Google Ads критично:

  • Google редко банит аккаунты только по Battery API, но использует эти данные в комплексной оценке
  • Если у вас несколько рекламных аккаунтов с идентичным fingerprint, Google может ограничить расход бюджета
  • При подозрении на фрод Google может потребовать верификацию личности и бизнеса

Методы обнаружения Battery API fingerprinting

Прежде чем настраивать защиту, важно понимать как именно платформы используют Battery API для отслеживания. Это поможет выбрать правильную стратегию защиты.

Метод 1: Статический fingerprint (снимок в момент времени)

Самый простой метод — платформа собирает данные Battery API в момент загрузки страницы и сохраняет их как часть fingerprint. Например:

  • Пользователь А заходит в Facebook в 14:00 — уровень батареи 82%
  • Пользователь Б заходит в Facebook в 14:05 — уровень батареи 82%
  • Пользователь В заходит в Facebook в 14:10 — уровень батареи 81%

Если все три пользователя имеют идентичные или очень близкие значения других параметров (разрешение экрана, timezone, WebGL), платформа может предположить, что это один человек с разными аккаунтами.

Метод 2: Динамический анализ (отслеживание изменений)

Более продвинутый метод — платформа отслеживает как меняется уровень батареи во времени. JavaScript-код на странице периодически (например, каждые 5 минут) проверяет текущий уровень заряда и отправляет данные на сервер.

Это позволяет создать "график разрядки" устройства. Если несколько аккаунтов показывают абсолютно идентичный график — это явный признак работы с одного устройства.

// Пример кода для динамического отслеживания
var batteryLog = [];

navigator.getBattery().then(function(battery) {
  // Первая запись при загрузке страницы
  batteryLog.push({
    time: Date.now(),
    level: battery.level,
    charging: battery.charging
  });
  
  // Повторная проверка каждые 5 минут
  setInterval(function() {
    batteryLog.push({
      time: Date.now(),
      level: battery.level,
      charging: battery.charging
    });
    
    // Отправка данных на сервер
    sendToServer(batteryLog);
  }, 300000); // 5 минут
});

Метод 3: Кросс-браузерное отслеживание

Некоторые платформы используют Battery API для связывания активности пользователя в разных браузерах на одном устройстве. Например:

  • Пользователь заходит в Instagram через Chrome — батарея 65%
  • Через 10 минут заходит в TikTok через Firefox — батарея 64%
  • Еще через 15 минут заходит в Facebook через Edge — батарея 63%

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

Метод 4: Комбинация с другими fingerprinting-техниками

Battery API редко используется изолированно. Платформы комбинируют данные батареи с другими методами fingerprinting для повышения точности:

Метод fingerprinting Как комбинируется с Battery API Уровень угрозы
Canvas fingerprint Одинаковый Canvas + одинаковая батарея = высокая вероятность совпадения Высокий
WebGL fingerprint Параметры видеокарты + динамика батареи создают уникальный профиль устройства Высокий
Разрешение экрана Редкое разрешение + уникальная батарея = почти 100% идентификация Средний
Timezone Несоответствие timezone и IP может усилить подозрения при совпадении батареи Средний
Список шрифтов Уникальный набор шрифтов + батарея помогает точнее идентифицировать устройство Низкий

Настройка защиты в антидетект-браузерах

Теперь переходим к практике — как правильно настроить защиту от Battery API fingerprinting в популярных антидетект-браузерах. Рассмотрим пошаговые инструкции для Dolphin Anty, AdsPower, Multilogin и GoLogin.

Dolphin Anty — настройка Battery API

Dolphin Anty — один из самых популярных антидетект-браузеров среди арбитражников, особенно для работы с Facebook Ads и TikTok Ads. Браузер имеет встроенные функции подмены Battery API.

Пошаговая настройка:

  1. Откройте Dolphin Anty и создайте новый профиль (или откройте существующий для редактирования)
  2. В настройках профиля найдите раздел "Fingerprint" или "Отпечаток"
  3. Пролистайте до секции "Battery API" или "Батарея"
  4. Выберите режим работы Battery API:
    • Real (Реальный) — использует данные вашей реальной батареи (ОПАСНО для мультиаккаунтинга!)
    • Noise (Шум) — добавляет случайные отклонения к реальным данным (недостаточно для защиты)
    • Off (Выключено) — блокирует доступ к Battery API (может выглядеть подозрительно)
    • Custom (Кастомный) — позволяет задать свои значения (РЕКОМЕНДУЕТСЯ)
  5. Выберите режим "Custom" и задайте параметры:
    • Уровень заряда: случайное значение от 40% до 95% (избегайте 100% — это подозрительно)
    • Статус зарядки: случайно "charging" или "not charging"
    • Время до разрядки: рассчитывается автоматически на основе уровня заряда
  6. ВАЖНО: для каждого профиля задавайте РАЗНЫЕ значения Battery API. Не используйте одинаковые значения для разных аккаунтов!
  7. Сохраните настройки профиля

Рекомендация для Dolphin Anty: Используйте функцию "Randomize on each launch" (Рандомизировать при каждом запуске). Это автоматически будет менять уровень батареи при каждом запуске профиля, имитируя естественное изменение заряда.

Также включите синхронизацию с временем работы профиля — если профиль работает 2 часа, уровень батареи должен постепенно снижаться, имитируя реальное использование устройства.

AdsPower — защита от Battery fingerprinting

AdsPower популярен среди e-commerce специалистов и арбитражников, работающих с азиатскими платформами (AliExpress, Shopee, Lazada). Настройка Battery API здесь немного отличается.

Пошаговая инструкция:

  1. Откройте AdsPower и перейдите в раздел "Browser Profiles"
  2. Создайте новый профиль или отредактируйте существующий
  3. В настройках найдите вкладку "Advanced Settings" → "Hardware"
  4. Найдите параметр "Battery Status API"
  5. Доступны опции:
    • Automatic — AdsPower автоматически генерирует реалистичные значения
    • Manual — ручная настройка всех параметров
    • Disabled — полное отключение Battery API
  6. Рекомендуется выбрать "Manual" для полного контроля
  7. Задайте параметры:
    • Battery level: 45-90% (варьируйте для разных профилей)
    • Charging status: чередуйте true/false для разных профилей
    • Charging time: если charging = true, задайте реалистичное время (1800-7200 секунд)
    • Discharging time: если charging = false, задайте время разрядки (3600-14400 секунд)

Особенность AdsPower: браузер позволяет создавать "профили устройств" (device profiles), где можно сохранить набор параметров (включая Battery API) и применять их к нескольким профилям. Это удобно, но ОПАСНО — не используйте один device profile для нескольких аккаунтов на одной платформе!

Multilogin — профессиональная настройка

Multilogin — премиум антидетект-браузер с самыми продвинутыми возможностями fingerprint-защиты. Стоит дороже (от $99/месяц), но предлагает максимальный уровень защиты.

Настройка Battery API в Multilogin:

  1. Откройте Multilogin и создайте новый профиль (Mimic или Stealthfox)
  2. В разделе "Hardware" найдите "Battery Status"
  3. Multilogin предлагает три режима:
    • Real — реальные данные (не рекомендуется)
    • Mask — подмена с автоматической генерацией
    • Block — полная блокировка API
  4. Выберите "Mask" для подмены данных
  5. Включите опцию "Dynamic battery simulation" — это уникальная фича Multilogin, которая имитирует реалистичное изменение уровня батареи во времени
  6. Настройте параметры симуляции:
    • Starting level: начальный уровень заряда (50-95%)
    • Discharge rate: скорость разрядки в процентах в час (2-8% в зависимости от "типа устройства")
    • Charging behavior: как устройство ведет себя при зарядке

Multilogin также позволяет синхронизировать Battery API с другими параметрами. Например, если вы эмулируете старый ноутбук с слабой батареей, Multilogin автоматически установит более высокую скорость разрядки и меньшую емкость.

GoLogin — бюджетный вариант

GoLogin — более доступная альтернатива (от $24/месяц) с базовыми, но достаточными функциями защиты.

Настройка в GoLogin:

  1. Создайте или откройте профиль в GoLogin
  2. Перейдите в "Quick Settings" → "Advanced"
  3. Найдите секцию "Battery"
  4. По умолчанию GoLogin использует режим "Noise" — добавляет случайные отклонения к реальным данным. Этого недостаточно для серьезного мультиаккаунтинга!
  5. Переключите в режим "Custom" и задайте уникальные значения для каждого профиля
  6. Используйте функцию "Randomize" для автоматической генерации разных значений

Важное ограничение GoLogin: в отличие от Multilogin, GoLogin не имеет функции динамической симуляции батареи. Уровень заряда остается статичным на протяжении всей сессии. Это может быть подозрительно для платформ, которые отслеживают изменение батареи во времени (TikTok, Facebook).

Общие рекомендации по настройке Battery API

Независимо от выбранного антидетект-браузера, следуйте этим правилам:

  • Уникальность для каждого профиля — никогда не используйте одинаковые значения Battery API для разных аккаунтов
  • Реалистичные значения — избегайте экстремальных значений (5% или 100%). Оптимальный диапазон: 40-90%
  • Соответствие типу устройства — если эмулируете мобильное устройство, используйте меньшую емкость батареи. Для ноутбуков — большую
  • Логичное время разрядки — если уровень заряда 80%, время до полной разрядки не может быть 1 час. Это должно быть 4-8 часов для реалистичности
  • Чередование статуса зарядки — для разных профилей меняйте статус "charging" и "not charging"
  • Периодическое обновление — раз в 1-2 недели меняйте значения Battery API в профилях, имитируя естественное старение батареи

Реальные кейсы: когда Battery API приводит к банам

Рассмотрим реальные примеры из практики арбитражников и SMM-специалистов, когда игнорирование Battery API fingerprinting привело к серьезным проблемам.

Кейс 1: Chain-ban 15 аккаунтов Facebook Ads

Ситуация: Арбитражник фармил 15 рекламных аккаунтов Facebook Ads для продажи. Использовал Dolphin Anty, качественные резидентные прокси, уникальные креативы и посадочные страницы. Все аккаунты прошли модерацию, были залиты карты, запущены тестовые кампании.

Ошибка: В настройках Dolphin Anty для всех профилей был оставлен режим Battery API "Real" (по умолчанию). Все 15 аккаунтов работали с одного MacBook Pro.

Результат: Через 3 дня после запуска рекламы все 15 аккаунтов были заблокированы в течение 2 часов. Причина — Facebook зафиксировал идентичный Battery API fingerprint у всех аккаунтов. Даже после апелляций аккаунты не восстановили. Потери составили около $3,000 (стоимость фарма аккаунтов + залитые бюджеты).

Вывод: ВСЕГДА настраивайте уникальный Battery API для каждого профиля, даже если используете качественные прокси.

Кейс 2: Shadowban 20 Instagram-аккаунтов SMM-агентства

Ситуация: SMM-агентство вело 20 Instagram-аккаунтов клиентов (бизнес-профили с 10k-50k подписчиков). Использовали AdsPower, работали с одного офисного компьютера в две смены (2 SMM-менеджера).

Ошибка: Настройки Battery API были установлены в режим "Automatic", но AdsPower сгенерировал очень похожие значения для всех профилей (все показывали уровень заряда в диапазоне 75-78%).

Результат: Постепенно (в течение 2 недель) у всех аккаунтов начали падать охваты. Stories показывались только 5-10% подписчиков вместо обычных 30-40%. Посты перестали попадать в рекомендации. Классический shadowban. Восстановление заняло месяц — пришлось делать перерыв в активности, менять все fingerprint-параметры, использовать мобильные прокси.

Вывод: Не полагайтесь на автоматическую генерацию — проверяйте, что значения Battery API действительно различаются между профилями.

Кейс 3: Блокировка TikTok Ads аккаунта за "подозрительную активность"

Ситуация: Арбитражник запускал рекламу в TikTok Ads, использовал GoLogin с настроенными прокси. Аккаунт был зафармлен, верифицирован, залита корпоративная карта на $5,000.

Ошибка: В GoLogin был включен режим Battery API "Noise", который добавляет небольшие случайные отклонения к реальным данным. Проблема в том, что арбитражник работал с ноутбука, который всегда был подключен к сети (charging = true, level = 100%). Даже с "шумом" эти данные оставались подозрительно стабильными.

Результат: TikTok заблокировал рекламный аккаунт через 5 дней с формулировкой "suspicious activity detected". Апелляция не помогла. Пришлось фармить новый аккаунт, но уже с правильно настроенным Battery API (режим "Custom" с периодически меняющимися значениями).

Вывод: Режим "Noise" недостаточен для защиты. Используйте полную подмену (Custom/Mask) с реалистичными изменяющимися значениями.

Чек-лист безопасной работы с мультиаккаунтингом

Подводим итоги и составляем практический чек-лист для защиты от Battery API fingerprinting и других методов отслеживания.

Настройка антидетект-браузера

  • ✅ Используйте режим Custom/Mask для Battery API, а не Real или Noise
  • ✅ Для каждого профиля задавайте уникальные значения уровня заряда (разброс минимум 10-15%)
  • ✅ Чередуйте статус зарядки (charging/not charging) между профилями
  • ✅ Если браузер поддерживает динамическую симуляцию (Multilogin) — обязательно включите
  • ✅ Настройте автоматическое изменение Battery API при каждом запуске профиля
  • ✅ Проверьте другие fingerprint-параметры: Canvas, WebGL, AudioContext, список шрифтов
  • ✅ Используйте разные User-Agent и разрешения экрана для разных профилей

Работа с прокси

  • ✅ Используйте качественные резидентные прокси для критичных платформ (Facebook Ads, TikTok Ads)
  • ✅ Для Instagram и TikTok рассмотрите мобильные прокси — они реже попадают под блокировки
  • ✅ Один прокси = один аккаунт. Не используйте один IP для нескольких профилей
  • ✅ Убедитесь, что timezone в браузере соответствует геолокации прокси
  • ✅ Проверяйте прокси на утечки WebRTC и DNS

Паттерны поведения

  • ✅ Не работайте со всеми аккаунтами одновременно — делайте перерывы между сессиями