# Напрямую или через туннель Откуда приложения-цели берут сеть — напрямую через ваше обычное соединение или через VPN-туннель — решается в **вашем VPN-клиенте**, а не в VPN Hide. Задача VPN Hide — только сделать VPN *невидимым* для выбранных приложений. С ним работают оба варианта маршрутизации, но задачи у них разные, поэтому решайте для каждого приложения отдельно. ## Сценарий 1: приложение не должно ходить через VPN и не должно его видеть Обычный случай для банков, госуслуг, платёжных сервисов, доставки и всего, что проверяет ваш IP или регион. Нужно, чтобы приложение вело себя ровно так, как на телефоне без VPN. 1. В VPN-клиенте **исключите приложение из туннеля** (split tunneling, маршрутизация по приложениям, список «в обход»). Его трафик теперь идёт через обычное соединение оператора или Wi-Fi, и сервис видит ваш настоящий IP. 2. В VPN Hide дайте приложению роли **Java** и **Native** (плюс **Apps**, если оно ищет установленные VPN-приложения, и **Ports**, если проверяет localhost). Без этого приложение всё равно может понять, что VPN на телефоне *запущен*: по списку интерфейсов, маршрутам, событиям VPN-сети в Android, хотя его собственный трафик идёт мимо. 3. Сохраните, принудительно остановите приложение, откройте заново. Что видит приложение: обычное соединение с вашим настоящим IP, без VPN-интерфейса и без VPN-сети. Что остаётся обнаружимым: ничего связанного с VPN на стороне устройства; проверки, не связанные с VPN (root, целостность устройства), не входят в задачу VPN Hide. Следите за **kill-switch**: если VPN-клиент блокирует трафик, идущий мимо туннеля, исключённое приложение останется без сети. Исключите его и из kill-switch. ## Сценарий 2: приложение должно ходить через VPN, но не должно его видеть Случай, когда трафик приложения нужен внутри туннеля — чтобы дотянуться до заблокированного сервиса или скрыть от него ваш настоящий IP, — а приложение при этом отказывается работать «при активном VPN». 1. В VPN-клиенте оставьте приложение **внутри туннеля**. 2. В VPN Hide дайте ему **Java** и **Native** (и **Apps** / **Ports** по необходимости). VPN Hide фильтрует то, что приложение может узнать локально: VPN-интерфейс исчезает из списка интерфейсов, маршрутов, привязок сокетов и `/proc/net`, а сетевые API Android описывают лежащую под VPN сеть Wi-Fi или мобильную вместо VPN. 3. Сохраните, принудительно остановите приложение, откройте заново. Проверьте, что с выбранными хуками приложение сохраняет доступ к сети; если какой-то хук ломает ему сеть, выключите этот хук для этого приложения в выборе хуков. Что видит приложение: обычное соединение Wi-Fi или мобильное, хотя его трафик на самом деле идёт через туннель. Что остаётся обнаружимым: **выходной IP** вашего VPN-сервера. Если сервис сверяет этот IP с известными диапазонами VPN или хостинга или его геолокация не совпадает, он может отказать независимо от того, что сообщает устройство: VPN Hide прячет VPN *на устройстве* и не может изменить то, что видит сервер. Если после всего этого приложение всё равно отказывает, туннель ему на самом деле не нужен: переведите его в сценарий 1. ## Где это настраивается В обычном VPN-клиенте это настройка **раздельного туннелирования** (split tunnel) / **маршрутизации по приложениям**: выбираете, какие приложения идут через туннель, а какие — напрямую. Поместите приложения-цели туда, куда нужно, по двум сценариям выше. Некоторые VPN маршрутизируют только фиксированный набор приложений и выбора по приложениям не дают; тогда каждое приложение-цель находится в сценарии 2. ## Сам VPN Hide держите в туннеле Чтобы встроенной самопроверке было что измерять, **сам VPN Hide должен идти через туннель** (не выносите его из туннеля). Если ваш VPN маршрутизирует только выбранные приложения и не даёт добавить VPN Hide, самопроверка просто не запустится — это ожидаемо, а не сбой; судите о скрытии по тому, работает ли приложение-цель. См. [Что проверяет самопроверка](what-the-check-proves.md). ## Kill-switch «блокировать без VPN» Если в VPN-клиенте есть kill-switch (блокировать трафик при отключённом туннеле или всё, что идёт мимо него), помните: он может отрезать те приложения-цели, которые вы намеренно пустили **напрямую** (сценарий 1). Исключите их из kill-switch, иначе они будут терять сеть при каждом его срабатывании.