壹、介绍:
tunnelblick是openvpn在mac下的开源软件。
贰、准备工作:
https://tunnelblick.net 这是tunnelblick的官网。源码也在此下载。
在download中下载dmg文件,安装后即可使用。使用教程参考:在Mac上使用OpenVPN TunnelBlick
我的工作环境:macOs版本:10.13 xCode版本:9.4.1
叁、文件介绍
解压tunnelblick.zip,里面有若干文件(夹),主要的有三个。
一、Building Tunnelblick from Source Code
主要讲了如何通过源码编译tunnelblick。我翻译了之后觉得言之无物,还是通过自己研究才编译成功了。
二、third_party
主要包括了openvpn的依赖库的源码,诸如:easy-rsa,openvpn,tuntpa,lzo等。
三、tunnelblick
即tunnelblick的工程代码。
肆、编译
打开tunnelblick文件夹中的Tunnelblick.xcodeproj
点击运行,工程开始编译,然后会出现编译错误。
../lock.h:35:10: fatal error: 'kern/locks.h' file not found
cp: tuntap-20111101/tuntap/tap.kext: No such file or directory
cp: tuntap-20111101/tuntap/tun.kext: No such file or directory
cp: tuntap-20141104/tuntap/tap.kext: No such file or directory
cp: tuntap-20141104/tuntap/tun.kext: No such file or directory
Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
/Users/myusername/Desktop/tunnelblick-read-only/branches/3.6.8/tunnelblick/MenuController.m:51:9: 'Sparkle/SUUpdater.h' file not found
这是因为没有安装xcode的命令行运行工具。解决的方法也很简单,在终端上运行"xcode-select --install"。
参考资料:7 errors when trying to Build from Source and Rebrand on version 3.6.8
这个问题解决后,再次运行编译。因为xcode的命令行工具会编译tunnelblick的依赖库,所以第一次编译时,会耗时比较长。所有依赖库都编译完后,还是会有错误,但并不影响调试运行。