TikTok через IPv6 прокси: почему автопостинг с одного ASN вызывает теневой бан и как его избежать
Содержание
- Почему TikTok душит автопостинг с одного ASN
- Что именно анализирует TikTok на сетевом уровне
- Почему IPv4-прокси уже не работают
- Как выглядит теневой бан в цифрах
- Архитектура IPv6-прокси для TikTok: что реально работает
- Настройка прокси в Python: рабочий пример
- Проверка: с какого префикса вы выходите
- Реальные примеры из практики
- Таблица: сравнение подходов
- Тайминги и поведенческие сигналы
- Что делать с DNS и утечками
- Итог: что важно помнить
Почему TikTok душит автопостинг с одного ASN
TikTok — это не просто видеоплатформа. Это рекомендательная система, которая оценивает каждый аккаунт по сотням сигналов. Один из самых весомых — сетевой отпечаток. Когда десять аккаунтов заходят с одного /64 префикса, с одинаковым TLS-фингерпринтом и постят в одно и то же время — алгоритм помечает их как ферму. Дальше идёт теневой бан: ролики не попадают в раздел «Для вас», просмотры падают до 20-50 на видео, хотя формально аккаунт жив.
Проблема в том, что TikTok смотрит не только на IP. Он собирает комбинацию: ASN, диапазон адресов, поведение соседей по подсети, HTTP-заголовки, порядок TLS-хендшейка, тайминги. Если вся эта картина повторяется у десятка аккаунтов — бан прилетает быстрее, чем вы успеваете залить первое видео.
Разберём, как устроена эта логика на сетевом уровне, почему IPv4-прокси уже не спасают и как правильно построить IPv6-инфраструктуру, чтобы аккаунты не склеивались.
Что именно анализирует TikTok на сетевом уровне
Первым делом TikTok резолвит IP клиента и прогоняет его через внутреннюю базу. Смотрит на ASN — это номер автономной системы, то есть провайдера. Если ASN принадлежит хостингу (DigitalOcean, Hetzner, OVH), а не жилому провайдеру (Comcast, Deutsche Telekom, Ростелеком), это уже минус. Датацентровые IP по умолчанию менее «человечные».
Дальше — префикс. Для IPv6 это /64, реже /48. TikTok группирует адреса по префиксу и смотрит, сколько аккаунтов с него заходило за последние сутки. Если с одного /64 пришло 30 регистраций — это красный флаг. Причём даже если адреса разные (2001:db8:abcd:1::1, ::2, ::3), префикс-то один.
Третий слой — TLS-фингерпринт. TikTok использует собственный SDK и мобильное приложение, но в веб-версии и API-эндпоинтах проверяется JA3/JA4-хэш. Если у вас Python-скрипт на `requests`, а заявлен как Android-клиент — несоответствие. Это как прийти на собеседование в пижаме: формально вы кандидат, но HR уже сомневается.
Плюс заголовки: `User-Agent`, `Accept-Language`, `Sec-CH-UA`, порядок заголовков. Всё это складывается в отпечаток.
Почему IPv4-прокси уже не работают
IPv4-адресов мало. Пул чистых residential-адресов стоит дорого, а датацентровые давно выжжены. TikTok знает большинство крупных прокси-провайдеров по ASN и диапазонам — они в чёрных списках с 2022-2023 годов.
IPv6 даёт другую математику. Один /64 — это 18 квинтиллионов адресов. Провайдер может выдать клиенту /64, и каждый адрес внутри будет выглядеть как отдельный хост. Но именно здесь и зарыт главный подвох: если все адреса из одного /64 идут на один и тот же сервис с одинаковыми параметрами — TikTok видит паттерн. Дело не в количестве адресов, а в том, как они используются.
Кроме того, IPv6-адреса часто привязаны к ASN хостера. Если вы арендовали VPS в Hetzner и навесили /64 — все адреса будут числиться за AS24940. Это датацентр, и TikTok это знает.
Как выглядит теневой бан в цифрах
Теневой бан — это не бинарное состояние. Есть градации. При первом подозрении TikTok режет охват: видео показываются только подписчикам и в геолокации с низким приоритетом. Просмотры падают с типичных 500-2000 (для нового аккаунта) до 20-80. Лайки — с 5-10% до 0.5-1%.
При повторных сигналах аккаунт попадает в «серую зону»: регистрация проходит, но видео не индексируются в поиске, хэштеги не работают. И только на третьей стадии — блокировка с формулировкой «нарушение правил сообщества», хотя реальная причина — сетевые сигналы.
Восстановление занимает от 2 недель до бесконечности. Иногда проще создать новый аккаунт, чем вытащить старый.
Архитектура IPv6-прокси для TikTok: что реально работает
Ключевая идея — каждый аккаунт должен выглядеть как отдельный пользователь из отдельной сети. Не просто отдельный IP, а отдельный префикс, отдельный ASN (в идеале), отдельный TLS-отпечаток.
На практике это означает: не сажать 50 аккаунтов на один /64. Даже если адреса разные. TikTok группирует по префиксу, и /64 — минимальная единица группировки для IPv6.
Хорошая схема: один аккаунт = один /64 префикс = один ASN (или хотя бы разные /48). Если провайдер выдаёт /48 — можно нарезать 65536 подсетей /64 и раскидать аккаунты. Если только /64 — придётся комбинировать с IPv4 или искать провайдера с большим пулом.
Сервис lexic.ml, работающий с 2015 года, как раз выдаёт IPv6-прокси с индивидуальными префиксами — это позволяет разнести аккаунты по разным /64, чтобы TikTok не склеивал их в одну ферму. Плюс поддерживаются разные ASN, что добавляет разнообразия в сетевой отпечаток.
Настройка прокси в Python: рабочий пример
Покажу, как подключить IPv6-прокси через `requests` с кастомными заголовками. Важно: `requests` не поддерживает SOCKS5 из коробки, нужен `requests[socks]`.
```python
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
PROXY = "socks5h://user:pass@[2001:db8:abcd:1::42]:1080"
session = requests.Session()
session.proxies = {"http": PROXY, "https": PROXY}
headers = {
"User-Agent": "Mozilla/5.0 (Linux; Android 13; SM-S908B) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36",
"Accept-Language": "en-US,en;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Sec-CH-UA": '"Chromium";v="119", "Not?A_Brand";v="24"',
"Sec-CH-UA-Mobile": "?1",
"Sec-CH-UA-Platform": '"Android"',
}
retry = Retry(total=3, backoff_factor=0.5, status_forcelist=[429, 500, 502, 503])
session.mount("https://", HTTPAdapter(max_retries=retry))
resp = session.get("https://www.tiktok.com/api/user/detail/", headers=headers, timeout=15)
print(resp.status_code, resp.headers.get("x-tt-logid"))
```
Обратите внимание на `socks5h://` — буква `h` означает, что DNS-резолв идёт через прокси, а не локально. Без неё TikTok увидит ваш реальный DNS-запрос и спалит.
Заголовки `Sec-CH-UA-*` обязательны для мобильного отпечатка. Без них сервер поймёт, что клиент не настоящий браузер.
Проверка: с какого префикса вы выходите
Перед запуском автопостинга проверьте, что видит TikTok. Простой curl-запрос к эхо-сервису:
```bash
curl -6 -x "socks5h://user:pass@[2001:db8:abcd:1::42]:1080" \
-H "User-Agent: Mozilla/5.0" \
https://api64.ipify.org?format=json
```
Ответ покажет ваш IPv6-адрес. Дальше проверьте, к какому ASN он относится — через `whois` или сервисы вроде `bgp.he.net`. Если ASN совпадает у нескольких аккаунтов — перераспределяйте.
Ещё один тест — TLS-фингерпринт. Утилита `curl_cffi` умеет эмулировать отпечатки Chrome и Safari:
```bash
pip install curl_cffi
python -c "
from curl_cffi import requests
r = requests.get('https://tls.peet.ws/api/all', impersonate='chrome119', proxies={'https': 'socks5h://user:pass@[2001:db8:abcd:1::42]:1080'})
print(r.json()['tls']['ja3_hash'])
"
```
Сравните JA3-хэш с эталонным для реального Chrome на Android. Если расходится — TikTok это увидит.
Реальные примеры из практики
**Первый пример.** Клиент запустил 40 аккаунтов на одном /64 от Hetzner (AS24940). Первую неделю всё работало: 500-800 просмотров на видео. На восьмой день все аккаунты одновременно упали до 30-50 просмотров. Причина: TikTok сгруппировал по префиксу и ASN, увидел 40 аккаунтов с одного датацентрового диапазона. Решение: перевели на 40 разных /64 из residential-ASN (по одному аккаунту на префикс). Через 10 дней охваты восстановились до 400-600.
**Второй пример.** Другой клиент использовал IPv6-прокси, но все запросы шли с одинаковым `User-Agent` от десктопного Chrome. TikTok определил это как автоматизацию — мобильное приложение так не ходит. Плюс `Accept-Language` был `en-US` у всех, хотя аккаунты зарегистрированы на разные гео. Исправили: рандомизировали `User-Agent` по реальным моделям Android, привязали `Accept-Language` к гео аккаунта. Охваты выросли на 60% за две недели.
**Третий пример.** Клиент арендовал /48 в OVH (AS16276) и нарезал 200 подсетей /64. Формально префиксы разные, но ASN один. TikTok всё равно склеил аккаунты — по ASN. Пришлось докупать префиксы в других ASN: смесь residential-провайдеров из США, Германии, Бразилии. После этого аккаунты перестали «дружить» между собой, и теневые баны прекратились.
Таблица: сравнение подходов
| Подход | ASN | Префикс | Риск бана | Стоимость |
|---|---|---|---|---|
| Один /64, много IP | 1 датацентровый | 1 × /64 | Высокий | Низкая |
| Много /64, один ASN | 1 датацентровый | N × /64 | Средний | Средняя |
| Много /64, разные ASN | N residential | N × /64 | Низкий | Высокая |
| IPv4 residential | N residential | N /32 | Низкий | Очень высокая |
Цифры по стоимости условные — зависят от провайдера. Но логика простая: чем больше разнообразия в сетевом отпечатке, тем ниже риск.
Тайминги и поведенческие сигналы
Сеть — не единственное. TikTok смотрит на паттерны активности. Если 20 аккаунтов постят видео в 14:00:00 ± 30 секунд — это бот. Реальные люди так не делают.
Разносите постинг по времени. Минимум 15-20 минут между публикациями с разных аккаунтов. Идеально — привязать к часовому поясу гео аккаунта: пользователь из Лос-Анджелеса постит вечером по PST, а не утром по UTC.
Ещё один сигнал — пауза между регистрацией и первым постом. Если аккаунт создан и через 5 минут залил видео — подозрительно. Нормальный пользователь сначала листает ленту, лайкает, подписывается. Минимум 2-3 дня «прогрева» перед первым постом.
Что делать с DNS и утечками
IPv6-прокси часто настраивают так, что DNS-запросы уходят в обход туннеля. TikTok видит ваш реальный резолвер — и это палево. Используйте `socks5h://` (с резолвом на стороне прокси) или настраивайте DNS через прокси-сервер.
Проверить утечку можно на `dnsleaktest.com` через браузер, настроенный на прокси. Или через curl:
```bash
curl -6 -x "socks5h://user:pass@[2001:db8:abcd:1::42]:1080" \
https://1.1.1.1/cdn-cgi/trace
```
В ответе будет строка `ip=` — она должна совпадать с адресом прокси. Если там ваш реальный адрес — утечка.
Итог: что важно помнить
TikTok не блокирует за один IP. Он блокирует за паттерн. Один аккаунт с датацентрового IPv6 может работать годами. Двадцать аккаунтов с одного /64 — умрут за неделю.
Разнообразие по ASN, префиксу, TLS-отпечатку и поведению — вот что решает. IPv6 даёт масштаб, но без правильной нарезки префиксов и разных ASN он превращается в тыкву. Проверяйте, что видит TikTok, тестируйте на 2-3 аккаунтах перед масштабированием, и не забывайте про тайминги. Сеть — это половина дела, вторая половина — как вы себя ведёте.