Подтвердить что ты не робот

Как существующие приложения VPN создают новые профили в Android 2.0 - 2.3?

После многократного поиска в StackOverflow, кажется, укоренение устройства единственным способом создания профиля VPN до 4.0

Мой вопрос в том, как сделать следующие приложения без root?

http://www.featvpn.com/

https://play.google.com/store/apps/details?id=com.expressvpn.vpn&hl=en

Обновление 1

Кажется, что частный API - это путь до 4.0. К сожалению, не так много ресурсов для начала. Кто-нибудь знает, требует ли частное api укоренившееся устройство?

Обновление 2

Кажется, вы можете сделать это с помощью модифицированного Android.jar или с помощью отражения. Для L2TP/IPSEC по-прежнему требуется внедренное устройство. PPTP не выглядит.

Как использовать внутренние API на Android

Обновление 3

Обратите внимание, что это взято из разных источников. Кажется, root необходим, потому что VpnService запускает racoon, который затем запускается как системный пользователь и извлекает PSK из KeyStore. Таким образом, записи KeyStore, созданные другими приложениями, не видны для racoon. (В среде linux racoon - это процесс безопасности, помогающий в ключевых переговорах IPSEC - IKE).

Это имеет смысл, однако есть еще приложения, которые обеспечивают L2TP/IPSEC без root.

Обновление 4

XinkVPN, исходный код для запуска. Все еще не позволяет пользователям создавать профиль L2TP без необходимости генерировать key_store и перекомпилировать. Не очень дружелюбный к рынку, но потрясающий старт.

https://github.com/xinthink/xinkvpn

http://code.google.com/p/xinkvpn/

4b9b3361

Ответ 1

вы можете просто перенаправить пользователя на экран настроек VPN через недокументированное намерение.

        Intent intent = new Intent("android.net.vpn.SETTINGS");
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

Это похоже на работу с телефонами 1,6-4,1.