玩命加载中qwq

编译Ngrok手记 内网穿透

  • 2017-01-04
  • 7,241
  • 17

其实没啥好讲的!记录一下以便今后使用
顺便说一下啦!如果有小伙伴有内网穿透的需求,兔子这里可以帮你呦~
已编译版本:
Linux-ARM(树莓派Raspbian!经测试,Android6.0也能跑。。而且我还成功地在上边运行了micro httpd..)
Linux-x86(32位linux! Ubuntu)
Linux-x64(64位linux! Ubuntu)
Windows-x86(32位Windows! Win7)
Windows-x64(64位Windows! Win10)

/*获取go环境包*/
wget http://www.golangtc.com/static/go/1.7.4/go1.7.4.linux-amd64.tar.gz

/*解压*/
tar -C /usr/local  -xzf   go1.4.2.linux-amd64.tar.gz  

/*设定环境变量*/
mkdir $HOME/go  
echo 'export GOROOT=/usr/local/go'>> ~/.bashrc  
echo 'export GOPATH=$HOME/go'>> ~/.bashrc  
echo 'export PATH=$PATH:$GOROOT/bin'>> ~/.bashrc  
source  $HOME/.bashrc  

/*安装依赖库*/
apt-get install mercurial git bzr subversion  

/*clone源码*/
git clone https://github.com/inconshreveable/ngrok.git  

/*设定ngrok服务器域名*/
export NGROK_DOMAIN="xxxxx"  


/*建立证书*/
cd ngrok
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  


/*编译选项 交叉编译*/
注意:
不同平台使用不同的GOOS和GOARCH
Linux平台32位系统:GOOS=linux  GOARCH=386
Linux平台64位系统:GOOS=linux  GOARCH=amd64
MAC平台32位系统:GOOS=darwin  GOARCH=386
MAC平台64位系统:GOOS=darwin  GOARCH=amd64
Windows平台32位系统:GOOS=windows  GOARCH=386
Windows平台64位系统:GOOS=windows  GOARCH=amd64
ARM平台:GOOS=linux  GOARCH=arm


/*编译!*/
make release-server release-client  

复制ngrok到/bin/

/*启动ngrokd server服务*/
ngrokd -domain="xxxx" -httpAddr=":8000" -httpsAddr=":4433" -tunnelAddr=":4443"

/*配置ngrok client*/
客户端使用,拷贝刚刚生成的ngrok.exe文件到本地,创建ngrok.cfg配置文件,可以根据自己的实际情况进行配置
server_addr: "xxxx:4443"  
trust_host_root_certs: false  

/*剩余事项*/
做好DNS解析。
*.ngrok
ngrok

/*关于config的配置*/
server_addr: "域名:4443" //服务器地址 不能改
trust_host_root_certs: false//信任证书 不能改
tunnels:
  hello:  //自定义名称 hello
    subdomain: "server"  //自定义子域名 server
    proto:  //接口 
      http: "80"  //转发http80
  fuck:
    remote_port: "2333"  //服务器的远程端口
	proto:
	  tcp: 2333  //tcp转发本地端口
/*2019-6-14补充*/

灌水吐槽区(登录QQ有头像!)

  • 蘑菇点点

    嘻嘻 蘑菇到此一游⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄(刻痕迹
    另外为什么刷新就能输入颜文字了鸭 _(:3 」∠)_(吐槽

  • CSDNan86680

    兄台,我自己搭建了个ngrok服务器,可是我树莓派上一直是reconnecting,这是为啥?我再树莓派上ping是可以通的,然后我用的校园网下,是不是因为这个啊?

    • 小雨萌萌哒丶

      ヾ(o◕∀◕)ノ编译的 时候注意你的域名。 还有就是域名解析 *.ngrok.xxx.com和 ngrok.xxx.com 得解析到你的ngrok服务器上边。树莓派要联网。应该没什么问题的
      ( ( ̄▽ ̄”)密码不对的问题我看到了…..窝也不知道啥问题..你可以试着直接用QQ登录

  • ⑨BIE

    wowwow!!!这确实比某壳强多了Σ(-`Д´-ノ;)ノ
    然而,我是被域名商直接断了连向我的TCP链接 (╯‵□′)╯︵┻━┻ 穿透并没有什么用啊呜呜呜呜(/TДT)/

    • 小雨萌萌哒丶

      怪不得这几天打不开你的站。。눈_눈运营商断TCP连接,这就比较尴尬了 按理来说ngrok连接应该不会被断掉。。要试试吗(ง •̀_•́)ง 。

  • ☆猎风Zeus

    哇哇哇!!!这个比那个花生壳好多了!!!(ง •̀_•́)ง

    • 小雨萌萌哒丶

      ヾ(o◕∀◕)ノ对呀对呀!8角1G流量!

  • 团子

    这玩意比某某壳良心多了(。-`ω´-)可惜就是不能同个地址多开端口 不然配合私有云的软件就很棒了(不想上黑裙。。。)

    • 小雨萌萌哒丶

      ヾ(o◕∀◕)ノ可以的呀。我开了80,顺便还开了22,21

      • 团子

        我的意思是不能在同一个域名上面映射多个端口。。。或者我的方法不对?눈_눈你是怎么操作的

        • 小雨萌萌哒丶

          _(:3 」∠)_可以映射多个端口呀。在ngrok.cfg里边配置

你必须 登录 才能发表灌水吐槽区(登录QQ有头像!).