Как пустить через Happ только выбранные приложения на Android
- Автор
- Екатерина Лебедева, редактор раздела knowledge base
- Проверил:
- Артём Волков
- Проверено:
- Опубликовано:
- , обновлено
- Версия гайда:
- 1.0
Коротко
Чтобы на Android пустить через Happ только часть приложений, нужен параметр подписки per-app-proxy-mode со списком пакетов per-app-proxy-list — документация описывает его как настройку, которую провайдер задаёт через Provider ID, а не как переключатель в обычных настройках.
Per-app proxy на Android в Happ работает через параметры подписки: per-app-proxy-mode со значениями off, on или bypass задаёт общий режим, а per-app-proxy-list, per-app-proxy-list-invert или per-app-proxy-list-set — список конкретных приложений по идентификатору пакета Android, например com.google.chrome. Документация относит эти параметры к разделу управления приложением через подписку, для которого провайдеру нужен Provider ID, поэтому обычному подписчику часто нужно обращаться к провайдеру, а не искать переключатель самостоятельно. Если вы сами управляете подпиской и у неё есть Provider ID, эти параметры можно передать HTTP-заголовком ответа сервера подписки или строкой в её теле.
Как эта функция устроена в Happ
Per-app proxy на Android в Happ — это не отдельный переключатель в обычных настройках, а параметр, который провайдер передаёт вместе с подпиской. Документация описывает его в разделе управления приложением через подписку, для которого нужен Provider ID.
Практически это значит: если вы обычный подписчик, вы не находите такую настройку в интерфейсе — она приходит уже готовой от провайдера. Если вы сами настраиваете сервер подписки и у неё есть Provider ID, вы можете задать её тем же способом, что и другие расширенные параметры Happ.
Задача решается на уровне пакетов Android, а не доменов: VPN получает или не получает трафик конкретного приложения целиком, независимо от того, к каким адресам оно обращается.
Как настроить
Решите, какой режим нужен
on ограничивает VPN списком приложений, bypass — наоборот, исключает список из VPN, оставляя остальные под туннелем.
Результат: Вы можете сформулировать: только эти приложения через VPN (on) или все, кроме этих (bypass).
Соберите список приложений
Проще всего взглянуть на ссылку карточки приложения в Google Play — идентификатор указан там после
id=.Результат: У вас есть точные идентификаторы пакетов нужных приложений, например com.google.chrome.
Определите, кто настраивает параметр — вы или провайдер
Результат: Понятно, нужно ли обращаться к провайдеру или у вас есть Provider ID для собственной подписки.
Если вы подписчик — обратитесь к провайдеру
Сообщите ему нужный режим и список идентификаторов пакетов — дальше настройка происходит на его стороне.
Результат: Провайдер подтвердил, что применил per-app-proxy-mode и список для вашей подписки.
Если вы управляете подпиской — добавьте параметры
Формат такой же, как у других расширенных параметров: заголовок ответа сервера подписки или строка с # в начале её тела.
Результат: Параметры per-app-proxy-mode и per-app-proxy-list переданы в HTTP-заголовке или в теле подписки.
Обновите подписку в приложении на Android
Результат: Happ запросил у сервера подписки актуальные параметры.
Переподключитесь к серверу
Результат: VPN-соединение установлено заново с новыми параметрами.
Проверьте поведение конкретного приложения
Откройте приложение из списка и сравните его сетевое поведение — например, определяемый по нему внешний адрес — с приложением, которого в списке нет.
Результат: Приложение из списка ведёт себя так, как задано режимом on или bypass.
Пример параметров подписки
Условный пример: через VPN идёт трафик только браузера и одного мессенджера, остальные приложения подключаются напрямую.
per-app-proxy-mode: on
per-app-proxy-list: com.google.chrome,com.meta.instagramОбратный вариант — все приложения через VPN, кроме перечисленных:
per-app-proxy-mode: bypass
per-app-proxy-list: com.example.bankingЭто условные примеры для иллюстрации формата, а не значения, которые нужно скопировать без изменений.
Отличия по платформам
| Платформа | Поддержка per-app proxy |
|---|---|
| Android | Описана в документации: per-app-proxy-mode и списки приложений по идентификатору пакета |
| Android TV | То же приложение, что на Android, но отдельно для TV документация функцию не описывает |
| iOS | Не описана: выбор трафика по конкретным приложениям для обычных приложений App Store ограничен самой Apple |
| Windows, macOS, Linux | Не описана: похожую задачу решают через раздельное туннелирование по доменам и IP в профиле маршрутизации |
| Apple TV | Не описана и не применима — на этой платформе нет даже полноценных профилей маршрутизации |
Проверка результата
- Провайдер подтвердил применение per-app-proxy-mode и списка приложений либо вы сами передали эти параметры со своим Provider ID.
- Подписка на Android обновлена после изменения параметров.
- Устройство переподключено к серверу после обновления.
- Приложение из списка ведёт себя согласно выбранному режиму — on или bypass.
- Приложение, не входящее в список, ведёт себя противоположным образом.
Если поведение не изменилось
| Что видно | Возможная причина | Где разбор |
|---|---|---|
| Все приложения ведут себя одинаково | Провайдер не применил параметр или подписка не обновлена | Обновление подписки |
| Приложение из списка не работает вовсе | Неверный идентификатор пакета в списке | Конфигурация не валидная |
| Изменения не видны после правки заголовков | Забыто переподключение — режим применяется к активному VPN-соединению | TUN-режим |
| Работало раньше, перестало после обновления приложения из списка | Изменился идентификатор пакета у обновлённой версии | — |
Если список верный, а поведение не меняется, для начала переподключите VPN полностью — отключите и включите его заново, а не просто обновите подписку.
Главное
- Per-app proxy на Android в Happ настраивается параметром per-app-proxy-mode (off, on, bypass) и списком приложений в per-app-proxy-list.
- Эти параметры входят в раздел управления приложением через подписку и требуют Provider ID — обычный подписчик не находит для них отдельного пункта в настройках.
- Список приложений задаётся идентификаторами пакетов Android через запятую, например com.google.chrome,com.meta.instagram.
- Если приложение из списка ещё не установлено на устройстве, Happ учтёт его автоматически при первом подключении к VPN после установки.
- Документация не описывает такую функцию для iOS, Windows, macOS и Linux — там для похожей задачи используют раздельное туннелирование по доменам и IP в профиле маршрутизации.
Частые вопросы
Как узнать идентификатор пакета Android-приложения для списка per-app-proxy-list?
Проще всего найти приложение в Google Play через браузер и посмотреть адрес страницы: после `id=` в ссылке указан именно идентификатор пакета, например com.google.android.youtube. Также на самом устройстве в «Настройках» → «Приложения» у карточки приложения иногда показывается техническое имя пакета — оно совпадает с тем, что нужно вписать в список.
Я обычный подписчик, а не владелец сервера подписки — что мне делать?
Сами вы такой список в интерфейсе Happ не находите, потому что параметр относится к настройкам, которые провайдер передаёт через подписку с Provider ID. Обратитесь к провайдеру, назовите режим (on или bypass) и список идентификаторов пакетов нужных приложений — дальше это его сторона настройки, а не ваша.
Как включить per-app proxy, если я сам управляю подпиской с Provider ID?
Добавьте параметры per-app-proxy-mode и per-app-proxy-list (или per-app-proxy-list-invert, per-app-proxy-list-set) в HTTP-заголовки ответа сервера подписки либо строками с символом # в начале её тела — так же, как остальные расширенные параметры Happ. После следующего обновления подписки настройка применится у подписчиков на Android.
Сработает ли правило, если приложение переустановили с обновлённой версией?
Да, если идентификатор пакета не изменился — а при обычном обновлении через Google Play он остаётся тем же. Правило перестанет работать только если разработчик выпустит приложение под другим идентификатором пакета: тогда старое значение в списке будет указывать на уже не тот пакет, и список нужно будет обновить.
Чем per-app-proxy-list отличается от per-app-proxy-list-invert на практике?
per-app-proxy-list применяет режим on или bypass именно к перечисленным приложениям. per-app-proxy-list-invert делает наоборот — выбирает все приложения, кроме указанных в списке. Через bypass с обычным списком можно исключить пару приложений из VPN, а через bypass с invert-списком — оставить в VPN только пару приложений, пропустив мимо всё остальное.
Нужен ли включённый TUN, чтобы per-app proxy на Android заработал?
Да, по смыслу функции: per-app-proxy-mode решает, какие приложения используют активный VPN-туннель Android, а какие обращаются к сети напрямую. Без установленного и включённого туннеля нет самого VPN-соединения, которое можно было бы выборочно применять к части приложений.
Работает ли per-app proxy так же на Android TV, как на обычном Android?
Приложение на Android TV использует тот же код, что и на Android, но документация отдельно для Android TV эту функцию не описывает, а список установленных приложений на телевизоре обычно короче, чем на телефоне. Прежде чем настраивать список на Android TV, стоит уточнить у провайдера, тестировал ли он этот параметр именно на этой платформе.
Упомянутые темы
Похожие материалы
- Per-app proxy
- Как включить TUN-режим в Happ на любой платформе
- Как включить Kill Switch: что реально работает в Happ
- Как проверить, что трафик идёт через сервер
- Happ на компьютере и на телефоне: в чём разница на практике
- LAN-подключения в Happ: что это и как работают
- MTU
- Управление настройками Happ через подписку
Разделы по теме
Источники
- Документация Happ: управление настройками приложения — обращение 28 сентября 2026
- Документация Happ: Provider ID — обращение 28 сентября 2026