Туннелирование HAPP на ПК: полное руководство по настройке раздельного туннелирования

Узнайте, как настроить раздельное туннелирование в VPN-клиенте HAPP на компьютере: правила, GeoIP, GeoSite, примеры сценариев и ответы на частые вопросы.

Что такое раздельное туннелирование и зачем оно нужно

Раздельное туннелирование (Split Tunneling) — это функция VPN-клиентов, которая позволяет гибко распределять интернет-трафик: часть приложений и сайтов работает через защищённый туннель, а остальное — напрямую, через обычное подключение. В клиенте HAPP эта возможность реализована на базе ядра Xray и гибкой системы правил маршрутизации.

Основная задача раздельного туннелирования — не гнать через VPN весь трафик, когда это не нужно. Это даёт сразу несколько преимуществ:

  • Скорость. Прямое соединение обычно быстрее, чем через VPN-сервер, особенно если сервер находится далеко. Оставляя локальные и некритичные сервисы напрямую, вы сохраняете высокую скорость для повседневных задач.
  • Доступ к локальным ресурсам. При включённом VPN часто пропадает доступ к домашнему роутеру, сетевому принтеру или устройствам умного дома. Раздельное туннелирование решает эту проблему.
  • Совместимость с банками и госуслугами. Многие российские банки и государственные порталы блокируют подключения с зарубежных IP-адресов. Если VPN включён постоянно, такие сервисы могут перестать работать. Исключив их из туннеля, вы сохраните доступ.
  • Экономия трафика и ресурсов. Не весь трафик проходит через шифрование, что снижает нагрузку на процессор и расход мобильного интернета.

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

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

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

HAPP использует ядро Xray, которое обеспечивает гибкую маршрутизацию трафика. Вся логика построена на правилах. Правило состоит из трёх частей:

  • Тип — что проверяет HAPP: IP-адрес, домен, имя приложения или страну.
  • Значение — конкретное значение для сопоставления, например youtube или ru.
  • Действие — что сделать с трафиком: PROXY (через VPN), DIRECT (напрямую) или BLOCK (заблокировать).

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

Для настройки маршрутизации в HAPP нужно перейти в раздел Настройки → Правила маршрутизации. Там вы можете добавлять, удалять и перемещать блоки правил. Также есть правило по умолчанию (Default), которое применяется, если ни одно из правил не совпало. Обычно его устанавливают в PROXY или DIRECT в зависимости от сценария.

Понимание этого механизма — ключ к успешной настройке. Например, если вы хотите, чтобы весь трафик шёл через VPN, кроме российских сайтов, нужно создать правило для geoip:ru и geosite:ru с действием DIRECT и разместить его выше правила по умолчанию PROXY.

Также важно знать, что HAPP автоматически обновляет встроенные базы GeoIP и GeoSite, поэтому вам не нужно вручную вносить тысячи IP-адресов или доменов.

Типы правил в HAPP: DOMAIN, GEOSITE, GEOIP, PROCESS-NAME и Per-App Proxy

HAPP поддерживает несколько типов правил, каждый из которых предназначен для определённых сценариев. Рассмотрим их подробнее.

DOMAIN / DOMAIN-SUFFIX — правило для конкретного домена или суффикса. Например, example.com или .ru. Оно подходит для небольших сайтов, которые используют один-два домена. Если сайт использует множество скрытых технических доменов (например, CDN), правило DOMAIN может не охватить весь трафик.

GEOSITE — правило, которое использует встроенную базу доменов для крупных сервисов. Например, geosite:youtube автоматически покрывает все домены YouTube, включая googlevideo.com и другие технические адреса. Это удобно для популярных платформ, таких как YouTube, Instagram, Netflix, ChatGPT и других. Рекомендуется использовать GEOSITE для крупных сервисов, а DOMAIN — для небольших сайтов.

GEOIP — правило, которое группирует диапазоны IP-адресов по странам или сервисам. Например, geoip:ru охватывает все российские IP-адреса. Это полезно для исключения целых стран из туннеля или наоборот. Также есть специальные значения, например geoip:private, которое охватывает локальные адреса (192.168.x.x, 10.x.x.x и т.д.).

PROCESS-NAME — правило для маршрутизации по имени исполняемого файла на ПК. Например, Discord.exe или telegram.exe. Это позволяет отправлять трафик конкретного приложения через VPN или напрямую. Важно указывать точное имя файла, которое можно увидеть в Диспетчере задач на вкладке «Подробности». Правило работает только в режиме TUN, когда приложение видит весь трафик.

Per-App Proxy — функция для мобильных устройств (iOS и Android), которая позволяет выбирать приложения галочками. Начиная с версии HAPP 2.1.0, она доступна на смартфонах. Вы можете выбрать режим: «только выбранные приложения через VPN» или «все, кроме выбранных». На ПК эта функция недоступна, вместо неё используется PROCESS-NAME.

Выбор типа правила зависит от задачи. Для крупных сервисов лучше использовать GEOSITE, для стран — GEOIP, для отдельных приложений — PROCESS-NAME или Per-App Proxy.

