Android G1 OpenVPN 系列教程之──OpenVPN的安装与使用

本文配图已遗失

声明

本文所有内容在安装了HIAPK3.01ROM的G1手机中测试通过,对于其他机型和ROM,本人不保证其完全可行。

我的手机相关参数

测试机的相关参数

前言

首先,我是一个有CMWAP包月无限流量卡的G1手机用户。

此前,我有一个诺基亚3230,我通过诺基亚的PC套件使电脑通过手机上网,并且使用OpenVPN成功地突破了移动对CMWAP限制,获得了类似CMNET的网络访问权限──不过我想更多的人用OpenVPN是因为对自由的向往──于是再后来我就将两者结合了。

那么,当我拥有了一个功能强大的并且非常依赖网络的Android手机时……

OpenVPN的安装与使用

参考资料:

http://android.modaco.com/content/software/291919/openvpn-on-android/

这个帖子解决了我不少问题,本文的OpenVPN安装方法就是根据该帖2楼的方法并结合自己的实际情况进行调整后得出的,修改后的方法对PC端的要求更低,不需要安装adb等工具。

准备工作:

  1. 超级终端

  2. ROOT权限

  3. 读卡器或数据线

──我用的是HIAPK3.01ROM,系统自带了超级终端并默认具有ROOT权限,其他机型和ROM可能需要先行安装超级终端并获取ROOT权限。

安装OpenVPN:

那么我们就开始吧,首先下载用于Android的OpenVPN软件包:http://cloud.github.com/downloads/fries/android-external-openvpn/openvpn-android-2.1.tar.bz2

解压缩,得到openvpn文件夹,结构如下:

-openvpn
-system
-bin
    openssl
    openvpn
-lib
    libcrypto.so
    liblzo.so
    libssl.so

将system文件夹复制到sd卡根目录下──读卡器和数据线随你喜欢;

将卡放回手机,打开超级终端;

输入下面这行命令将系统挂载为可写:

mount -o rw,remount -t ext2 /dev/block/mtdblock3 /system

输入下面这行命令进入/system/lib/目录:

cd /system/lib/

输入下面两行命令为系统文件libcrypto.so和libssl.so做备份(它们将被新的文件替换,在修改系统文件前做备份是个好习惯):

cp libcrypto.so libcrypto-orig.so
cp libssl.so libssl-orig.so

输入下面三行命令将我们下载的三个.so文件复制到/system/lib/目录下:

cp /sdcard/system/lib/libcrypto.so libcrypto.so
cp /sdcard/system/lib/liblzo.so liblzo.so
cp /sdcard/system/lib/libssl.so libssl.so

输入下面这行命令进入/system/bin/目录:

cd /system/bin/

输入下面两行命令将我们下载的openssl和openvpn文件复制到/system/bin目录下:

cp /sdcard/system/bin/openssl openssl
cp /sdcard/system/bin/openvpn openvpn

安装OpenVPN

在超级终端中安装OpenVPN

在超级终端输入下面的命令:

openvpn

如果出现大量openvpn参数的说明,就表明安装成功了。

测试OpenVPN的安装

测试OpenVPN的安装

连接OpenVPN

首先将你要使用的OpenVPN的证书和配置文件复制到sd卡中──一般包括一个crt文件,一个key文件,一个或多个ovpn文件──你的OpenVPN服务提供者可能会单独给出这些文件,也可能只给你一个定制好的OpenVPN安装程序,这种情况下,你通常可以在OpenVPN的安装目录的config目录下获取这些文件。在这里,我们要新建一个名为auth的文件,在这个文件的第一行输入你的OpenVPN用户名,第二行输入密码,然后将这个文件连同前面提到的那些证书和配置文件一起放到一个名为openvpn的文件夹中(自己新建一个),最后将这个文件夹复制到sd卡的根目录下。

将卡放回手机,打开超级终端,

输入下面这行命令进入到/sdcard/openvpn/目录下:

cd /sdcard/openvpn/

输入下面这行命令连接OpenVPN:

openvpn --config xxx.ovpn --auth-user-pass auth

xxx.ovpn是你要使用的配置文件的名称,请根据实际情况调整

auth文件也一样,你可以根据自己的需要改成其他名字,注意如果你是在windows下创建了这个文件,它可能有一个隐藏的.txt后缀,在使用命令行时别忘了加上后缀

如果屏幕上最终出现Initialization Sequence Completed,则表式已经连接成功。

OpenVPN连接成功

OpenVPN连接成功

小结

到这里为止,我们已经介绍了Android系统中OpenVPN基本的安装和使用方法,相信大多数人已经能够成功的连上自己OpenVPN服务器,享受自由了。部分玩家甚至已经用OpenVPN突破了CMWAP的限制,不会?也没关系,我会尽快奉上本系列的第二部分──在Android中用OpenVPN突破CMWAP限制。

更多

我的第一个MCP,以及开发过程中的经验感悟

起心动念 上周开发完 sheetex 后,发了条朋友圈。有小伙伴建议搞个 MCP 玩,正好我本来也想学,于是这周就花了一天完成了 sheetex-mcp-server,一个将对话中生成的表格保存成 Excel 的 MCP 服务。 做之前快速调查了一下 smithery 和 modelscope ,发现已经有好几个 Excel 相关的:实现上既有调用本机上的 Office 软件进行操作的,也有用库读写文件的;功能就更加眼花缭乱,从简单读写数据,到插入图表,甚至可以截图保存。 看来是打不过了,好在只是做个练习,开搞。 一天下来,学到不少东西,也填了好几个坑,本文以坑为主。 那么下面就按顺序来了。 新手上路 Build an MCP Server 是官方的教程,新手入门刚刚好,它通过调用天气相关的接口演示了 MCP Server 的开发过程。

By 熊立丁

12KB的Excel导出库sheetex是怎么来的

这是一个关于前端 Excel 导出库 sheetex 的故事:我为什么要做这个库,它为什么会这么小,以及你是否值得一试。 如过你问我“为什么非要在前端导出”,那将是另一个故事。 我的数据导出史 不知道你是否还记得自己是从什么时候开始接触数据导出的? 我对自己的“数据导出史”还算有些印象:在还没有正式工作的时候,如果有人问我要数据,我会在数据库管理工具里写个查询语句,然后视对方的用途,导出成SQL 语句、CSV 文件或者Excel 等;待到工作了,需要开发面向最终用户的系统,就不能再这么手工处理,导出功能成为系统标配,用户点击一个按钮,就要下载到相应的文件。 最早是 CSV 格式,因为其生成相对容易,而且也可以通过 Excel 软件进行查看,加上主要是内部用户,偶有无法打开也只要简单培训就能解决。 但随着用户类型变得广泛起来,这种“偶尔”也逐渐变成无法忍受,那么干脆直接导出 Excel 文件吧,反正开源库也已经成熟,于是使用 SheetJS

By 熊立丁
浙ICP备15043004号-1