Профиль маршрутизации: что это
- Автор
- Екатерина Лебедева, редактор раздела knowledge base
- Проверил:
- Артём Волков
- Проверено:
- Опубликовано:
- , обновлено
- Версия гайда:
- 1.0
Коротко
Профиль маршрутизации — JSON-набор правил, который определяет, какие сайты и IP-адреса Happ отправляет через прокси, какие напрямую, а какие блокирует, вместе с настройками DNS.
Профиль маршрутизации — это JSON-конфигурация, которая привязана к конкретной подписке в Happ и описывает, как обрабатывать трафик: списки для прямого соединения, для прокси и для блокировки, настройки удалённого и локального DNS, а также ссылки на GeoIP- и GeoSite-файлы. У каждой подписки может быть несколько профилей с независимым жизненным циклом, кроме JSON-подписок, где допустим только 0 или 1 профиль без возможности редактирования. Профиль можно передать ссылкой вида happ://routing/add или через заголовки и тело подписки, а изменения применяются не мгновенно, а при следующем подключении.
Профиль маршрутизации — JSON-набор настроек, привязанный к подписке Happ, который задаёт правила направления трафика по доменам и IP-адресам, параметры DNS и ссылки на файлы GeoIP и GeoSite.
Суть профиля маршрутизации
Профиль маршрутизации — это фактически инструкция для ядра Xray-core о том, что делать с трафиком: какие домены и адреса отправлять напрямую, какие через сервер, какие блокировать и какими DNS-серверами пользоваться при этом. Оформлена эта инструкция в виде JSON.
В Happ профиль привязан не к приложению целиком, а к конкретной подписке. Это значит, что у разных подписок в одном приложении могут быть совершенно разные правила: одна работает с полным набором раздельного туннелирования, у другой включён простой режим «весь трафик через прокси».
Изменение профиля не действует мгновенно. Документация Happ описывает это так: переключение маршрутизации или выбор другого профиля сначала сохраняется в базе данных приложения и вступает в силу только при следующем подключении.
Как это выглядит в Happ
Профиль маршрутизации содержит несколько групп настроек:
| Группа | Поля | За что отвечает |
|---|---|---|
| Основные | Name, GlobalProxy | Имя профиля и выход по умолчанию |
| Правила трафика | DirectSites, DirectIp, ProxySites, ProxyIp, BlockSites, BlockIp | Куда идёт запрос: напрямую, через прокси или блокировка |
| DNS | RemoteDNSType/Domain/IP, DomesticDNSType/Domain/IP, DnsHosts | Какой DNS-сервер обрабатывает удалённые и локальные запросы |
| Геоданные | Geoipurl, Geositeurl | Откуда брать файлы GeoIP и GeoSite |
| Продвинутые | DomainStrategy, FakeDNS | Как резолвить домены и подменять ли IP-адреса |
Добавляют профиль ссылками happ://routing/add/{base64} (добавляет в список) и happ://routing/onadd/{base64} (добавляет и сразу активирует), где {base64} — сам JSON-профиль, закодированный в base64. Такие ссылки собирает генератор на сайте routing.happ.su, а передать их можно через буфер обмена, диплинк, QR-код, HTTP-заголовок routing или прямо в теле подписки.
Отдельный случай — JSON-подписки. Для них действует ограничение: 0 или 1 профиль, который приходит только вместе с подпиской от провайдера, без возможности вручную его создать, скопировать или отредактировать.
Пример профиля
Условный пример пользовательского профиля с примерными значениями, похожий на структуру из документации Happ:
{
"Name": "Example",
"GlobalProxy": "true",
"RemoteDNSType": "DoH",
"RemoteDNSDomain": "https://cloudflare-dns.com/dns-query",
"DirectIp": ["10.0.0.0/8", "192.168.0.0/16"],
"ProxySites": ["geosite:google"],
"BlockSites": ["geosite:ads"],
"DomainStrategy": "IPIfNonMatch"
}Значения Geoipurl и Geositeurl по умолчанию указывают на файлы geoip.dat и geosite.dat из репозитория Loyalsoldier/v2ray-rules-dat на GitHub — того же источника, что используют многие проекты на базе Xray-core.
Чем профиль маршрутизации отличается от похожих терминов
Профиль маршрутизации — это контейнер, внутри которого работают более узкие механизмы.
| Термин | Что это | Отличие от профиля маршрутизации |
|---|---|---|
| GeoIP / GeoSite | Файлы с готовыми категориями адресов и доменов | Источник данных, на который ссылается профиль, а не сам профиль |
| domainStrategy | Один параметр профиля | Определяет момент резолвинга домена, а не весь набор правил |
| Раздельное туннелирование | Общий принцип маршрутизации по правилам | Профиль — конкретная техническая форма, в которой эти правила хранятся в Happ |
| Урезанные GEO-файлы | Оптимизация размера геофайлов | Работает на основе тегов, использованных в конкретном профиле |
Ошибку, которую Happ показывает при повреждённом профиле, разбирает страница «Неправильные данные для импортирования профиля маршрутизации». Готовая инструкция по добавлению правила — на странице добавление правила маршрутизации.
Главное
- У каждой подписки в Happ свой независимый набор профилей маршрутизации со своим жизненным циклом, включая список серверов Server-List.
- Изменения профиля — переключение маршрутизации, выбор другого профиля — применяются только после переподключения, а не сразу.
- JSON-подписки ограничены строго 0 или 1 профилем, который приходит только вместе с подпиской и не редактируется вручную.
- Профиль можно добавить или активировать ссылками happ://routing/add и happ://routing/onadd, сгенерированными на сайте routing.happ.su.
- При удалении подписки каскадно удаляются все привязанные к ней профили маршрутизации и кэшированные на диске геофайлы.
Частые вопросы
Из каких основных полей состоит профиль маршрутизации Happ?
Помимо имени профиля Name, ключевое поле GlobalProxy определяет выход по умолчанию — через прокси или напрямую. Дальше идут списки DirectSites, DirectIp, ProxySites, ProxyIp, BlockSites и BlockIp для конкретных правил, настройки RemoteDNS и DomesticDNS, ссылки Geoipurl и Geositeurl на файлы геоданных, а также DomainStrategy и FakeDNS для продвинутой настройки резолвинга адресов.
Как добавить готовый профиль маршрутизации в Happ?
Профиль оформляется JSON-объектом, переводится в base64 и вставляется в ссылку happ://routing/add/{base64} или happ://routing/onadd/{base64}, где вторая сразу активирует профиль. Такую ссылку можно собрать на сайте routing.happ.su, передать через буфер обмена, диплинк, QR-код или включить в заголовки и тело подписки.
Почему изменения в профиле маршрутизации применяются не сразу?
Документация Happ описывает архитектуру, при которой любое изменение — переключение тумблера маршрутизации или выбор другого профиля — сначала записывается в базу данных приложения, а вступает в силу только после переподключения (Reconnect). Это сделано, чтобы не прерывать уже работающее соединение при каждом изменении настроек.
Что происходит с профилем при обновлении подписки с новым профилем маршрутизации?
Если импортируется профиль с уже существующим именем, запускается процесс обновления: в фоне скачиваются новые геофайлы по обновлённым ссылкам, а текущее соединение продолжает работать на старых правилах и файлах. Только когда новые геофайлы полностью докачаны, происходит атомарная подмена — старые правила и файлы заменяются новыми без разрыва соединения.
Почему у JSON-подписки нельзя изменить профиль маршрутизации?
Документация Happ описывает для JSON-подписок режим жёстких ограничений: профиль может быть только один и приходит исключительно вместе с самой подпиской от провайдера, без возможности ручного создания или копирования. Это сделано, чтобы настройки приложения не разошлись с метаданными, зашитыми в саму JSON-конфигурацию провайдера.
Что случится с геофайлами, если удалить подписку?
Документация Happ описывает каскадное удаление: вместе с подпиской удаляются все привязанные к ней профили маршрутизации и соответствующие кэшированные на диске геофайлы. Это значит, что при повторном добавлении такой же подписки геофайлы, скорее всего, скачаются заново, а не возьмутся из старого кэша.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: геонастройки и маршрутизация — обращение 28 сентября 2026