Ошибки Happ: что они означают и что делать

Happ работает поверх ядра Xray: часть сообщений выдаёт само приложение, часть приходит от ядра, а часть — это обычные коды ответа сервера подписки. Формулировки выглядят техническими, но за ними стоит небольшой набор понятных причин: неполная ссылка, недоступный узел, состояние сети или настройки на устройстве.

Ниже — разбор сообщений, которые встречаются чаще других. У каждого разбора указано, откуда взята расшифровка, и это важнее, чем кажется: часть сообщений описана в документации самого Happ, а у части — например, у «критической ошибки Xray Core» — официальной расшифровки нет вообще. Там, где её нет, мы так и пишем: это разбор по обращениям в поддержку, а не цитата из документации.

Как читать пометки. «По документации Happ» — формулировка и причина взяты из официальной документации приложения. «Ответ сервера» — это не сообщение Happ, а стандартный код HTTP, значение которого одинаково для любого сайта. «По опыту поддержки» — сообщение существует, но нигде официально не расшифровано; мы объясняем, что за ним обычно стоит, и не выдаём это за документацию.

Быстрая проверка за минуту

Прежде чем искать конкретную ошибку — пять действий, которые снимают заметную часть проблем:

  1. Обновите Happ до последней версии — часть ошибок относится к старым сборкам, которые не понимают новых параметров в конфигурации.
  2. Обновите подписку в приложении: список серверов должен подтянуться заново.
  3. Переключитесь на другой сервер из списка — иногда недоступен только один узел.
  4. Попробуйте другую сеть (мобильный интернет вместо Wi-Fi или наоборот).
  5. Проверьте, что дата и время на устройстве выставлены автоматически: если дата сбита на дни или годы, проверка сертификата не проходит.

«Url подписки не валидна», «Конфигурация … не валидная», «Невалидная (массив) конфигурация JSON»

По документации Happ

Три разных сообщения об одном и том же: приложение получило строку, но не смогло её разобрать. В документации Happ причина сформулирована одинаково для всех трёх — переданный адрес или конфигурация содержат ошибки либо недопустимые символы. На практике это почти всегда обрезанная при копировании ссылка: пропало окончание, прилип перенос строки или лишний пробел, либо скопировался кусок текста вокруг ссылки.

Источник: документация Happ, раздел «Errors»

Что сделать
  1. Откройте буфер обмена и посмотрите, что в нём на самом деле: документация Happ прямо советует проверить ссылку именно так.
  2. Скопируйте адрес заново целиком, от первого символа до последнего.
  3. Если ссылку присылали в мессенджере, откройте её на том же устройстве — Happ подхватит её сам, без ручного копирования.
  4. Проверьте, что вы добавляете адрес подписки в поле подписки, а строку vless:// — как конфигурацию: это разные способы добавления.

«Буффер обмена пуст»

По документации Happ

Приложение попыталось прочитать буфер обмена и ничего там не нашло. Формулировка документации Happ прямая: скорее всего, данные забыли скопировать перед импортом. Бывает и так, что копирование не сработало — например, ссылку выделили не полностью или система очистила буфер при переключении между приложениями.

Источник: документация Happ, раздел «Errors»

Что сделать
  1. Скопируйте ссылку заново и сразу переключитесь в Happ, не открывая другие приложения.
  2. Проверьте, что копирование прошло: вставьте ссылку в любое текстовое поле.
  3. На iOS при первом обращении к буферу система спрашивает разрешение — если запрос был отклонён, разрешите вставку и повторите.

«Неизвестный тип контента», «Неизвестное действие DeepLink»

По документации Happ

Приложение не смогло распознать переданные данные или не знает такой команды в ссылке happ://. По документации Happ первое означает ошибки и недопустимые символы в данных, второе — что указанный deeplink приложению неизвестен и был проигнорирован. Частая бытовая причина второго — ссылка, рассчитанная на другую (обычно более новую) версию приложения.

Источник: документация Happ, раздел «Errors»

Что сделать
  1. Обновите Happ: незнакомая команда чаще всего появляется в старой сборке.
  2. Скопируйте и передайте ссылку целиком — deeplink ломается, если потерялся хвост.
  3. Если ссылку сформировал сторонний сайт или бот, получите её заново: возможно, она собрана с ошибкой.

«Timeout при добавлении подписки»

По документации Happ

При добавлении и обновлении подписки Happ запрашивает список серверов у сервера подписки. Документация приложения называет точное условие: если ответа нет в течение девяти секунд, показывается эта ошибка. То есть дело либо в сети (медленный или ограниченный канал), либо в том, что сервер подписки в этот момент не отвечает.

Источник: документация Happ, раздел «Errors»

