安装依赖

yum install gcc mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386 -y

下载源码

git clone https://github.com/inconshreveable/ngrok.git

安装证书

cd ngrok  
mkdir cert 
cd cert
export NGROK_DOMAIN="ngrok.dean0731.top"
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

替换证书

cp rootCA.pem ../assets/client/tls/ngrokroot.crt
cp device.crt ../assets/server/tls/snakeoil.crt
cp device.key ../assets/server/tls/snakeoil.key

编译服务端与客户端

切回ngrok目录,(GOARCH=386是32位软件,GOARCH=amd64是64位软件)

生成在ngrok/bin下

<!--linux服务端/客户端-->
GOOS=linux GOARCH=386 make release-server
GOOS=linux GOARCH=amd64 make release-server

GOOS=linux GOARCH=386 make release-client
GOOS=linux GOARCH=amd64 make release-client

<!--Mac OS服务端/客户端-->
GOOS=darwin GOARCH=386 make release-server
GOOS=darwin GOARCH=amd64 make release-server

GOOS=darwin GOARCH=386 make release-client
GOOS=darwin GOARCH=amd64 make release-client


<!--windows服务端/客户端-->
GOOS=windows GOARCH=386 make release-server
GOOS=windows GOARCH=amd64 make release-server

GOOS=windows GOARCH=386 make release-client
GOOS=windows GOARCH=amd64 make release-client
GOOS=linux GOARCH=amd64 make release-server
GOOS=windows GOARCH=amd64 make release-client

启动服务端

./bin/ngrokd -domain="ngrok.dean0731.top" -httpAddr=":60080" -httpsAddr=":60443" -tunnelAddr=":64443"

启动客户端

ngrok.cfg
<!--配置服务端连接地址,也就是基础域名。端口则与服务端-tunnelAddr配置相同-->
server_addr: "ngrok.dean0731.top:64443"  
trust_host_root_certs: false
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=first 8080
-config指向配置文件,-log存放日志文件位置,-subdomain为自定义的域名前缀,8080为本地端口号。

标签: none

评论已关闭