May 13

Настройка туннелирования в Happ

В данной статье хочу поделиться вариантом настройки популярного VPN-клиента Happ (Happ Plus) для iOS таким образом, чтобы при включенном VPN обращение к российским сайтам и приложениям шло напрямую, минуя VPN-подключение. Именно про это приложение было больше всего вопросов сегодня в комментариях. Статья, разумеется, рассчитана на обычных пользователей — коллеги-айтишники и мамкины хакеры, просьба не душнить в реплаях, но писать замечания по делу, если имеются 😄

Важно! Happ — это просто приложение-клиент, оно не продает вам VPN-доступ, а работает с тем, что вы в него загрузите, и тема выбора VPN-провайдера, очевидно, остается за рамками данной статьи. Очень часто люди оставляют негативные отзывы об этом и подобных приложениях-клиентах, хотя в проблемах (медленно грузит, обрывы связи и т.п.) зачастую виноват VPN-провайдер. Это как купить телевизор и оставить на него негативный отзыв просто потому, что вы посмотрели плохое кино 🙂

Итак у вас уже есть на айфоне или айпаде установленный Happ, внутри него добавлен рабочий профиль VPN-сервера, а вы — законопослушный гражданин и желаете посещать исключительно вражеские сайты, злостно блокирующие доступ пользователям из России, так ведь? 😇Тогда погнали.

Открываем Happ и заходим в меню настроек, тапнув на изображение шестеренки в левом верхнем углу:

В появившемся меню ищем пункт "Маршрутизация" и переходим внутрь него, как показано на скрине ниже:

Так будет выглядеть раздел "Маршрутизация" при отсутствии настроек:

Пытаться включить опцию "Использовать роутинг" пока бессмысленно, ведь у нас нет соответствующих настроек.
Для создания нового профиля с настройками маршрутизации нажимаем кнопку с тремя точками в правом верхнем углу и в выпадающем меню выбираем пункт "Новый Профиль":

После этого приложение запросит у вас название для нового профиля, можно указать любое, например, ru-direct, и нажать на "Создать":

Теперь в окне "Маршрутизация" переключатель "Использовать роутинг" автоматически был переведен в активное положение, а в списке ниже появился пустой профиль с заданным вами названием. Теперь наша задача — настроить данный профиль.
Для этого переходим внутрь профиля, как показано на скрине ниже:

Меню настроек профиля не помещается на один экран, но мы в любом случае работаем только с верхней его частью, которая показана на скрине:

Важно проверить, чтобы у geosite и geoip в графах "Последнее обновление" были актуальные дата/время. Если у вас не так, то нажмите последовательно кнопки с круговыми стрелками напротив каждого пункта и дождитесь окончания загрузки.

Также следует выключить опцию "Урезать геофайлы", иначе могут возникнуть ошибки на этапе запуска подключения с новым профилем, и маршрутизация фактически не заработает.

Теперь приступаем непосредственно к редактированию правил и переходим внутрь соответствующего пункта "Редактировать правила" (стрелка обведена на скрине выше).

В меню редактирования правил в первую очередь убеждаемся, что опция "Глобальный прокси-сервер" включена и затем открываем настройки правил для передачи интернет-трафика напрямую (пункт меню "Напрямую"):

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

geoip:ru
geosite:category-ru

Скрин ниже показывает, как в итоге должен выглядеть ваш список правил "Напрямую":

Теперь аккуратно, ничего не задев по пути🙃, возвращаемся в самое главное окно программы, нажимая кнопку со стрелкой ("Назад") в верхнем левом углу экрана.

Выключаем VPN большой круглой копкой (если был включён во время описанных выше манипуляций) и включаем обратно.

На этапе включения не должно быть никаких ошибок! Если они есть, сверьтесь еще раз внимательно со статьей и каждым скрином: ничего ли не забыли/не перепутали.

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

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

PS: Для самых ленивых я уже создал конфигурацию, перейдя по ссылке конфиг настроится в Happ автоматически

Этот способ весьма эффективен на айфонах и сильно затрудняет определение использования vpn т.к. на iOS доступ к системе ограничен. Причина в том, что у этой операционной системы политика конфиденциальности и безопасности предполагает, что все сторонние приложения изолированы и не могут собирать или изменять информацию, хранящуюся в других приложениях. Для Android ситуация проще: там работают системы ConnectivityManager и NetworkCapabilities, которые позволяют любому приложению запросить параметры активной сети и сообщить, что текущий интернет-трафик идет через VPN.