Я использую свое устройство Android в качестве мобильного веб-сервера. Я хочу направить каждого пользователя, который подключается через мою портативную точку доступа Android, к определенной странице благополучия.

Кто-нибудь знает, как реализовать эту технику на моем устройстве (я считаю, что это называется техникой captive portal) )?

21
Panayotis 18 Апр 2014 в 12:19

4 ответа

Лучший ответ

Я отвечаю на свой вопрос, пока кто-нибудь не поделится полезной информацией о том, как реализовать захватывающий портал на некорневом устройстве.

На данный момент мне не известно о таком рабочем решении.

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

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

@ mmm2006: Однако, если у вас есть рутированное устройство, есть такие приложения, как Paywall, который поможет вам.

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

13
Panayotis 26 Сен 2014 в 07:26

Captive Portal теперь представлен в Android 11 - уровень API 30. Взгляните на новую функцию. Captive Portal - уровень API 30 - новая функция

1
Yatin 31 Окт 2020 в 06:27

Я не уверен, что делать это на устройствах Android (я здесь искал, как отключить проверку Android для захвата), но я установил dnsmasq на Raspberry Pi, работающий как точка доступа Wi-Fi, используя hostapd, чтобы весь трафик приходил на устройство (а затем с помощью nginx предлагал либо страницу по умолчанию, либо настройку виртуального хоста для конкретного домена).

Похоже, это заставляет мой Android 7.0 поверить в то, что существует увлекательный портал (который странным образом направляет меня на captivate.apple.com, который показывает мой URL-адрес по умолчанию).

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

0
MrMesees 5 Мар 2018 в 07:38

Портал для захвата Android, начиная с Marshmallow и далее, для получения более подробной информации. https://developer.android.com/reference/android/net/CaptivePortal.html

Добавьте фильтр намерений android.net.conn.CAPTIVE_PORTAL в действие средства запуска приложений.

-2
Ranjeet Jha 10 Авг 2016 в 11:44