在 StackOverflow 上进行大量搜索后,似乎只有在 4.0 之前创建一个 VPN 配置文件的方法是让设备生根
我的问题是以下应用程序如何在没有 root 的情况下执行此操作?
https://play.google.com/store/apps/details?id=com.expressvpn.vpn&hl=en
更新 1
似乎私有 API 是 4.0 之前的方式。不幸的是,没有多少资源可以开始。有谁知道私有 api 是否仍然需要有根设备?
更新 2
看来您可以使用修改后的 Android.jar 或使用反射来做到这一点。L2TP/IPSEC 仍然需要有根设备。PPTP似乎没有。
更新 3
请注意,这是从各种来源获取的。似乎需要 root,因为 VpnService 启动 racoon,然后以系统用户身份运行,并从 KeyStore 检索 PSK。所以其他应用程序创建的 KeyStore 条目对 racoon 是不可见的。(在linux环境下,racoon是一个协助IPSEC相关密钥协商的安全进程——IKE)。
这是有道理的,但是,仍然有应用程序无需 root 即可实现 L2TP/IPSEC。
更新 4
XinkVPN,入门的源代码。仍然不允许用户在无需生成 key_store 并重新编译的情况下创建 L2TP 配置文件。不是很市场友好,但一个神话般的开始。