Social Ops

Управление несколькими аккаунтами в социальных сетях через прокси

4 min read Published Updated 853 words

Платформы социальных сетей связывают аккаунты не магией, а агрегацией репутации IP, поведенческой кластеризацией и коллизиями браузерных отпечатков. Один прокси-IP, использованный для двух аккаунтов, — это прямая связь: такие платформы, как Meta и TikTok, рассматривают общие IP-адреса как индикатор общего владения с достоверностью 95%. Использование только прокси без изоляции IP для каждого аккаунта гарантирует обнаружение в течение нескольких дней.

Почему общие IP-сигнатуры вызывают связывание аккаунтов

Каждый HTTP-запрос несёт исходный IP. Платформы логируют этот IP вместе с идентификатором аккаунта, сессионным cookie и отпечатком устройства. Когда второй аккаунт аутентифицируется с того же IP, платформа выполняет межаккаунтное объединение по IP. Это не простое строковое сравнение — они используют кластеризацию подсетей (/24 для IPv4), пересечение ASN и временную близость. Если два аккаунта появляются с одного 203.0.113.0/24 в течение 24 часов, оценка риска резко возрастает. IP дата-центров особенно токсичны: 80% диапазонов дата-центров помечаются в течение 24 часов после первого использования командами по борьбе со злоупотреблениями в социальных сетях, согласно данным из баз качества IP, таких как ipqualityscore.com. Резидентные IP из пулов провайдеров работают лучше, но даже они группируются по ASN — два аккаунта, использующих разные IP от одного провайдера в одном городе, всё равно будут иметь общий префикс BGP, который платформы считают слабой связью.

Профили обнаружения мобильных, резидентных и дата-центровых IP

Мобильные IP поступают из диапазонов CGNAT (RFC 6598). Один мобильный IP может обслуживать тысячи пользователей — платформы это знают и считают пересечение мобильных IP шумом. Это не делает мобильные прокси безопасными. Операторы, такие как T-Mobile или Vodafone, назначают IP из известных ASN, и платформы ведут таблицы репутации по каждому оператору. Если вы маршрутизируете все аккаунты через одного мобильного оператора, вы всё равно делитесь сигналом ASN. Резидентные прокси от провайдеров (Comcast, Deutsche Telekom) обеспечивают лучшую анонимность на IP, но их пулы IP часто быстро перераспределяются — прокси-IP, использованный сегодня для одного аккаунта, завтра может быть назначен другому пользователю, нарушая привязку сессии. Прокси дата-центров — худшие: они дешёвые, быстрые и сразу помечаются. Платформы выполняют whois-запросы и проверяют записи PTR; обратный DNS, указывающий на server.provider.com, — мгновенный красный флаг. Для продуктивных многоаккаунтных настроек используйте резидентные или мобильные прокси с выделенными IP, которые никогда не используются повторно для разных аккаунтов.

Постоянные сессии на аккаунт — привязка IP обязательна

Каждый аккаунт должен быть привязан к одному прокси-IP на весь свой жизненный цикл. Постоянство сессии предотвращает обнаружение платформой смены IP, что само по себе является подозрительным сигналом. Простейшая реализация — файл конфигурации прокси для каждого аккаунта. Ниже приведена функция bash, которая запускает запрос curl с выделенным прокси и случайным user-agent:

function acct_request() {
  local account_id="$1"
  local proxy_ip="$2"
  local proxy_port="$3"
  local ua=$(shuf -n1 /path/to/user_agents.txt)
  curl --proxy "socks5://$proxy_ip:$proxy_port" \
       --proxy-user "user:pass" \
       -H "User-Agent: $ua" \
       --cookie "session_$account_id=..." \
       --cookie-jar "/tmp/cookies_$account_id.txt" \
       "https://platform.com/api/endpoint"
}

Этот скрипт сохраняет назначение прокси постоянным для каждого идентификатора аккаунта. Для автоматизации браузера используйте Puppeteer с прокси на страницу через --proxy-server и выделенный контекст браузера. Никогда не делите прокси между аккаунтами — даже один запрос с общего IP будет залогирован и может вызвать ретроспективное связывание, когда один из аккаунтов будет помечен.

Изоляция браузерного отпечатка вместе с изоляцией прокси

IP — лишь одно из измерений. Платформы также собирают canvas-отпечатки, WebGL-рендерер, установленные шрифты, часовой пояс и navigator.hardwareConcurrency. Два аккаунта, имеющие одинаковый браузерный отпечаток, но разные IP, связываются с высокой достоверностью — отпечаток часто стабильнее IP. Вы должны изолировать отпечатки для каждого аккаунта. Используйте отдельные профили браузера (Chrome --user-data-dir) или headless-браузеры с библиотеками рандомизации отпечатков, такими как puppeteer-extra-plugin-stealth. Даже в этом случае существуют тонкие утечки: флаг navigator.webdriver, наличие chrome.runtime и утечка локального IP через WebRTC. Отключите WebRTC в браузере или маршрутизируйте его через тот же прокси. Частая ошибка — использование резидентного прокси при включённом WebRTC: браузер утечёт реальный IP через STUN-запросы, мгновенно сводя на нет прокси.

Каскадный риск массовой блокировки

Когда один аккаунт помечается за спам, нарушение политики или автоматизированное поведение, платформа не останавливается на этом аккаунте. Она выполняет обратное сканирование: все аккаунты, когда-либо использовавшие тот же IP, тот же браузерный отпечаток или даже тот же шаблон входа (например, одинаковое время активности в течение дня), ставятся в очередь на проверку. Это каскад массовой блокировки. Один скомпрометированный прокси-IP может уничтожить 50 аккаунтов, если вы его повторно использовали. Хуже того, платформы обмениваются данными об угрозах — Facebook ThreatExchange от Meta и reCAPTCHA Enterprise от Google обмениваются хешами IP и отпечатков друг с другом. Помеченный IP в Instagram может вызвать блокировку в WhatsApp или Facebook. Единственная защита — строгая изоляция: один IP, один отпечаток, один аккаунт. Никакой общей инфраструктуры. Используйте отдельные виртуальные машины или Docker-контейнеры с конфигурацией прокси и отпечатка для каждого контейнера. Еженедельно проверяйте свой пул прокси на наличие IP в чёрных списках с помощью таких инструментов, как API virustotal или ip-api.com — если IP появляется в любой базе злоупотреблений, немедленно удаляйте его и переносите аккаунт на новый IP. Стоимость одного каскада блокировок на порядки выше, чем стоимость поддержания выделенных прокси-ресурсов для каждого аккаунта.