Что сделать
  1. Повторите попытку — девять секунд легко «съедает» медленный мобильный интернет.
  2. Переключитесь на другую сеть: Wi-Fi вместо мобильного интернета или наоборот.
  3. Проверьте, открывается ли вообще что-нибудь без VPN — если нет, ограничена сама сеть.
  4. Если ошибка повторяется в разных сетях дольше получаса, напишите в поддержку через бота.

«Неправильные данные для импортирования профиля маршрутизации»

По документации Happ

Речь не о подписке, а о профиле маршрутизации — наборе правил, какие адреса идут через туннель, а какие напрямую. Документация Happ объясняет сообщение так: профиль содержит ошибки или недопустимые параметры. Такие профили передаются отдельной ссылкой happ://routing/…, и ошибка означает, что разобрать её содержимое не удалось.

Источник: документация Happ, раздел «Errors»

Что сделать
  1. Получите ссылку на профиль заново у того, кто её выдал.
  2. Для подписки Horizance отдельный профиль маршрутизации не нужен — подключение работает с настройками приложения по умолчанию.
  3. Если профиль пришёл вместе с JSON-подпиской, менять его вручную нельзя: Happ намеренно запрещает это, чтобы настройки не разошлись с тем, что прислал сервис.

Гео-файлы не загружаются, у профиля маршрутизации красный восклицательный знак

По документации Happ

Чтобы часть адресов шла напрямую, а часть через туннель, нужны списки адресов — гео-файлы geoip и geosite. Базовый набор уже входит в приложение, а вот файлы для добавленного профиля маршрутизации Happ докачивает в фоне. По документации Happ, если загрузка не завершилась за три минуты, она останавливается: на главном экране появляется сообщение об ошибке, а рядом с профилем — красный восклицательный знак. Подписка при этом может быть полностью рабочей: это ошибка загрузки вспомогательных файлов, а не проблема с доступом.

Источник: документация Happ, раздел «Геонастройки / Routing»

Что сделать
  1. Повторите загрузку в другой сети — после успешного скачивания файлы сохраняются на устройстве, и отметка об ошибке снимается сама.
  2. Проверьте свободное место на устройстве.
  3. Если файлы не нужны, удалите проблемный профиль маршрутизации — сообщение об ошибке исчезнет вместе с ним.
  4. Учтите, что изменения в маршрутизации применяются только после переподключения: переключить тумблер мало, нужно нажать Reconnect.

Ошибка 404 при обновлении подписки

Ответ сервера

Это не сообщение Happ, а стандартный ответ сервера подписки: адрес запрошен, но такого ресурса на нём нет. Для подписки это почти всегда означает, что ссылка больше не активна — закончилась оплаченная подписка либо ключ перевыпущен, а старый адрес деактивирован.

Источник: описание кода 404 в справочнике MDN

Что сделать
  1. Проверьте статус подписки в Telegram-боте.
  2. После оплаты получите новую ссылку — старая не восстанавливается автоматически.
  3. Замените адрес подписки в Happ на новый, а не добавляйте вторую подписку рядом.

Тот же вопрос в общем разделе частых вопросов

Ошибка 502, HTTP 502 Bad Gateway

Ответ сервера

Тоже ответ сервера, а не приложения. 502 по стандарту HTTP означает, что промежуточный узел получил некорректный ответ от того сервера, к которому обращался. Проще говоря: до сервиса вы достучались, но внутри у него что-то временно не отвечает. Настройки на вашем устройстве тут ни при чём.

Источник: описание кода 502 в справочнике MDN

Что сделать
  1. Подождите несколько минут и обновите подписку ещё раз.
  2. Убедитесь, что адрес подписки скопирован целиком, без обрезанного окончания.
  3. Уже загруженный список серверов при этом чаще всего продолжает работать — подключение можно не разрывать.
  4. Если ошибка держится дольше получаса, напишите в поддержку через бота.

«Критическая ошибка Xray Core», ошибка ядра, ошибка запуска ядра

По опыту поддержки

Happ — интерфейс поверх ядра Xray: сам трафик обрабатывает ядро. Сообщение приходит от ядра и означает, что запустить его с текущей конфигурацией не удалось. Точной официальной расшифровки у этого текста нет, поэтому ниже — причины, которые чаще всего подтверждаются в переписке с пользователями: конфигурация неполная или повреждена (ссылку скопировали не целиком), сборка приложения старше параметров в конфигурации, либо запуску мешает другой VPN-клиент, оставшийся активным.

Официального описания у этого сообщения нет — ниже разбор по обращениям в поддержку, а не цитата из документации.

Что сделать
  1. Отключите другие VPN-приложения и системный VPN-профиль в настройках устройства — одновременно активным может быть только один туннель.
  2. Удалите профиль в Happ и добавьте ссылку заново, скопировав её целиком.
  3. Обновите приложение: конфигурация может использовать параметры, которых нет в старой сборке.
  4. На компьютере проверьте, не запущен ли второй экземпляр Happ в системном трее, и перезапустите приложение; антивирус или брандмауэр тоже могут блокировать запуск ядра.
  5. На Windows дополнительно помогают две вещи, о которых чаще всего сообщают пользователи: установить обновления системы (у Happ на этот случай есть отдельная страница в разделе ошибок) и доустановить компоненты Visual C++ 2015–2022, без которых ядро не запускается.

