Wildberries, Ozon и Сбер начали блокировать VPN-пользователей: как приложения определяют, что у вас включен VPN — актуализация 2026
Wildberries, Ozon и Сбер начали блокировать VPN-пользователей: как приложения определяют, что у вас включен VPN
Архивное переиздание с актуализацией. Оригинал опубликован на Habr (2026), автор — неизвестен. оригинал доступен на Habr по состоянию на ноябрь 2026. Ниже — редакция ноября 2026: что работает сейчас, что изменилось и как правильно повторить рецепт сегодня. Полный текст оригинала — в конце, без купюр.
TL;DR — версия 2026
Теория «VPN vs Proxy vs Tor» не изменилась с 2019 года; изменился выбор: в 2026 для РФ — AmneziaWG или VLESS+REALITY, BYE-DPI для лёгких случаев, и никогда — «бесплатный VPN» из стора.
Оригинал — лучший разбор «что вообще есть что» своего времени. Картинка не поменялась: прокси — это «только веб, без шифрования выше уровня», VPN — «весь трафик, L3-туннель», Tor — «луковая цепочка, медленно, но анонимно». Изменился контекст: ТСПУ (DPI-боксы) стоят у всех крупных российских провайдеров и умеют резать VPN-хендшейки WireGuard, OpenVPN и «голый» Shadowsocks, в 2026 году вступили в силу поправки о «поиске экстремистских материалов», по которым поисковики и мессенджеры обязаны скрывать доступ к запрещённому, а раздача инструкций по обходу начинает приравниваться к «пропаганде средств обхода» — и выбор «какой VPN поднять себе» стал вопросом выживания канала, а не вкуса.
Статус оригинала
- URL: https://habr.com/ru/articles/1021392/
- Статус на Habr: ЖИВА
- Картинки: 0/0 сохранено локально
Выбор схемы под задачу (ноябрь 2026)
- «Открыть заблокированный сайт» → ByeDPI/Zapret/SpoofDPI (без VPN вообще);
- «YouTube не тормозит» → то же + выбор провайдера, где ТСПУ мягче;
- «Личный VPN на все случаи» → AmneziaWG на своём VPS (просто) или VLESS+REALITY (маскировка 5-го уровня);
- «Анонимно почитать» → Tor с Snowflake;
- «Корпоративный удалённый доступ» → OpenVPN/TLS или Headscale/Tailscale — вне этой войны;
- «Смартфон» → AmneziaVPN/Hiddify self-hosted.
Про что в 2026 думать обязательно (чего не было в оригинале)
- утечки DNS: туннель без своего резолвера = «туда же, только с флагом»;
- IPv6-обход: у части провайдеров v6 не фильтруется — и это и выход, и дыра;
- kill switch: WireGuard
AllowedIPs = 0.0.0.0/0+ fw, иначе при обрыве трафик уходит напрямую; - юрридикация VPS: сервер в РФ = читать чужие письма; Нидерланды/Финляндия/Германия — норм по латентности;
- MTU/фрагментация: GSO/CDN-маршруты любят ломать большие пакеты — 1280 спасает.
Что изменилось с 2026 года
- PPTP/L2TP-разделы устарели навсегда
- появились протоколы маскировки (Reality, AWG), которых в оригинале не существовало
- у провайдеров появились ТСПУ и «замедлители» отдельных сервисов
- VPN-обзоры и гайды с российских сайтов удаляются — сохраняйте локально
Чек-лист 2026
- понимать, что именно вы обходите: IP-блок, DPI, SNI или geo
- выбрать схему по таблице выше
- свой DNS внутри туннеля
- kill switch на клиенте
- копия гайдов — в офлайн-архив
Вердикт
Как учебник «что такое VPN» статья не устареет никогда. Как практический гайд — замените раздел выбора протокола на таблицу 2026 выше, и это снова лучшая вводная на русском языке.
ОРИГИНАЛ СТАТЬИ (без изменений)
В прошлой статье я разбирал, как операторы связи определяют VPN через DPI и ТСПУ. Но за последнюю неделю ситуация изменилась радикально: теперь VPN определяют не только операторы, но и сами приложения — Wildberries, Ozon, ВкусВилл, Шоколадница и другие.
Wildberries показывает плашку: «У вас включен VPN? Лучше его отключить». Ozon выдаёт «Что-то с интернетом». Карточки товаров не грузятся, фото пропадают, оформить заказ нельзя. Выключаешь VPN — всё работает.
Это не случайный баг. Минцифры в конце марта провело закрытое совещание с 20+ компаниями (Яндекс, Сбер, VK, Ozon, Wildberries, Авито, X5, HeadHunter, ЦИАН и другие) и выдало методичку: к 15 апреля ограничить доступ пользователям с VPN. Кто не выполнит — рискует вылететь из «белых списков».
Давайте разберём, как технически приложение на вашем телефоне определяет, что VPN включен. Это другой уровень по сравнению с DPI на стороне оператора.
Раньше vs сейчас: кто определяет VPN
До апреля 2026 всё работало так: ТСПУ на стороне оператора анализирует трафик и блокирует VPN-протоколы. Приложения ничего не знали.
Сейчас добавился второй эшелон: приложение само определяет VPN и ограничивает функциональность. Даже если ТСПУ пропустило ваш трафик — приложение может вас поймать самостоятельно.
Это принципиально меняет расклад. DPI можно обойти обфускацией протокола. Приложение на вашем телефоне — обойти сложнее, потому что оно работает внутри устройства.
Метод 1: проверка сетевых интерфейсов (Android)
Самый простой и распространённый способ. На Android любое приложение может проверить наличие активного VPN-интерфейса через ConnectivityManager или NetworkInterface:
// Способ через ConnectivityManager
val cm = getSystemService(Context.CONNECTIVITY_SERVICE)
as ConnectivityManager
val activeNetwork = cm.activeNetwork
val caps = cm.getNetworkCapabilities(activeNetwork)
val isVpn = caps?.hasTransport(
NetworkCapabilities.TRANSPORT_VPN
) == true
// Способ через NetworkInterface
val interfaces = NetworkInterface.getNetworkInterfaces()
while (interfaces.hasMoreElements()) {
val iface = interfaces.nextElement()
if (iface.name.startsWith("tun") ||
iface.name.startsWith("ppp")) {
// VPN обнаружен
}
}
VPN-приложения создают виртуальный сетевой интерфейс — обычно tun0. Его наличие — прямой признак VPN. Не нужен root, не нужны специальные разрешения. Любое приложение может это проверить.
Мессенджер Max (бывший VK Мессенджер) уже использует этот метод и, по данным экспертов, передаёт информацию о VPN-подключениях, которая используется для блокировки IP-адресов VPN-серверов.
Метод 2: проверка IP-адреса через серверную сторону
Приложение при каждом запросе отправляет на свой сервер IP-адрес клиента. Сервер проверяет его по базам данных VPN/прокси-IP (MaxMind, IP2Proxy и аналоги).
Это тот же метод, который используют Netflix и стриминги. Но теперь его применяют российские маркетплейсы.
Плюс для разработчика: не нужно менять код приложения. Достаточно добавить проверку на бэкенде. Минус: если VPN-сервер использует «чистый» резидентный IP — проверка не сработает.
Метод 3: DNS-leak и рассинхронизация данных
Приложение может сравнить несколько источников информации о геолокации пользователя:
IP-адрес → определяет одну страну
GPS → определяет другую
SIM-карта (MCC/MNC) → определяет третью
Язык системы, часовой пояс → четвёртый и пятый сигнал
Если IP говорит «Нидерланды», а SIM-карта — «Россия», GPS — «Москва» и язык системы — русский, вывод очевиден: VPN.
Каждый сигнал по отдельности ненадёжен, но в совокупности — работает точно. Именно поэтому некоторые приложения «ловят» VPN даже когда IP-адрес не в базе VPN-серверов.
Метод 4: анализ маршрутизации (iOS — сложнее)
На iOS Apple ограничивает доступ приложений к сетевым интерфейсам. Проверить tun0 напрямую нельзя. Минцифры признаёт, что на iPhone реализовать детекцию VPN сложнее.
Но есть обходные пути: проверка через getifaddrs() (C-функция, доступная из Swift), анализ времени ответа (VPN добавляет задержку), проверка DNS-резолвинга. Менее надёжно, чем на Android, но работает.
Метод 5: белые списки и «методичка Минцифры»
Самое интересное — «белые списки». Это перечень из 120+ российских сервисов (Госуслуги, банки, маркетплейсы, СМИ, онлайн-кинотеатры), которым ТСПУ не мешает. Трафик к этим сервисам не фильтруется и не замедляется.
Условие попадания в белый список: сервис должен сам ограничивать VPN-пользователей. Если не ограничивает — может вылететь из списка. А вылететь из белого списка значит попасть под общую фильтрацию ТСПУ — замедление, перебои, жалобы пользователей.
То есть Минцифры создало экономический стимул: хочешь стабильную работу своего сервиса — борись с VPN за нас.
Что это значит для разработчиков
Если вы разрабатываете приложение для российского рынка и оно попадёт в белые списки — вам придётся внедрять VPN-детекцию. Это уже не рекомендация, а условие стабильной работы.
С технической точки зрения реализация простая — 10 строк кода на Android, чуть сложнее на iOS. Вопрос скорее этический: хотите ли вы, чтобы ваше приложение определяло VPN у пользователя и передавало эту информацию.
Что делать пользователям
Если вы пользуетесь VPN и российскими сервисами одновременно — варианты:
Split tunneling. Настройте VPN так, чтобы трафик к российским сервисам шёл напрямую, а через VPN — только то, что нужно. Большинство VPN-клиентов поддерживают это (исключения по приложениям или по домену).
Два профиля. На Android можно использовать рабочий профиль или Island/Shelter для изоляции приложений. В одном профиле — VPN и то, что нужно через VPN. В другом — российские приложения без VPN.
Отключать перед заходом. Самый простой вариант, который и предлагают сами приложения.
Что будет дальше
Дедлайн — 15 апреля. После этого все 120+ сервисов из белого списка должны ограничивать VPN-пользователей. К 1 мая — плата за международный трафик свыше 15 ГБ у операторов.
39% россиян пользуются VPN — это плюс 8 процентных пунктов с начала 2026 года. Запросы «VPN» в Яндексе достигли 3 миллионов в неделю — уровень весны 2022-го.
Парадокс тот же, что и с ТСПУ: чем агрессивнее борьба с VPN, тем больше людей его используют. Только теперь в эту борьбу включились не только операторы, но и сами приложения.
Ваши приложения уже показывают предупреждение о VPN? Как решаете — split tunneling, отключение, или что-то другое?