Разбор частых ошибок именно на Android: TLS handshake, timeout, обрывы и медленная скорость. Начните с первого пункта — он закрывает большинство случаев.
Если happ вдруг перестал подключаться — возьмите свежий ключ в боте @AnonInetBot и замените старый. Это решает большинство обрывов за 20 секунд.
Выберите симптом — покажем целевое решение.
Точный текст ошибки помогает быстрее найти причину, чем «не работает».
| TLS handshake timeout | Чаще всего — рассинхронизация времени на устройстве: протокол Reality отклоняет соединение при расхождении часов больше ~90 секунд. Включите автоматическое время. Также бывает при недоступности сервера или блокировке порта сетью. |
|---|---|
| Connection timeout | Сервер не отвечает. Смените сервер в списке или проверьте интернет отдельно от happ. |
| Unknown content-type / неизвестный тип контента | Ссылка на подписку вернула не тот формат данных, который ожидает happ — например, страницу с ошибкой вместо конфигурации. Проверьте, что ссылка скопирована полностью и не устарела. |
| Authentication failed | Ключ устарел или скопирован с опечаткой. Возьмите новый ключ в боте. |
| No internet connection | Проблема на уровне сети, а не happ — проверьте Wi-Fi или мобильные данные без включённого приложения. |
| Context deadline exceeded | Проверка соединения не успела получить ответ — часто из-за проблем с DNS внутри туннеля или блокировки цели проверки на стороне сети. Попробуйте другой сервер или измените DNS в настройках. |
| EOF / Fail to detect internet connection: EOF | Сервер неожиданно закрыл соединение. Обычно означает несовпадение настроек протокола между ключом и сервером, либо промежуточное блокирование сети. Попробуйте другой сервер или свежий ключ. |
| Connection reset by peer | Сервер или сеть на пути активно разрывают соединение — похоже на блокировку по шаблону трафика. Смените протокол или сервер из списка. |
| DNS exchange failed / ERR_NAME_NOT_RESOLVED | Не получается разрешить доменные имена внутри туннеля. Попробуйте сменить режим DNS в настройках happ (например, на DNS через сам туннель) или указать другой DNS-сервер. |
Термины совпадают с тем, что видно в логах большинства Xray-клиентов на Android — не только happ.
Система агрессивно экономит батарею — и часто мешает туннель-приложениям сама.
Многие прошивки (особенно MIUI, ColorOS, One UI) агрессивно выгружают фоновые приложения. Исключите happ из оптимизации батареи в настройках приложения.
На некоторых прошивках нужно вручную разрешить автозапуск приложения — иначе система не даёт ему поднять туннель после перезагрузки.
При первом запуске Android спрашивает разрешение на создание туннель-подключения. Если пропустили — happ не сможет поднять туннель.
Точный текст ошибки быстрее всего найти именно там — не гадать по симптомам.
В большинстве Xray-клиентов, включая happ, есть раздел «Журнал» или «Логи» в настройках — там показывается точный текст последней ошибки соединения (например, «context deadline exceeded» или «EOF»). Сравните его с таблицей выше, чтобы найти нужную строку.
Не просто «попробуйте другой сервер», а что реально происходит и почему.
Если happ вообще не поднимает туннель на Android, причина почти всегда одна из четырёх: устаревший ключ, рассинхронизация системного времени, ограничение фонового режима производителем прошивки, либо непринятое системное разрешение на создание VPN-подключения.
Важная деталь именно для Android: в отличие от iOS и десктопа, здесь производители (Xiaomi, Samsung, Huawei, Oppo и другие) добавляют собственные слои управления батареей поверх системы. Именно они — самая частая причина, почему счётчик на экране показывает «подключено», но интернет фактически не идёт: система тихо ограничивает фоновый процесс приложения.
TLS handshake — это этап установки защищённого соединения, на котором клиент и сервер обмениваются криптографическими данными и подтверждают, что они действительно те, за кого себя выдают. Если happ использует протокол VLESS с Reality (а это протокол по умолчанию), рукопожатие включает дополнительную проверку метки времени — механизм защиты от replay-атак.
Если системные часы на телефоне отличаются от настоящего времени больше чем примерно на 90 секунд, сервер отклоняет рукопожатие как подозрительное — даже если ключ абсолютно верный. Это самая частая техническая причина именно этой ошибки. Реже причина — сервер временно недоступен или порт заблокирован сетью на пути.
Эта ошибка возникает не на этапе подключения к серверу, а на этапе добавления или обновления подписки. happ ожидает получить от ссылки-подписки конфигурацию в определённом формате. Если вместо этого сервер, который выдаёт подписку, возвращает что-то другое — например, HTML-страницу с ошибкой 404, страницу авторизации или пустой ответ — happ не может это распознать и показывает «неизвестный тип контента».
Частые причины: ссылка на подписку устарела или была отозвана, временные проблемы на сервере, который раздаёт список серверов, либо ссылка скопирована не полностью (обрезан хвост при копировании).
happ и приложения на основе V2Ray/Xray (например, v2rayNG) используют общее ядро протоколов, поэтому ошибки timeout выглядят и объясняются одинаково в обоих. Есть три отдельных вида ошибки под общим названием «timeout» — и они означают разное:
Connection timeout — сервер не ответил вовреме на попытку установить соединение: он выключен, перегружен или недоступен с вашей сети. TLS handshake timeout — соединение установилось, но криптографическое рукопожатие не завершилось (см. пункт 2 выше). Context deadline exceeded — это техническое сообщение о том, что внутренняя проверка соединения (например, тест доступности) не успела получить ответ в отведённое время — часто из-за проблем с DNS внутри туннеля.
Выберите симптом — бот подскажет решение и предложит свежий ключ.
Имитация того, что стоит проверить по порядку, прежде чем писать в поддержку.
Это самый частый источник проблем — возьмите свежий ключ, это займёт секунды.
Получить новый ключ →Иногда дело не в вас — сверьтесь со статусом серверов в канале.
Скорее всего сайт не попадает в маршрутизацию через прокси. Проверьте настройки маршрутизации — возможно, нужное приложение или домен исключён из туннеля.
Это почти всегда оптимизация батареи системой. Откройте настройки Android → Приложения → happ → Батарея → уберите ограничения.
Задержка зависит от расстояния до сервера и загрузки сети. Запустите проверку ping в списке серверов и выберите тот, что ближе.
Удалите и переустановите happ, затем добавьте свежий ключ. Если и это не решило проблему — напишите в бот @AnonInetBot, там подскажут по вашему ключу и серверу.
Это стандартные технические ошибки Xray-клиентов. «Context deadline exceeded» — не успела пройти проверка соединения, часто из-за DNS. «EOF» — сервер неожиданно закрыл соединение. В обоих случаях помогает смена сервера или DNS-режима в настройках.
Проблемы именно на Android TV — на странице Android TV. Больше вопросов — на странице Вопросы.
Обычно этого достаточно, чтобы решить проблему без переписки.
Значит дело не в типичных причинах — напишите в бот, там разберутся с вашим конкретным ключом и сервером.
Написать в бот →Занимает секунды, регистрация не нужна.