Ошибка рукопожатия, ошибка TLS, ошибка сертификата

По опыту поддержки

Соединение с сервером началось, но не завершилось: стороны не смогли договориться о параметрах защищённого канала. Здесь важно не преувеличить роль часов на устройстве. Требование к точному времени есть у протокола VMess — документация Xray просит, чтобы системное время расходилось с реальным не более чем на 120 секунд. Для VLESS, на котором работает Horizance, такого требования нет, но сбитая дата всё равно ломает проверку сертификата — правда, речь о расхождении в дни и годы, а не в минуты. Остальные частые причины: потерянная при копировании часть ссылки, временно недоступный узел и сети, где соединения проходят через промежуточный прокси (корпоративные и публичные Wi-Fi).

Что здесь можно сверить с документацией: документация Xray, требование к системному времени в VMess

Что сделать
  1. Включите автоматическую установку даты, времени и часового пояса, затем переподключитесь.
  2. Получите ссылку заново и замените её в приложении: параметры подключения должны быть целыми.
  3. Выберите другой сервер из списка.
  4. Проверьте подключение в другой сети — если в мобильной работает, а в Wi-Fi нет, дело в сети.

Соединение разорвано со стороны сервера

По опыту поддержки

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

Официального описания у этого сообщения нет — ниже разбор по обращениям в поддержку, а не цитата из документации.

Что сделать
  1. Переключитесь на другой сервер из списка.
  2. Обновите подписку и проверьте срок её действия.
  3. Проверьте, не подключено ли одновременно больше устройств, чем предусмотрено тарифом.
  4. При слабом сигнале дождитесь устойчивой связи: туннелю нужен стабильный канал.

«Тайм-аут» при проверке соединения, подключение не устанавливается

По документации Happ

Если нажать «Проверить текущее соединение», Happ измеряет задержку и при недоступности показывает «Тайм-аут» — это описано в документации приложения. Ответ не пришёл за отведённое время, и чаще всего дело в состоянии сети, а не в приложении: слабый сигнал, перегруженный публичный Wi-Fi, ограниченный мобильный интернет. Отдельный случай — когда мобильный интернет ограничен на уровне сети: тогда туннель не помогает, потому что данные не проходят и без него.

Источник: документация Happ, раздел «Ping»

Что сделать
  1. Проверьте, открывается ли что-нибудь вообще без VPN — если нет, проблема в самой сети.
  2. Смените сеть и попробуйте снова.
  3. Выберите другой сервер из списка.
  4. Если доступны только отдельные сайты и сервисы, а остальное не открывается ни с VPN, ни без него — это режим белых списков, он описан отдельно.

Что такое режим белых списков

Подписка добавилась, но список серверов пустой

По опыту поддержки

Приложение получило ответ по адресу подписки, но конфигураций в нём не оказалось. Сообщения об ошибке при этом нет — отсюда и путаница. По опыту обращений это значит одно из двух: добавлен не тот адрес (например, ссылка на страницу сайта вместо адреса подписки) либо подписка уже неактивна.

Официального описания у этого сообщения нет — ниже разбор по обращениям в поддержку, а не цитата из документации.

Что сделать
  1. Сверьте адрес: у подписки Horizance он выдаётся ботом или страницей получения ключа целиком, копировать нужно всю строку.
  2. Получите ссылку заново и добавьте её вместо пустого профиля, предварительно удалив его.
  3. Проверьте статус подписки в боте.

VPN подключён, но сайты не открываются

По опыту поддержки

Туннель поднялся, а трафик до сайтов не доходит. Кода ошибки здесь тоже нет. Самое частое объяснение по обращениям — правила маршрутизации: если списки адресов для профиля не догрузились, часть запросов уходит не в ту сторону. Реже дело в кеше DNS на устройстве.

Официального описания у этого сообщения нет — ниже разбор по обращениям в поддержку, а не цитата из документации.

Что сделать
  1. Проверьте, нет ли у профиля маршрутизации отметки об ошибке загрузки гео-файлов, и при необходимости удалите профиль.
  2. Отключите и снова включите подключение — изменения маршрутизации применяются только после переподключения.
  3. Перезагрузите устройство: это сбрасывает кеш DNS.
  4. Попробуйте другой сервер — узел может быть доступен, но перегружен.

Если ничего не помогло

Напишите команду /help в Telegram-боте: следующее ваше сообщение уйдёт в поддержку. Полезно сразу указать точный текст ошибки, платформу (Android, iOS, Windows, macOS, Linux) и то, что уже пробовали, — это заметно сокращает переписку.

Написать в поддержку