【问题标题】:How are existing VPN applications creating new profiles in Android 2.0 - 2.3?现有 VPN 应用程序如何在 Android 2.0 - 2.3 中创建新配置文件?
【发布时间】:2012-06-25 04:36:32
【问题描述】:

在 StackOverflow 上进行大量搜索后,似乎只有在 4.0 之前创建一个 VPN 配置文件的唯一方法是让设备生根

我的问题是以下应用程序如何在没有 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似乎没有。

How to use internal APIs on Android

更新 3

请注意,这取自各种来源。似乎需要 root,因为 VpnService 启动 racoon,然后以系统用户身份运行,并从 KeyStore 检索 PSK。所以其他应用程序创建的 KeyStore 条目对 racoon 是不可见的。 (在linux环境下,racoon是一个协助IPSEC相关密钥协商的安全进程——IKE)。

这是有道理的,但是,仍然有应用程序无需 root 即可实现 L2TP/IPSEC。

更新 4

XinkVPN,入门的源代码。仍然不允许用户在无需生成 key_store 并重新编译的情况下创建 L2TP 配置文件。对市场不太友好,但开端很棒。

https://github.com/xinthink/xinkvpn

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

【问题讨论】:

    标签: android vpn


    【解决方案1】:

    您可以通过未记录的意图将用户重定向到 VPN 设置屏幕。

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

    这似乎适用于 1.6-4.1 手机。

    【讨论】:

    • 该应用程序旨在自动配置大部分 VPN 进程。我创建并保存了一个 VPNProfile,但它没有显示在 VPN 设置菜单中。
    • @OhDannyBoy 你是怎么做到的?您是如何创建和保存 VpnProfile 的?
    猜你喜欢
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多