Как настроить раздельное туннелирование
- Автор
- Екатерина Лебедева, редактор раздела knowledge base
- Проверил:
- Артём Волков
- Проверено:
- Опубликовано:
- , обновлено
- Версия гайда:
- 1.0
Коротко
Чтобы настроить раздельное туннелирование в Happ, соберите профиль маршрутизации со списками DirectSites, ProxySites и BlockSites (или их вариантами для IP-адресов) на сайте routing.happ.su и импортируйте получившуюся ссылку в приложение — правило применится к трафику подписки при следующем подключении.
Раздельное туннелирование в Happ устроено не как один переключатель, а как набор списков внутри профиля маршрутизации: DirectSites и DirectIp — что идёт напрямую, ProxySites и ProxyIp — что идёт через прокси-сервер, BlockSites и BlockIp — что блокируется. Профиль собирают в генераторе routing.happ.su или вручную в формате JSON, а затем передают в Happ ссылкой happ://routing/add или .../onadd, буфером обмена, QR-кодом или диплинком. Изменения применяются не мгновенно, а при следующем переподключении к серверу. У JSON-подписок и на Apple TV возможности такой настройки ограничены документацией отдельно.
С чего состоит раздельное туннелирование в Happ
Раздельное туннелирование в Happ не отдельная кнопка, а результат настройки профиля маршрутизации конкретной подписки. Правила описывают три направления трафика — напрямую, через прокси или блокировка — отдельно для доменов и для IP-адресов.
Чтобы настроить его практически, нужно решить одну задачу: какие ресурсы должны вести себя иначе, чем остальной трафик, и в какую сторону — напрямую, через прокси-сервер целиком или в блокировку. Дальше эта логика превращается в конкретные списки JSON-профиля.
Изменения не действуют мгновенно. Документация описывает это так: переключение маршрутизации или выбор другого профиля сначала сохраняется, а вступает в силу только при следующем подключении к серверу.
Как настроить
Определите задачу
Например: локальные корпоративные сервисы — напрямую, всё остальное — через прокси, рекламные сети — в блокировку.
Результат: Вы можете сформулировать, что должно идти напрямую, что через прокси, а что заблокировать.
Откройте генератор routing.happ.su
Здесь можно собрать профиль по полям, не редактируя JSON вручную.
Результат: Открылась форма создания профиля маршрутизации.
Заполните списки под свою задачу
Можно указывать как конкретные домены и IP, так и категории вида
geosite:названиеилиgeoip:код— они охватывают сразу группу ресурсов.Результат: Домены и адреса распределены по DirectSites, ProxySites, BlockSites, DirectIp, ProxyIp, BlockIp.
Задайте GlobalProxy под нужную схему
true — такой трафик пойдёт через прокси по умолчанию, false — направится напрямую. Явные списки работают как исключения поверх этого значения.
Результат: Понятно, что произойдёт с трафиком, который не подпал ни под одно явное правило.
Получите ссылку и импортируйте её в Happ
Передать её можно буфером обмена, QR-кодом, диплинком или, если вы управляете подпиской, HTTP-заголовком routing или строкой в её теле.
Результат: Ссылка вида happ://routing/add/{base64} или .../onadd/{base64} открыта или вставлена в приложение.
Дождитесь загрузки geo-файлов, если профиль на них ссылается
Результат: Рядом с профилем нет красного восклицательного знака.
Переподключитесь к серверу
Результат: Профиль стал активным, а ресурсы ведут себя по новым правилам.
Пример профиля
Условный пример: локальная сеть и один корпоративный домен — напрямую, сервисы Google — через прокси, реклама — в блокировку.
{
"Name": "Example",
"GlobalProxy": "true",
"DirectSites": ["corp.example.com"],
"DirectIp": ["192.168.0.0/16", "10.0.0.0/8"],
"ProxySites": ["geosite:google"],
"BlockSites": ["geosite:ads"],
"DomainStrategy": "IPIfNonMatch"
}Полный список полей профиля, включая настройки DNS и стратегии резолвинга, разобран на странице профиль маршрутизации.
Отличия по платформам
| Платформа | Возможности раздельного туннелирования |
|---|---|
| Windows, macOS, Linux, Android, iOS, Android TV | Полный набор списков профиля маршрутизации: DirectSites, ProxySites, BlockSites и их варианты для IP |
| iOS дополнительно | При включённой опции «использовать все сети» доступны отдельные системные исключения — локальных сетей и уведомлений Apple — независимо от списков профиля |
| Apple TV | Классической маршрутизации нет: только упрощённые правила Direct со встроенным списком, без ProxySites, BlockSites и GEO-категорий |
| JSON-подписка (любая платформа) | Профиль ограничен 0 или 1 набором правил, который приходит только от провайдера и не редактируется вручную |
Проверка результата
- Профиль маршрутизации импортирован и отображается у нужной подписки без красного восклицательного знака.
- После переподключения ресурсы из DirectSites действительно доступны напрямую, а не через прокси.
- Ресурсы из BlockSites или BlockIp не открываются вовсе.
- Остальной трафик продолжает идти согласно значению GlobalProxy, не подпадая под явные исключения.
- Для JSON-подписки вы не пытаетесь создать отдельный профиль вручную — такая возможность заблокирована документацией.
Типичные ошибки
| Что видно | Возможная причина | Где разбор |
|---|---|---|
| «Неправильные данные для импортирования профиля маршрутизации» | JSON-профиль содержит ошибку или недопустимые значения | Ошибка импорта профиля |
| Правило не сработало после импорта | Не выполнено переподключение — изменения ждут следующего подключения | Обновление подписки |
| Красный восклицательный знак у профиля | Не завершилась загрузка geo-файлов по ссылкам профиля | Ошибка загрузки GEO-файлов |
| Правило игнорируется у JSON-подписки | Профиль для такой подписки может прислать только провайдер | JSON-конфигурация |
Если правило не сработало даже после переподключения, сначала проверьте написание домена и категории в профиле — опечатка в geosite: или в самом адресе не вызывает ошибку импорта, но и не даёт нужного эффекта.
Главное
- Раздельное туннелирование в Happ задаётся списками DirectSites, ProxySites и BlockSites (для доменов) и DirectIp, ProxyIp, BlockIp (для IP-адресов) внутри профиля маршрутизации.
- Готовый профиль собирают в генераторе routing.happ.su, а передают в приложение ссылкой happ://routing/add или happ://routing/onadd, буфером обмена, QR-кодом или диплинком.
- Изменения правил вступают в силу не сразу, а при следующем подключении к серверу — переподключитесь, чтобы проверить результат.
- У подписки с JSON-конфигурацией может быть только 0 или 1 профиль маршрутизации, и создать или изменить его вручную нельзя — он приходит только от провайдера.
- На Apple TV полноценного раздельного туннелирования нет: документация описывает только упрощённые правила Direct со встроенным списком, без гибких списков ProxySites и BlockSites.
Частые вопросы
С чего начать настройку раздельного туннелирования, если раньше не работал с профилями маршрутизации?
Откройте генератор на сайте routing.happ.su: он собирает JSON-профиль по формам, без необходимости писать текст руками. Укажите, какой трафик должен идти напрямую, какой через прокси, а какой заблокировать, сохраните профиль и получите готовую ссылку для импорта в Happ — писать JSON вручную для первого раза не обязательно.
Как исключить один конкретный сайт из прокси, не трогая остальной трафик?
Добавьте его домен в список DirectSites собираемого профиля, а если известен и IP-адрес — дополнительно в DirectIp. Остальные правила профиля при этом не меняются: единственный эффект — трафик именно к этому домену или адресу пойдёт напрямую, минуя прокси-сервер.
Можно ли направить через прокси только отдельные сайты, а всё остальное — напрямую?
Да, для этого в профиле поле GlobalProxy задают равным false — тогда трафик по умолчанию идёт напрямую, а через прокси пойдут только домены и адреса, явно перечисленные в ProxySites и ProxyIp. Это обратная схема по сравнению с настройкой по умолчанию, где весь трафик идёт через прокси, а исключения — в DirectSites.
Как проверить, что раздельное туннелирование реально сработало?
Переподключитесь к серверу после импорта профиля — правила применяются именно при подключении, а не сразу после сохранения. Затем откройте ресурс из списка DirectSites и сравните его поведение с ресурсом, который остался под прокси: например, по определяемому внешнему IP-адресу через разные сайты проверки.
Что делать, если после импорта профиля рядом с ним появился красный восклicательный знак?
Это признак того, что не завершилась загрузка geo-файлов, на которые ссылается профиль, например через категории geosite или geoip. Проверьте интернет-соединение и подождите: состояние сбросится автоматически после успешной загрузки. Подробный разбор — на странице [ошибка загрузки GEO-файлов](/errors/geo-files).
Работает ли раздельное туннелирование одинаково для всех подписок в приложении?
Нет, у каждой подписки в Happ собственный, изолированный набор профилей маршрутизации. Настроив раздельное туннелирование для одной подписки, вы не меняете поведение других: если нужны похожие правила везде, профиль придётся собрать и импортировать для каждой подписки отдельно.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: геонастройки и маршрутизация — обращение 28 сентября 2026
- Документация Happ: управление приложением через подписку — обращение 28 сентября 2026
- Генератор ссылок маршрутизации Happ — обращение 27 сентября 2026