Профиль маршрутизации для Happ: полное руководство по настройке и использованию

Узнайте, что такое профиль маршрутизации в Happ, как он работает, какие бывают готовые профили и как настроить свой. Практические советы, разбор JSON и ответы на частые вопросы.

Что такое профиль маршрутизации в Happ

Профиль маршрутизации — это набор правил, который определяет, какой трафик должен идти через прокси-сервер, а какой — напрямую с вашего устройства. В приложении Happ такой профиль также называют «Пульт управления», «Набор правил» или «Routing profile». Он позволяет гибко управлять интернет-соединением: например, чтобы банковские приложения и госуслуги работали с вашего домашнего IP-адреса, а остальной трафик шёл через VPN.

Профиль хранится в формате JSON и содержит настройки DNS, списки сайтов и IP-адресов для прямого подключения, проксирования или блокировки, а также дополнительные параметры, такие как стратегия обработки доменов. В Happ профиль привязывается к конкретной подписке, а не ко всему приложению целиком. Это значит, что если у вас несколько подписок, для каждой можно настроить свой набор правил.

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

Как работает маршрутизация: основные принципы

Маршрутизация в Happ построена на трёх категориях трафика: прямое подключение (direct), проксирование (proxy) и блокировка (block). Для каждой категории можно задать списки сайтов (geosite) и IP-адресов (geoip). Когда приложение получает запрос, оно последовательно проверяет правила в порядке, заданном параметром RouteOrder. Например, порядок block-proxy-direct означает, что сначала проверяется, не входит ли ресурс в список блокировок, затем — в список прокси, и только потом — в список прямых подключений.

Если ни одно правило не сработало, трафик направляется в основной выход, который определяется параметром GlobalProxy. Если GlobalProxy установлен в true, весь трафик по умолчанию идёт через прокси; если false — напрямую. Это поведение важно понимать при создании собственных профилей.

Гео-базы geoip.dat и geosite.dat содержат списки IP-адресов и доменов, сгруппированных по категориям (например, geosite:category-bank-ru для российских банков или geoip:ru для всех российских IP). Эти базы поставляются вместе с приложением и обновляются при обновлении ядра. Профиль может ссылаться на эти категории, что упрощает создание правил без ручного перечисления каждого домена.

Готовые профили: обзор пяти популярных наборов

Для пользователей, которые не хотят разбираться в тонкостях JSON, существуют готовые профили. Обычно они распространяются через ссылки вида happ://routing/add/... или happ://routing/onadd/.... Рассмотрим пять типовых профилей, которые встречаются в русскоязычных руководствах.

P1 «Россия напрямую» — самый сбалансированный вариант для большинства пользователей. Российские сайты (зоны .ru, .su, .рф, а также банки, госуслуги, маркетплейсы) идут напрямую, всё остальное — через туннель. Это позволяет избежать капч и требований подтверждения от российских сервисов, сохраняя доступ к зарубежным ресурсам.

P2 «Россия и игры» — дополняет первый профиль прямым доступом к игровым сервисам (Steam, Epic Games, Riot и др.) и системным обновлениям Windows и Apple. Также добавляет блокировку рекламы и трекеров. Подходит для геймеров и тех, кто не хочет терять скорость загрузки патчей.

P3 «Только банки и госуслуги» — максимальная приватность: напрямую идут только банки, госсервисы и домашняя сеть. Весь остальной трафик, включая российские сайты, идёт через туннель. Этот профиль выбирают, когда прямой путь нужен только для критически важных сервисов.

P4 «Точный список блокировок» — использует списки РКН для определения заблокированных ресурсов. В туннель уходит только то, что действительно заблокировано, даже если это .ru-домен. При этом сервисы, которые работают только из России, остаются напрямую. Базы здесь тяжелее (около 5 МБ), но профиль всё равно работает на iPhone.

P5 «Всё через туннель» — возврат к исходному состоянию: весь трафик идёт через прокси, кроме локальной сети. Полезен, если после экспериментов с правилами что-то сломалось и нужно начать с чистого листа.

Структура JSON-профиля: разбор ключевых параметров

