Что такое профиль маршрутизации в 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, IP1.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 гео-баз доступны и не заблокированы. Также убедитесь, что у вас достаточно места на устройстве. В случае ошибки загрузки появится красный восклицательный знак, и ошибка исчезнет после удаления проблемного профиля.