Что такое GeoIP и GeoSite: базы данных для умной маршрутизации

GeoIP и GeoSite — это встроенные базы данных, которые HAPP использует для упрощения настройки маршрутизации. Вместо того чтобы вручную вводить тысячи IP-адресов или доменов, вы можете использовать готовые категории.

GeoIP — это база IP-адресов, сгруппированных по странам или сервисам. Например, geoip:ru включает все IP-адреса, принадлежащие России. Это удобно, когда нужно исключить целую страну из туннеля или наоборот. Также есть категории для крупных сервисов, например geoip:telegram.

GeoSite — это база доменов для крупных сервисов. Многие популярные платформы используют десятки скрытых технических доменов для доставки контента. Например, YouTube использует googlevideo.com, ytimg.com и другие. Одно правило geosite:youtube автоматически покрывает все эти домены, что значительно упрощает настройку.

Базы данных автоматически скачиваются и обновляются приложением, поэтому вам не нужно следить за их актуальностью. Это особенно важно, так как списки доменов и IP-адресов постоянно меняются.

Практический совет: если вы хотите направить через VPN крупный сервис, используйте GEOSITE. Если это небольшой сайт с одним-двумя доменами — достаточно DOMAIN. Для исключения целой страны из туннеля используйте GEOIP.

Например, чтобы весь трафик шёл через VPN, кроме российских сайтов, нужно добавить правила geoip:ru и geosite:ru с действием DIRECT. Это покроет и IP-адреса, и домены, принадлежащие России.

Сценарий 1: Весь интернет через VPN, кроме российских сайтов и IP-адресов

Этот сценарий идеален для тех, кто хочет держать VPN включённым постоянно, но при этом без проблем пользоваться российскими сервисами, такими как «Госуслуги», банковские приложения, «Кинопоиск» и другие. Многие из них блокируют подключения с зарубежных IP-адресов, поэтому их нужно исключить из туннеля.

Пошаговая настройка:

  1. Откройте HAPP и перейдите в Настройки → Правила маршрутизации.
  2. Нажмите кнопку «+», чтобы создать новый блок правил.
  3. Переместите этот блок в самый верх списка.
  4. Добавьте в блок два условия:
  • Тип: GEOIP, значение: ru
  • Тип: GEOSITE, значение: ru
  1. Установите действие для этого блока на DIRECT (напрямую).
  2. Убедитесь, что правило по умолчанию (Default) установлено на PROXY (через VPN).
  3. Сохраните изменения.

Результат:

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

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

Если вы используете режим TUN, также рекомендуется добавить правило geoip:private с действием DIRECT, чтобы локальная сеть оставалась доступной. Это особенно актуально для домашних пользователей с принтерами и умными устройствами.

Сценарий 2: Весь интернет напрямую, кроме заблокированных крупных сервисов

Этот сценарий подходит, если вы хотите использовать VPN только для доступа к заблокированным сервисам, таким как YouTube, Instagram, Netflix, ChatGPT и другим. Весь остальной трафик будет идти напрямую, что обеспечивает максимальную скорость и минимальную задержку.

Пошаговая настройка:

  1. В настройках маршрутизации установите правило по умолчанию (Default) на DIRECT (напрямую).
  2. Нажмите «+», чтобы создать новый блок правил, и разместите его в самом верху списка.
  3. Добавьте условия типа GEOSITE и впишите значения для нужных сервисов. Например:
  • youtube
  • instagram
  • netflix
  • chatgpt
  1. Установите действие для этого блока на PROXY (через VPN).
  2. Сохраните изменения.

Результат:

  • Большая часть интернета работает напрямую.
  • Выбранные сервисы автоматически открываются через VPN.

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

Если вы хотите добавить конкретный сайт, которого нет в GeoSite, используйте правило DOMAIN с точным доменом. Например, chatgpt.com или x.com. Однако для крупных платформ лучше полагаться на GEOSITE.

Сценарий 3 и 4: Исключения для выбранных сайтов и приложений

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

Сценарий 3: Весь интернет напрямую, кроме выбранных сайтов

  1. Установите правило по умолчанию на DIRECT.
  2. Создайте новый блок правил и разместите его выше остальных.
  3. Добавьте условия типа DOMAIN с нужными доменами, например chatgpt.com, x.com.
  4. Установите действие PROXY.
  5. Сохраните.

Этот вариант подходит, когда вам нужен VPN только для нескольких сайтов. Если сайт использует CDN, возможно, потребуется использовать GEOSITE вместо DOMAIN, чтобы охватить все технические домены.

Сценарий 4: Весь интернет напрямую, кроме выбранных приложений

На ПК (Windows, macOS, Linux):

  1. Откройте правила маршрутизации.
  2. Добавьте правило типа PROCESS-NAME.
  3. Введите точное имя исполняемого файла, например telegram.exe.
  4. Установите действие PROXY.
  5. Оставьте правило по умолчанию DIRECT.

