Стабильная работа 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 слишком крупные пакеты на некоторых маршрутах теряются, и загрузка идёт рывками.
Наконец, батарея. Постоянный туннель, частые проверки серверов и обновления подписки держат радиомодуль активным. Настройки ниже сокращают фоновую активность и не снижают стабильность.
Правила маршрутизации
| Правило | Куда | Зачем |
|---|---|---|
| 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. |
Пример профиля маршрутизации
{
"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"
}Настройка по шагам
Подготовьте основной и запасной серверы
Убедитесь, что в подписке или списке серверов есть хотя бы один сервер на TCP-порту 443 — VLESS с Reality или Trojan. Если основной сервер работает на Hysteria2, запасной TCP-сервер обязателен.
Результат: В списке серверов есть минимум два сервера на разных протоколах.
Проверьте серверы именно на мобильной сети
Отключите Wi-Fi и нажмите иконку спидометра в шапке подписки. Для точной картины используйте пинг через прокси (Via Proxy HEAD): он проходит реальный путь через туннель.
Результат: У каждого сервера отображается задержка в мс или статус «Тайм-аут».
Отключите пинг при запуске
Откройте Настройки → Подписки и выключите «Пинг при запуске». Проверяйте серверы вручную, когда это действительно нужно.
Результат: При запуске Happ не проверяет все серверы подписки, и подключение начинается быстрее.
Импортируйте профиль маршрутизации
Соберите JSON-профиль по примеру на этой странице или в генераторе routing.happ.su, закодируйте его в base64 и откройте ссылку happ://routing/onadd/{base64}. Профиль добавится и сразу станет активным.
Результат: Профиль отмечен как активный; правила применятся при следующем подключении.
Отключите оптимизацию батареи на Android
В системных настройках Android откройте сведения о приложении Happ, раздел батареи, и выберите режим без ограничений. Иначе система может остановить фоновую работу туннеля при выключенном экране.
Результат: Туннель остаётся активным после нескольких минут с выключенным экраном.
Проверьте переключение сетей
Подключитесь к серверу через Wi-Fi, затем выключите Wi-Fi и дождитесь перехода на мобильную сеть. Нажмите «Проверить текущее соединение».
Результат: Через несколько секунд проверка показывает задержку в мс, а не «Тайм-аут».
Переключайтесь на запасной сервер при сбоях 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 при выключенном экране.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: маршрутизация — обращение 27 сентября 2026
- Документация Happ: пинг — обращение 27 сентября 2026
- Документация Happ: подключения по локальной сети — обращение 27 сентября 2026