下载ngrok
git clone https://github.com/tutumcloud/ngrok.git ngrok
ssl
NGROK_DOMAIN="yc.chail.top"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
复制CRT
cp base.pem assets/client/tls/ngrokroot.crt
cp base.pem assets/client/tls/ngrokroot.crt
编译服务器
make release-server release-client
编译客户端
(1)windows
GOOS=windows GOARCH=amd64 make release-client
(2)mac
GOOS=darwin GOARCH=amd64 make release-client
(3) arm
GOOS=linux GOARCH=arm make release-client
服务端脚本
/opt/ngrok/bin/ngrokd -tlsKey=/opt/ngrok/server.key -tlsCrt=/opt/ngrok/server.crt -domain="yc.chail.top" -httpAddr=":8321" -httpsAddr=":8322" -tunnelAddr=":8320"
后台运行
nohup /opt/ngrok/bin/ngrokd -tlsKey=/opt/ngrok/server.key -tlsCrt=/opt/ngrok/server.crt -domain="yc.chail.top" -httpAddr=":8321" -httpsAddr=":8322" -tunnelAddr=":8320" >/dev/null 2>&1 &
创建 ngrok.cfg
server_addr: "yc.chail.top:8320"
trust_host_root_certs: false
tunnels:
mstsc:
remote_port: 8331
proto:
tcp: "127.0.0.1:33389"
ssh:
remote_port: 8332
proto:
tcp: "127.0.0.1:22"
rote:
remote_port: 8333
proto:
tcp: "127.0.0.1:33387"
http:
remote_port: 8321
proto:
http: 8084
https:
remote_port: 8322
proto:
http: 8084
客户端启动
nohup /root/ngrok-yc-linux/ngrok -log=stdout -config=/root/ngrok-yc-linux/ngrok.cfg start ssh 1>/dev/null 2>&1 &