Happ VPN
Ограниченная сеть

Стабильная работа Happ на мобильном интернете

Автор
Артём Волков, технический ревьюер
Проверил:
Анна Королёва
Проверено:
Опубликовано:
Версия гайда:
1.0

Коротко

Для стабильной работы Happ на мобильном интернете держите основной и запасной сервер на TCP-порту 443, выключите пинг при запуске и направьте локальные адреса и push-сервисы напрямую через профиль маршрутизации.

Мобильная сеть отличается от домашней: оператор выпускает абонентов в интернет через общий NAT, IP меняется при переключении сетей, а UDP-сессии живут недолго. Поэтому протоколы на UDP, включая Hysteria2, здесь иногда работают хуже, и нужен запасной сервер на TCP-порту 443. Профиль маршрутизации с исключениями для локальных адресов и push-уведомлений снижает зависимость важных функций телефона от туннеля. Отключение пинга при запуске экономит батарею и ускоряет подключение.

Особенности сети

Мобильный интернет — самая изменчивая среда для клиента прокси. Телефон переходит между вышками, между 4G и 5G, между Wi-Fi и сотовой сетью, и каждый такой переход может сменить внешний IP-адрес.

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

Поэтому протоколы на UDP ведут себя по-разному в разных сетях. Hysteria2 на хорошем сигнале быстрее, но при коротких тайм-аутах NAT чаще теряет соединение. Запасной сервер на TCP-порту 443 — VLESS с Reality или Trojan — страхует от этого.

Отдельная особенность — MTU. Путь через мобильную сеть часто уже стандартных 1500 байт из-за служебных заголовков. TCP подстраивает размер сегментов сам, а у протоколов на QUIC слишком крупные пакеты на некоторых маршрутах теряются, и загрузка идёт рывками.

Наконец, батарея. Постоянный туннель, частые проверки серверов и обновления подписки держат радиомодуль активным. Настройки ниже сокращают фоновую активность и не снижают стабильность.

Правила маршрутизации

Схема маршрутизации: устройство → правила Happ → прокси, напрямую или блокировкаУстройствоПравила HappПрокси-сервер: 1Напрямую: 5Блокировать: 1
ПравилоКудаЗачем
geoip:privateНапрямуюЛокальные адреса — роутер, принтер, устройства в точке доступа — доступны только напрямую; через сервер прокси они недостижимы.
geosite:privateНапрямуюЛокальные имена вида localhost и .local разрешаются внутри сети устройства, а не на сервере.
domain:push.apple.comНапрямуюPush-уведомления iOS держат постоянное соединение с серверами Apple; прямой маршрут делает их доставку независимой от состояния прокси-сервера.
domain:mtalk.google.comНапрямуюPush-уведомления Android (Firebase Cloud Messaging) идут через mtalk.google.com; прямой маршрут избавляет их от лишних переподключений вместе с туннелем.
domain:my.example.comНапрямуюУсловный домен личного кабинета оператора: он узнаёт абонента по мобильной сети и через прокси попросит пароль или не покажет остаток пакета.
geosite:category-ads-allБлокироватьРекламные домены отбрасываются до загрузки: меньше трафика по тарифу и меньше пробуждений радиомодуля.
domain:admin.example.comЧерез проксиПанель управления собственным сервером, куда разрешён вход только с IP сервера, идёт через туннель даже при GlobalProxy со значением false.

Пример профиля маршрутизации

Профиль маршрутизации Happ (JSON)
{
  "Name": "Mobile",
  "GlobalProxy": "true",
  "RemoteDNSType": "DoH",
  "RemoteDNSDomain": "https://cloudflare-dns.com/dns-query",
  "RemoteDNSIP": "1.1.1.1",
  "DomesticDNSType": "DoH",
  "DomesticDNSDomain": "https://dns.google/dns-query",
  "DomesticDNSIP": "8.8.8.8",
  "Geoipurl": "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat",
  "Geositeurl": "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat",
  "DnsHosts": {},
  "DirectSites": [
    "geosite:private",
    "domain:push.apple.com",
    "domain:mtalk.google.com",
    "domain:my.example.com"
  ],
  "DirectIp": [
    "10.0.0.0/8",
    "172.16.0.0/12",
    "192.168.0.0/16",
    "169.254.0.0/16",
    "224.0.0.0/4",
    "255.255.255.255"
  ],
  "ProxySites": [
    "domain:admin.example.com"
  ],
  "ProxyIp": [],
  "BlockSites": [
    "geosite:category-ads-all"
  ],
  "BlockIp": [],
  "DomainStrategy": "IPIfNonMatch",
  "FakeDNS": "false"
}

