Что на Android решает задачу, а что нет
Разделите два уровня. Клиент на телефоне — это только «труба»: он заворачивает трафик в протокол (VLESS, Reality, XHTTP). Сервер и его маскировка определяют, пройдёт ли эта труба через фильтр оператора.
Когда оператор в режиме ограничений оставляет доступ только к белому списку (по наблюдениям пользователей — госуслуги, банки, крупные маркетплейсы, иногда CDN Яндекса и VK; точный состав операторы не публикуют), решает не приложение, а адрес, на который оно стучится. Сервер на обычном IP дата-центра — соединения не будет ни в одном клиенте. Трафик выходит через whitelisted-домен CDN — подключение проходит.
Поэтому выбор Android-клиента влияет на удобство и стабильность, но обход белого списка обеспечивает конфигурация сервера. Почему так устроен сам фильтр — не пересказываем; подробный разбор есть в статье об обходе белых списков, здесь только практика под Android.
Клиенты для Android: что ставить
Все актуальные клиенты работают по подписке (одна ссылка со списком серверов) и различаются интерфейсом и набором протоколов.
- Happ — проще всего для новичка: импорт подписки по ссылке или QR, авто-выбор рабочего сервера, поддержка Reality и XHTTP. Вариант «поставил и работает».
- v2rayNG — максимально гибкий: VLESS/VMess/Trojan/Shadowsocks, ручная правка конфигов, тест задержки по каждому серверу. Для тех, кому нужен контроль.
- Hiddify (на движке sing-box) — удобная подписка, роутинг по правилам, тянет сложные конфигурации.
- NekoBox for Android — sing-box/xray, гибкий роутинг и split-tunneling.
- sing-box (SFA) — официальный клиент под готовый JSON-конфиг.
Для белых списков берите клиент с поддержкой Reality и XHTTP — эти транспорты чаще всего идут в связке с CDN-фронтингом. Happ и Hiddify поддерживают их из коробки; v2rayNG — начиная со свежих версий (XHTTP появился недавно, старые сборки его не знают).
Пошаговая настройка подписки (Happ и v2rayNG)
Порядок почти одинаковый, отличаются только подписи кнопок.
Happ:
- Установите Happ из магазина или APK от провайдера подписки.
- Скопируйте ссылку-подписку (вида
https://.../sub/...). - Нажмите + → «Добавить по ссылке» или отсканируйте QR.
- Дождитесь загрузки серверов, выберите узел, нажмите кнопку подключения.
- При первом запуске Android запросит разрешение на VPN — подтвердите.
v2rayNG:
- + справа вверху → «Импорт из URL подписки» (или из буфера обмена, скопировав ссылку заранее).
- Меню (три точки) → «Обновить подписки», чтобы подтянулись серверы.
- «Test all configurations» (иконка молнии) — выбирайте сервер с реальным пингом, а не «-1ms».
- Кнопка подключения внизу.
Если подписка «пустая» или узел не выбирается — сначала обновите подписку принудительно: Android-клиенты кешируют старый список.
Почему нужен сервер за whitelisted-CDN, а не «быстрый VPN»
Это ключевой момент для белых списков, и его не решает ни одно приложение.
Обычный VPN-сервер стоит на IP дата-центра. В штатном режиме он работает, но при веерном отключении оператор режет всё, кроме белого списка, — и дата-центровый IP туда не входит. Клиент на Android будет честно пытаться подключиться и показывать «нет соединения».
Обход строится иначе: клиент подключается не напрямую к серверу, а к домену легального CDN, который у оператора уже в белом списке. CDN проксирует трафик до вашего сервера. Снаружи это выглядит как обращение к разрешённому ресурсу и проходит фильтр. Отсюда частый эффект «в одном приложении работает, в другом нет»: важно, чтобы клиент корректно поддерживал транспорт фронтинга — обычно это XHTTP через CDN, где обязателен явный режим и работа через GET-запросы.
Для операторов и сервисов этот слой выносят отдельно — подход whitelist-CDN, когда фронт-домен легального CDN становится точкой входа, а трафик «выглядит белым». Пользователю достаточно знать: если сервис не за whitelisted-ресурсом, никакая настройка Android-клиента белый список не обойдёт.
Диагностика: подключается, но интернета нет
Самая частая проблема на Android — разбираем по симптомам.
«Подключено», но сайты не грузятся:
- Сервер, скорее всего, не за whitelisted-CDN: соединение до CDN есть, а дальше трафик режется. Проверьте тот же сервер в обычной сети (Wi-Fi без ограничений) — если там работает, а в мобильной блокировке нет, дело в маскировке сервера, не в телефоне.
- DNS: включите в клиенте (Hiddify/NekoBox/sing-box) DoH/DoT-резолвер — системный DNS в режиме ограничений тоже может не отвечать.
Клиент вообще не подключается:
- Обновите подписку — список серверов мог протухнуть.
- Переключайтесь между узлами: часть может быть на дата-центровых IP, часть — за CDN.
- Проверьте, поддерживает ли клиент транспорт конфига (Reality/XHTTP). Старая версия v2rayNG может не знать XHTTP — обновите приложение.
Android-специфика:
- Отключите оптимизацию батареи для клиента (Настройки → Приложения → клиент → Батарея → «Без ограничений»), иначе система рвёт VPN в фоне.
- Убедитесь, что не включён второй VPN или Private DNS, конфликтующий с клиентом.
- «Всегда включённый VPN» (Настройки → Сеть → VPN) держит туннель, но при нерабочем сервере она же блокирует весь интернет.
Чек-лист обхода белых списков на Android
Короткий порядок, чтобы не гадать:
- Поставьте один клиент с поддержкой Reality/XHTTP: для простоты Happ, для контроля v2rayNG или Hiddify.
- Импортируйте подписку по ссылке или QR, обновите список серверов.
- Убедитесь, что сервис использует сервер за whitelisted-CDN — без этого обход невозможен. Это вопрос к провайдеру подписки, а не к телефону.
- Отключите оптимизацию батареи для клиента, включите DoH-DNS.
- Прогоните тест задержки, выберите живой узел.
- Если «подключено, но нет сети» — проблема почти всегда на стороне сервера/маскировки, а не приложения.
Честно: единого публичного белого списка не существует, его состав операторы не публикуют и он меняется по регионам. Универсальной «настройки, которая обходит всё», нет — работает связка правильного клиента и сервера за легальным whitelisted-ресурсом.