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

Разбираем профили маршрутизации в Happ: что это, как работают, какие бывают готовые наборы, как импортировать и экспортировать, а также отвечаем на частые вопросы.

Что такое профиль маршрутизации и зачем он нужен

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

Основная задача профиля — раздельное туннелирование (split tunneling). Вместо того чтобы гнать весь трафик через VPN, вы можете оставить напрямую российские сайты, банки, госуслуги и домашнюю сеть, а через туннель пускать только зарубежные ресурсы. Это снижает нагрузку на сервер, уменьшает задержки и позволяет обходить блокировки, не ломая доступ к локальным сервисам.

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

Как устроены профили: основные параметры JSON

Каждый профиль маршрутизации в Happ представляет собой JSON-объект с набором полей. Рассмотрим ключевые из них.

Name — имя профиля, которое отображается в интерфейсе. По умолчанию используется «Default».

GlobalProxy — глобальный переключатель. Если true, весь трафик по умолчанию идёт через прокси (первым в списке outbound становится proxy). Если false — по умолчанию используется прямое соединение (direct). Это определяет «выход» по умолчанию, если ни одно правило не сработало.

RouteOrder — порядок применения правил. Например, block-proxy-direct означает, что сначала проверяются блокировки, затем прокси, затем direct. Это важно для предсказуемого поведения.

RemoteDNSType, RemoteDNSDomain, RemoteDNSIP — настройки удалённого DNS-сервера для запросов, которые идут через прокси. По умолчанию используется DoH (DNS over HTTPS) с адресом https://cloudflare-dns.com/dns-query и IP 1.1.1.1.

DomesticDNSType, DomesticDNSDomain, DomesticDNSIP — настройки локального DNS для прямых запросов. Например, можно указать DoU (DNS over UDP) с IP 77.88.8.8 (Яндекс DNS).

Geoipurl и Geositeurl — ссылки на гео-базы данных (GeoIP и GeoSite), которые используются для сопоставления IP-адресов и доменов с категориями. По умолчанию используются базы Loyalsoldier с GitHub.

DnsHosts — ручные соответствия «домен: IP», работающие как системный файл hosts. Например, можно закрепить cloudflare-dns.com за 1.1.1.1.

DirectSites, DirectIp — списки доменов и IP-адресов, которые должны идти напрямую.

ProxySites, ProxyIp — списки для туннелирования.

BlockSites, BlockIp — списки для блокировки (реклама, трекеры).

DomainStrategy — стратегия обработки доменов: AsIs (не резолвить), IPIfNonMatch (резолвить, если нет совпадения по домену), IPOnDemand (всегда резолвить).

FakeDNS — подмена реального IP виртуальным, чтобы все запросы шли через Xray.

UseChunkFiles — оптимизация гео-файлов для экономии памяти (особенно важно на iOS).

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

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

P1 «Россия напрямую» — самый сбалансированный вариант для повседневного использования. Российские домены (.ru, .su, .рф, .moscow, .tatar), банки, госуслуги, маркетплейсы (Ozon, Wildberries, Яндекс, VK, 2ГИС, РЖД, Почта) и домашняя сеть идут напрямую. Всё остальное, включая YouTube и Telegram, — через туннель. База лёгкая (0,5 МБ), работает на iPhone и слабых Android.

P2 «Россия и игры» — расширенная версия первого профиля. Дополнительно напрямую идут игровые сервисы (Steam, Epic Games, Riot, Escape from Tarkov, Faceit, Twitch), обновления Windows и push-уведомления Apple. Блокируются реклама, трекеры и телеметрия Windows. Подходит для геймеров и тех, кто не хочет терять пинг.

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

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

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

Как импортировать профиль: ссылки, заголовки, тело подписки

Импорт профиля маршрутизации в Happ возможен несколькими способами.

Через ссылку — самый простой способ. Ссылка вида happ://routing/add/{base64} добавляет профиль в список. Если профиль с таким именем уже существует, он перезаписывается. Ссылка happ://routing/onadd/{base64} добавляет и сразу активирует профиль. Ссылка happ://routing/off отключает маршрутизацию.

Через HTTP-заголовок — при добавлении подписки можно передать профиль в заголовке routing. Это удобно для провайдеров, которые хотят автоматически привязать профиль к подписке.

Через тело подписки — профиль можно включить прямо в тело JSON-подписки. При импорте такой подписки профиль будет добавлен автоматически.

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

Экспорт и передача профилей на другие устройства

Экспорт профиля позволяет перенести настройки на другое устройство или поделиться ими с другими пользователями.

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

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

При импорте на другом устройстве профиль добавится в список, но не будет активирован автоматически (если только вы не используете onadd). После импорта нужно переподключиться, чтобы изменения вступили в силу.

Особенности работы с JSON-подписками и ограничения

JSON-подписки имеют жёсткие ограничения, чтобы предотвратить рассинхронизацию настроек с метаданными провайдера.

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

Во-вторых, главный тумблер маршрутизации принудительно заблокирован в состоянии, которое прислал провайдер (true или false). Изменение имени, ссылок и геофайлов также заблокировано.

В-третьих, поля Remote DNS в интерфейсе переименованы в Tunnel DNS и используются локально для настройки системного туннеля, не инжектируясь в сам JSON-файл провайдера.

Эти ограничения гарантируют, что настройки маршрутизации всегда соответствуют тому, что ожидает провайдер, и не ломают работу подписки.

Обновление профилей и обработка ошибок загрузки

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

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

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

Поле lastUpdatedDate в профиле управляет принудительным скачиванием геофайлов. Если новая дата позже текущей или старая отсутствует, приложение скачает базы заново.

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

Выбор профиля зависит от ваших задач и устройства.

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

Для геймеров подойдёт «Россия и игры»: игровые сервисы идут напрямую, что сохраняет низкий пинг, а обновления Windows не забивают туннель.

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

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

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

При создании собственного профиля помните о порядке правил (RouteOrder) и стратегии доменов. Для большинства случаев достаточно IPIfNonMatch — это снижает количество DNS-запросов и ускоряет работу.

Частые вопросы о профилях маршрутизации

Можно ли использовать несколько профилей одновременно?

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

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

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

Как узнать, какой профиль сейчас активен?

В разделе маршрутизации активный профиль обычно отмечен галочкой или выделен цветом.

Можно ли редактировать профиль, полученный от провайдера?

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

Влияет ли профиль на скорость соединения?

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

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

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

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

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

Готовый профиль можно импортировать по ссылке вида happ://routing/add/{base64}. Также профиль может прийти вместе с подпиской через HTTP-заголовок routing или тело подписки. После импорта нужно переподключиться, чтобы изменения вступили в силу.

Можно ли использовать несколько профилей одновременно?

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

Что делать, если после импорта профиля перестали работать банки или госуслуги?

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

Можно ли редактировать профиль, полученный от провайдера?

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

Как обновить гео-базы в профиле?

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

Влияет ли профиль на скорость интернета?

Да, если большая часть трафика идёт через туннель, скорость может снижаться. Использование прямых подключений для локальных ресурсов (банки, госуслуги, домашняя сеть) снижает нагрузку и ускоряет доступ к ним.