Настройка по шагам

  1. Подготовьте основной и запасной серверы

    Убедитесь, что в подписке или списке серверов есть хотя бы один сервер на TCP-порту 443 — VLESS с Reality или Trojan. Если основной сервер работает на Hysteria2, запасной TCP-сервер обязателен.

    Результат: В списке серверов есть минимум два сервера на разных протоколах.

  2. Проверьте серверы именно на мобильной сети

    Отключите Wi-Fi и нажмите иконку спидометра в шапке подписки. Для точной картины используйте пинг через прокси (Via Proxy HEAD): он проходит реальный путь через туннель.

    Результат: У каждого сервера отображается задержка в мс или статус «Тайм-аут».

  3. Отключите пинг при запуске

    Откройте Настройки → Подписки и выключите «Пинг при запуске». Проверяйте серверы вручную, когда это действительно нужно.

    Результат: При запуске Happ не проверяет все серверы подписки, и подключение начинается быстрее.

  4. Импортируйте профиль маршрутизации

    Соберите JSON-профиль по примеру на этой странице или в генераторе routing.happ.su, закодируйте его в base64 и откройте ссылку happ://routing/onadd/{base64}. Профиль добавится и сразу станет активным.

    Результат: Профиль отмечен как активный; правила применятся при следующем подключении.

  5. Отключите оптимизацию батареи на Android

    В системных настройках Android откройте сведения о приложении Happ, раздел батареи, и выберите режим без ограничений. Иначе система может остановить фоновую работу туннеля при выключенном экране.

    Результат: Туннель остаётся активным после нескольких минут с выключенным экраном.

  6. Проверьте переключение сетей

    Подключитесь к серверу через Wi-Fi, затем выключите Wi-Fi и дождитесь перехода на мобильную сеть. Нажмите «Проверить текущее соединение».

    Результат: Через несколько секунд проверка показывает задержку в мс, а не «Тайм-аут».

  7. Переключайтесь на запасной сервер при сбоях UDP

    Если на Hysteria2 страницы грузятся рывками или проверка периодически показывает «Тайм-аут», выберите запасной TCP-сервер и понаблюдайте за работой в течение дня.

    Результат: На TCP-сервере соединение не прерывается при обычном использовании.

Чек-лист

  • В списке есть сервер на TCP-порту 443 в дополнение к серверу на UDP.
  • «Пинг при запуске» выключен, серверы проверяются вручную.
  • Активный профиль направляет geoip:private и geosite:private напрямую.
  • Домены push-сервисов и личного кабинета оператора добавлены в DirectSites.
  • Happ исключён из оптимизации батареи Android.
  • Переход с Wi-Fi на мобильную сеть проверен кнопкой «Проверить текущее соединение».

Другие сценарии

Главное

  • Мобильные операторы выпускают абонентов в интернет через общий NAT (CGNAT), поэтому входящие подключения к телефону из интернета невозможны.
  • При переходе между Wi-Fi и мобильной сетью меняется IP-адрес, и соединения туннеля с сервером устанавливаются заново.
  • UDP-протоколы, включая Hysteria2, на мобильных сетях чувствительны к коротким тайм-аутам NAT, поэтому рядом нужен сервер на TCP 443.
  • «Пинг при запуске» настраивается в разделе Настройки → Подписки; на мобильной сети его отключение экономит батарею и трафик.
  • Прямой маршрут для push-сервисов Apple и Google делает доставку уведомлений независимой от состояния прокси-сервера.

Частые вопросы

Почему Happ переподключается при переходе с Wi-Fi на мобильный интернет?

При смене сети у телефона меняются внешний IP-адрес и сетевой интерфейс, поэтому все соединения туннеля с сервером обрываются и устанавливаются заново. Обычно это занимает несколько секунд и не требует действий. Если соединение не восстанавливается, отключитесь и подключитесь к серверу вручную, а на Android проверьте, что Happ не попадает под режим экономии батареи.

Почему Hysteria2 на мобильном интернете работает хуже, чем дома?

Hysteria2 передаёт данные по UDP, а мобильные сети обращаются с UDP строже, чем домашние: короткие тайм-ауты NAT, в некоторых сетях — пониженный приоритет в часы нагрузки. На хорошем сигнале Hysteria2 может быть быстрее протоколов на TCP, но на слабом чаще переподключается. Держите запасной сервер VLESS или Trojan на порту 443 и сравните оба в своей сети.

Как уменьшить расход батареи, когда Happ включён на телефоне?

Батарею тратят не только шифрование трафика, но и фоновые действия: проверка всех серверов при запуске, частые обновления подписки, повторные подключения при плохом сигнале. Отключите «Пинг при запуске» в разделе Настройки → Подписки, выберите один стабильный сервер и не переключайтесь между серверами без причины. Отбрасывание рекламных доменов в профиле тоже сокращает работу радиомодуля.

Почему функция LAN-подключений не работает через мобильную сеть?

«Разрешить LAN-подключения» открывает порты SOCKS5 и HTTP на вашем устройстве для других устройств той же локальной сети. В сети оператора устройства не видят друг друга, а общий NAT не пропускает входящие подключения из интернета. Документация Happ прямо называет мобильную сеть одной из типичных причин, по которым LAN-подключение не работает.

Что делать, если на мобильном интернете сайты открываются частично?

Если небольшие страницы загружаются, а крупные файлы и видео зависают, возможны потери пакетов или проблема с их размером (MTU). На UDP-протоколах переключитесь на сервер с TCP: TCP сам подбирает размер сегментов. Если проблема есть на всех серверах, проверьте уровень сигнала и сравните с работой без туннеля — возможно, причина в самой сети.

Почему личный кабинет оператора не открывается при включённом Happ?

Некоторые операторы узнают абонента по его подключению к мобильной сети и пускают в личный кабинет без пароля. Когда запрос уходит через сервер прокси, оператор видит IP сервера и не может определить абонента. Добавьте домен личного кабинета в DirectSites профиля маршрутизации: запрос пойдёт напрямую, а остальной трафик останется в туннеле.

Нужно ли переподключаться после выхода из зоны без сигнала?

Обычно нет: когда сигнал возвращается, Xray-core устанавливает новые соединения с сервером при первых же запросах. Но если связь пропадала надолго, а после появления сети «Проверить текущее соединение» показывает «Тайм-аут», отключитесь и подключитесь заново. Если это повторяется, проверьте, не останавливает ли система фоновую работу Happ при выключенном экране.

Упомянутые темы

Разделы по теме

Источники

  1. Документация Happ: маршрутизация — обращение 27 сентября 2026
  2. Документация Happ: пинг — обращение 27 сентября 2026
  3. Документация Happ: подключения по локальной сети — обращение 27 сентября 2026