На смартфонах (iOS/Android) используйте функцию Per-App Proxy:

  1. Перейдите в настройки Per-App Proxy.
  2. Выберите режим: «только выбранные приложения через VPN» или «все, кроме выбранных».
  3. Отметьте нужные приложения галочками.

Важно помнить, что правило PROCESS-NAME работает только в режиме TUN. Также некоторые программы запускают дочерние процессы, которые могут ходить в сеть отдельно, поэтому правило может не сработать. В таких случаях лучше использовать правила по доменам.

Сценарий 5 и 6: Discord через VPN, игры напрямую и локальная сеть

Эти сценарии решают две популярные задачи: снижение пинга в онлайн-играх и сохранение доступа к локальным устройствам при включённом VPN.

Сценарий 5: Discord через VPN, игра напрямую

Цель — обеспечить низкий пинг в игре (без VPN) и при этом использовать голосовой чат Discord через VPN (например, если Discord заблокирован).

  1. Создайте блок правил для Discord:
  • Тип: PROCESS-NAME, значение: Discord.exe, действие: PROXY.
  • Переместите этот блок в самый верх списка.
  1. Создайте блок для игры:
  • Тип: PROCESS-NAME, значение: EscapeFromTarkov.exe (и при необходимости BsgLauncher.exe), действие: DIRECT.
  1. Сохраните.

В результате Discord работает через VPN, а игра — напрямую, что снижает задержку. Если игра использует несколько процессов, добавьте все их в правило.

Сценарий 6: Локальная сеть напрямую

Чтобы при включённом VPN не пропадал доступ к роутеру (например, 192.168.1.1), сетевому принтеру или устройствам умного дома:

  1. Зайдите в Настройки.
  2. Включите опцию «Bypass system proxy for local addresses» (Обход системного прокси для локальных адресов).
  3. Если используется режим TUN, добавьте правило маршрутизации: Тип GEOIP, значение private, действие DIRECT.

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

Сценарий 7: Разные сайты через разные VPN-локации и расширенные профили

Иногда возникает необходимость направить разные сайты через разные VPN-серверы. Например, сайт A должен открываться через сервер в США, а сайт B — через сервер в Эстонии. В HAPP базовая настройка правил не позволяет этого сделать, так как все правила используют одно исходящее подключение (outbound).

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

Что нужно сделать:

  1. Подготовьте JSON-профиль маршрутизации, в котором описаны несколько outbound-подключений (например, к серверам в разных странах).
  2. Импортируйте этот профиль в HAPP.
  3. Настройте правила так, чтобы определённые домены или GeoIP-категории направлялись на соответствующие outbound.

Это продвинутая настройка, требующая понимания структуры конфигурационных файлов Xray. Если у вас нет опыта, можно обратиться за помощью к поддержке вашего VPN-провайдера или в специализированные сообщества.

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

Частые ошибки и как их избежать

При настройке раздельного туннелирования в HAPP пользователи часто сталкиваются с типичными проблемами. Рассмотрим их и способы решения.

1. Сайт добавлен через DOMAIN, но видео или изображения не загружаются.

Многие сервисы используют дополнительные скрытые домены для доставки контента (CDN). Например, YouTube использует googlevideo.com. Если вы добавили только youtube.com, видео может не загружаться. Решение: замените правило DOMAIN на GEOSITE с указанием имени сервиса (например, geosite:youtube). Это охватит все технические домены.

2. Трафик идёт не по тому маршруту.

Проверьте порядок правил. HAPP читает правила сверху вниз и останавливается при первом совпадении. Если вверху стоит общее правило (например, DIRECT для всего), нижестоящие правила для конкретных сайтов не сработают. Поднимите нужный блок правил выше.

3. Пропал доступ к локальным устройствам.

Убедитесь, что включена опция «Bypass system proxy for local addresses» в настройках. Если используется режим TUN, добавьте правило geoip:private с действием DIRECT.

4. Правило PROCESS-NAME не срабатывает.

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

5. После обновления программы правило перестало работать.

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

6. Браузер — один процесс на все вкладки.

Нельзя разделить трафик разных вкладок одного браузера правилом по программе. Используйте правила по доменам или второй браузер с отдельными настройками прокси.

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

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

Можно ли пустить через туннель только одну вкладку браузера?

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

Почему правило PROCESS-NAME не срабатывает?

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

Работает ли раздельное туннелирование без прав администратора?

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

Как проверить, что трафик идёт правильно?

Внутри программы, которую вы хотите проверить, посмотрите, какой IP-адрес она видит (например, через сервис определения IP). Также можно использовать встроенные инструменты HAPP для проверки маршрутов. Если правило не срабатывает, проверьте порядок правил и точность значений.

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

Убедитесь, что правила для российских сайтов (geoip:ru, geosite:ru) с действием DIRECT находятся выше правила по умолчанию PROXY. Также проверьте, не перехватывает ли какое-то другое правило трафик. Если проблема сохраняется, временно отключите VPN и проверьте доступность сервиса.

Можно ли настроить разные сайты через разные VPN-локации в HAPP?

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