Чтобы понимать, как устроен профиль, полезно разобрать его JSON. Вот основные поля, которые встречаются в большинстве профилей.

  • Name — имя профиля, отображаемое в приложении.
  • GlobalProxy — определяет, куда направлять трафик, не попавший ни под одно правило: true — через прокси, false — напрямую.
  • RouteOrder — порядок проверки правил. Обычно block-proxy-direct, но можно менять.
  • RemoteDNSType, RemoteDNSDomain, RemoteDNSIP — настройки удалённого DNS-сервера для запросов, идущих через прокси. По умолчанию используется Cloudflare DoH (https://cloudflare-dns.com/dns-query, IP 1.1.1.1).
  • DomesticDNSType, DomesticDNSDomain, DomesticDNSIP — настройки локального DNS для прямых запросов. Часто используется Яндекс DNS (77.88.8.8) или Google (8.8.8.8).
  • Geoipurl, Geositeurl — ссылки на гео-базы. Могут указывать на стандартные источники (например, Loyalsoldier) или на собственные серверы.
  • LastUpdated — метка времени Unix, управляющая принудительным обновлением гео-баз.
  • DnsHosts — ручные соответствия «домен: IP», работающие как системный файл hosts.
  • DirectSites, DirectIp — списки сайтов и IP для прямого подключения.
  • ProxySites, ProxyIp — списки для проксирования.
  • BlockSites, BlockIp — списки для блокировки.
  • DomainStrategy — стратегия обработки доменов: AsIs, IPIfNonMatch или IPOnDemand.
  • FakeDNS — включает подмену IP-адресов виртуальными для принудительного направления запросов в Xray.
  • UseChunkFiles — оптимизация для iOS: вырезает из гео-баз только нужные секции, уменьшая потребление памяти.

Как создать и импортировать собственный профиль

Создать профиль можно вручную, вставив JSON в приложение, или сгенерировать ссылку на сайте routing.happ.su. Для импорта по ссылке используются схемы happ://routing/add/{base64} (добавляет профиль) и happ://routing/onadd/{base64} (добавляет и сразу активирует). Ссылку можно передать через HTTP-заголовок routing или в теле подписки.

Если вы хотите создать профиль вручную, откройте раздел «Маршрутизация» → «Профили» → «Создать» и вставьте JSON. Убедитесь, что все поля заполнены корректно, особенно Name и GlobalProxy. После сохранения профиль появится в списке, но изменения применятся только после переподключения (Reconnect).

Экспорт профиля выполняется через кнопку «Поделиться» или «Экспорт» — вы получите файл или ссылку happ://routing/add/.... Эту ссылку можно передать на другое устройство или использовать для резервного копирования. При импорте профиля с тем же именем он будет перезаписан, а гео-базы обновлены в фоновом режиме.

Особенности работы с JSON-подписками (Restricted Mode)

Для JSON-подписок в Happ действует режим жёстких ограничений. У такой подписки может быть строго 0 или 1 профиль маршрутизации, и он приходит только вместе с самой подпиской от провайдера. Пользователь не может создать, скопировать или импортировать профиль для JSON-конфигурации вручную — эти функции заблокированы.

Более того, нельзя отключить или изменить такой профиль: главный тумблер маршрутизации принудительно заблокирован в состоянии, заданном провайдером, а изменение имени, ссылок и гео-файлов полностью запрещено. Поля Remote DNS в интерфейсе переименованы в Tunnel DNS и используются локально для настройки системного туннеля, не влияя на сам JSON-файл.

Это сделано для предотвращения рассинхронизации настроек приложения с метаданными провайдера. Если вы используете JSON-подписку, помните, что нарезка секций для оптимизации (UseChunkFiles) осуществляется на основе профиля маршрутизации, а не JSON-конфигурации. Убедитесь, что в профиле созданы те же теги, что и в вашей JSON-конфигурации.

Практические советы по выбору профиля

Выбор профиля зависит от ваших задач. Если вы живёте в России и пользуетесь банковскими приложениями, госуслугами и маркетплейсами, начните с профиля «Россия напрямую» — он решит проблему капч и блокировок. Для геймеров подойдёт «Россия и игры», так как он снижает пинг в онлайн-играх и ускоряет загрузку обновлений.

Если вы цените приватность и хотите минимизировать прямой трафик, выберите «Только банки и госуслуги». Профиль «Точный список блокировок» — для тех, кто хочет, чтобы через туннель шло только то, что действительно заблокировано, а остальное работало напрямую.

Перед установкой профиля убедитесь, что у вас есть рабочее подключение к VPN. Профиль не выдаёт доступ, он только распределяет трафик. Если после установки профиля что-то перестало работать, проверьте, к какой подписке он привязан, и попробуйте переподключиться. В крайнем случае установите профиль «Всё через туннель», чтобы вернуться к базовому поведению.

Частые ошибки и способы их устранения

Одна из распространённых ошибок — установка профиля из случайного источника. Чужие правила могут отправлять нужные сервисы не туда, и вы будете долго искать причину в приложении. Всегда проверяйте состав профиля перед импортом, особенно если он пришёл по ссылке.

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

Если при загрузке гео-файлов возникает ошибка (например, загрузка не завершается за 3 минуты), на главном экране появится сообщение, а рядом с проблемным профилем — красный восклицательный знак. Ошибка исчезнет автоматически после удаления проблемного профиля или успешной загрузки. Также убедитесь, что у вас достаточно памяти на устройстве, особенно на iOS, где лимит составляет 50 МБ — используйте UseChunkFiles для оптимизации.

Как проверить, что правило работает

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

Более точный способ — посмотреть логи приложения. В Happ есть раздел с логами, где видно, через какой outbound (proxy или direct) прошёл каждый запрос. Если правило не сработало, проверьте порядок RouteOrder и убедитесь, что домен или IP не попадают в более приоритетную категорию.

Также можно временно отключить профиль и сравнить поведение. Если после отключения всё работает так же, значит, правило не применяется — возможно, профиль не привязан к активной подписке или не был активирован.

Ограничения и важные замечания

Профиль маршрутизации не является заменой VPN-подписки. Он лишь распределяет трафик, но не создаёт туннель. Убедитесь, что у вас есть активная подписка с серверами, иначе профиль не будет работать.

Для JSON-подписок действуют жёсткие ограничения, описанные выше. Если вы используете такой тип подписки, вы не сможете настроить собственный профиль — только тот, что прислал провайдер.

Гео-базы обновляются автоматически при обновлении ядра приложения или принудительно через параметр LastUpdated. Если вы используете собственные URL для гео-баз, убедитесь, что они доступны и содержат актуальные данные. В противном случае маршрутизация может работать некорректно.

Наконец, помните, что профиль привязан к подписке. Если вы удалите подписку, все связанные с ней профили и кэшированные гео-файлы будут удалены каскадно. Будьте осторожны при удалении подписок, если хотите сохранить настройки.

Вопросы и ответы

Что такое профиль маршрутизации в Happ?

Профиль маршрутизации — это набор правил в формате JSON, который определяет, какой трафик должен идти через прокси, а какой напрямую. Он включает настройки DNS, списки сайтов и IP-адресов для direct, proxy и block, а также дополнительные параметры. Профиль привязывается к конкретной подписке и позволяет гибко управлять интернет-соединением.

Как установить готовый профиль маршрутизации?

Готовый профиль устанавливается по ссылке вида happ://routing/add/... или happ://routing/onadd/.... Нажмите на ссылку — откроется Happ с диалогом импорта. Также можно вставить JSON вручную: Маршрутизация → Профили → Создать → вставить JSON. После импорта не забудьте переподключиться (Reconnect), чтобы изменения применились.

Можно ли изменить профиль маршрутизации для JSON-подписки?

Нет. Для JSON-подписок действует Restricted Mode: профиль приходит только вместе с подпиской от провайдера, и пользователь не может его изменить, отключить или создать свой. Все поля заблокированы, включая имя, ссылки и гео-файлы. Это сделано для предотвращения рассинхронизации настроек.

Что делать, если после установки профиля перестали работать нужные сайты?

Сначала проверьте, к какой подписке привязан профиль, и переподключитесь. Если проблема осталась, убедитесь, что сайт не попадает в блокирующий список. Попробуйте временно отключить профиль или установить профиль «Всё через туннель», чтобы вернуться к базовому поведению. Также проверьте логи приложения, чтобы увидеть, через какой outbound идёт трафик.

Как экспортировать профиль маршрутизации для переноса на другое устройство?

В разделе маршрутизации у профиля есть кнопка «Поделиться» или «Экспорт». Она создаёт файл или ссылку вида happ://routing/add/.... Эту ссылку можно отправить на другое устройство или сохранить для резервного копирования. При импорте на новом устройстве профиль будет добавлен и привязан к активной подписке.

Что такое DomainStrategy и как он влияет на маршрутизацию?

DomainStrategy определяет, как Xray сопоставляет домены с правилами IP. AsIs — домен передаётся как есть, без резолва. IPIfNonMatch — сначала проверяются правила по домену, и только если ничего не подошло, выполняется DNS-запрос и проверка по IP. IPOnDemand — домен всегда резолвится в IP перед проверкой правил. Выбор стратегии влияет на скорость и точность маршрутизации.

Почему после обновления профиля гео-базы не скачиваются?

Гео-базы скачиваются принудительно, если параметр LastUpdated в профиле больше текущего значения или если он отсутствует. Если обновление не происходит, проверьте, что URL гео-баз доступны и не заблокированы. Также убедитесь, что у вас достаточно места на устройстве. В случае ошибки загрузки появится красный восклицательный знак, и ошибка исчезнет после удаления проблемного профиля.