Cubietruck Plus开发板031搭建ngrok服务器
1、 百度搜索“ngrok”,找到官网https://ngrok.com/ ,注册一个账号获取自己一个账号秘钥用于进行后面的绑定操作。
下载ngrok工具:https://ngrok.com/download,根据自己的系统来下载相应版本的ngrok,这里小编选择Linux 64-Bit版:ngrok-stable-linux-amd64.zip


2、 首先来安装必要的工具,更新软件源:
Ngrok是由go语言开发的,需要编译golang,所以首先要在服务器上安装配置go开发环境。
build-essential:编译程序软件包,编译c/c++所需要的软件包都会被安装
golang:GO编译工具
mercurial:一种轻量级分布式版本控制系统
git:一款免费、开源的分布式版本控制系统
在Putty端输入以下命令进行安装:
apt-get update
apt-get install build-essential golang mercurial git

3、 下载ngrok源码:
git clone https://github.com/inconshreveable/ngrok.git ngrok
cd ngrok即可进入该目录


4、 在Cubietruck Plus上生成证书,我们自己搭建的ngrok服务时需要自生成一份证书。
在自生成证书时需要一个解析到服务器上的主域名,这里小编还是万网买的域名”utoous.com”测试。
在Putty输入以下命令:
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=utoous.com" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=utoous.com" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
在ngrok目录下我们就可以看到生成了相应的证书(选中的都是刚生成的文件)。


5、 将新生成的证书,替换掉assets/client/tls下的证书(直接将文件内容替换掉),在Putty输入以下命令即可:
cp /ngrok/rootCA.pem /ngrok/assets/client/tls/ngrokroot.crt
cp /ngrok/device.crt /ngrok/assets/server/tls/snakeoil.crt
cp /ngrok/device.key /ngrok/assets/server/tls/snakeoil.key

1、 ngrok需要使用go进行编译,也就是小编之前安装golang和git等工具, 在Putty输入以下命令进行编译:
make release-server,编译生成ngrokd
需要点时间编译, 顺利的话可以在/root/ngrok/bin/ 文件夹下看到一个ngrokd可执行文件。
为什么是ngrokd不是ngrok,Linux通常对一款软件的服务命名都是在后面加个d,比如mysql,他的服务名为mysqld。


2、 在Putty输入以下命令进行编译:
make release-client,编译生成ngrok
make成功之后,在/ngrok/src/ngrok/main/ngrok 文件夹下看到一个ngrok可执行文件。
