Sign inSign up

liuhonglei/ngrok

By liuhonglei

•Updated about 9 years ago

自己用的ngrok,内网穿透

Image
1

83

liuhonglei/ngrok repository overview

自己用的ngrok,内网穿透

Dockerfile文件 可以适当更改域名端口号更改使用

FROM ubuntu:16.04

# 安装环境
RUN apt-get update \
	&& apt-get -y install build-essential golang mercurial git  
# 下载 ngrok 源码并编译服务端
# 在里面同时加上域名
RUN git clone https://github.com/tutumcloud/ngrok.git /home/ngrok && cd /home/ngrok \
	&& NGROK_DOMAIN="hong-ll.xyz" \
	&& 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 \
	&& cp base.pem assets/client/tls/ngrokroot.crt \
	#开始编译,服务端客户端会基于证书来加密通讯,保证了安全性
	&&  make release-server release-client 
	# 如果一切正常,ngrok/bin 目录下应该有 ngrok、ngrokd 两个可执行文件,ngrokd 是服务端文件,ngrok 是 Linux 的客户端
	
# 安装各种客户端
RUN cd /home/ngrok \
	&& GOOS=linux GOARCH=amd64 make release-server release-client \
	&& GOOS=windows GOARCH=amd64 make release-server release-client \
	&& GOOS=darwin GOARCH=amd64 make release-server release-client \
	&& GOOS=linux GOARCH=arm make release-server release-client 
	
	
WORKDIR /home/ngrok

EXPOSE 8080

CMD bash ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="hong-ll.xyz" -httpAddr=":8080"

可以使用docker-compose.yml创建

ngrok:
    image: 'liuhonglei/ngrok:1.0'
    container_name: ngrok:1.0
    restart: always
    ports:
      - '8080:8080'
      - '4443:4443'
    volumes:
      - '/home/ngrok/bin:/home/ngrok/bin'

也可以直接使用命令

docker run -d --name ngrok -p 8080:8080 -p 4443:4443 -v /home/ngrok/bin:/home/ubuntu/ngrok/bin liuhonglei/ngrok:1.0  

Tag summary

Content type

Image

Digest

Size

294.4 MB

Last updated

about 9 years ago

docker pull liuhonglei/ngrok:1.0