求教ngrok tcp 配置配置

来自Minecraft Wiki
以下的教程会帮助你使用ngrok搭建一个几个人玩的临时或小型服务器。
ngrok是一个隧道连接的工具。它可以使得建立一个临时的小型服务器变得更加简单。
ngrok通常用来搭建测试的服务器,但用来进行多人Minecraft联机也是可以的。ngrok类似于一个反向代理,基本的原理是:四个端,ngrok客户端,ngrok服务端,Minecraft服务端,Minecraft客户端。Minecraft服务端通过ngrok客户端建立一个到ngrok服务端的隧道连接。这样当ngrok服务端接收到来自Minecraft客户端的连接时能通过隧道连接到Minecraft服务端。
具体请参阅
由于ngrok官方服务器被国内封锁,所以需要寻找国内可以使用的第三方服务器。请善用搜索引擎,目前比较稳定的有等等。
由于第三方ngrok服务器通常采用自签名证书的方式,所以你可能需要下载服务器提供的ngrok客户端,而不是官方服务端。下载可执行文件后,应该创建一个配置文件,具体内容取决于你选择的服务器。通常情况下它的格式为:
server_addr: "&服务器&"
trust_host_root_certs: false
当然,一般服务器会给出推荐配置文件,直接套用即可。
和一般ngrok服务器给出的命令中所述不同,我们需要使用tcp协议,而不是http。首先打开你的Minecraft服务端,比如官方minecraft_server_1.x.jar,或Bukkit、Spigot、Cauldron等等,并按照常规方法配置server.properties、地图等等,或使用Minecraft客户端打开局域网联机。
然后,你需要准备一个ngrok启动脚本。这只是推荐的方法,你也可以从命令提示符或终端输入命令来启动ngrok。
在Windows下,你需要新建一个cmd或bat文件,放入ngrok可执行文件相同位置下,键入:
XXXXXX -config=YYYYYY -proto=tcp ZZZZZ
XXXXXX为你的ngrok可执行文件名。通常为ngrok.exe,或你下载的可执行文件名称。
YYYYYY为你的配置文件名称。
ZZZZZ为你的Minecraft服务器端口号(局域网联机的时候为左下角提示的端口号)。
一个示例:
ngrok.exe -config=ngrok.cfg -proto=tcp 25565
在Linux/Mac/Unix下,你需要建立一个sh文件,放入ngrok可执行文件相同位置下,键入:
!/bin/bash
./XXXXXX -config=YYYYYY -proto=tcp ZZZZZ
XXXXXX为你的ngrok可执行文件名。通常为ngrok,或你下载的可执行文件名称。
YYYYYY为你的配置文件名称。 ZZZZZ为你的Minecraft服务器端口号(局域网联机的时候为左下角提示的端口号)。
一个示例:
./ngrok -config=ngrok.cfg -proto=tcp 25565
记着使脚本和可执行文件可以执行(chmod 744 &脚本名称& && chmod 744 &可执行文件名称&)!
最后,执行你的脚本即可启动一个隧道,在ngrok窗口内执行Ctrl+C可以关闭ngrok。
ngrok启动后,会显示一些信息。通常,对我们有用的为Tunnel Status与Forwarding。
Tunnel Status提示了当前隧道的状态。Connecting表示正在连接到ngrok服务端;reconnecting表示正在重新连接到ngrok服务端,如果刚刚打开ngrok,显示connecting后就提示reconnecting,通常就表示服务器无法连接了;online即在线,表示隧道成功建立。
Forwarding提示了当前ngrok工作的代理地址。格式通常为:tcp://AAAAAAAAA -& 127.0.0.1:BBBBB
AAAAAAAAA代表ngrok服务端分配给你的地址,可以将这个地址分享给你的伙伴,使他们可以通过此地址连接到你的服务器,方法与连接普通服务器完全一样。 BBBBB代表了当前的本机端口号。
由于国内ngrok服务器由网友搭建,所以请不要滥用它们,不要对服务器造成过大压力,不要让过多玩家进入服务器,服务器的卡顿通常与ngrok服务端过载导致。
本教程编写者、贡献者与ngrok开发者无关,与任何ngrok服务器无关。
公众的ngrok服务器可能会因为使用人数过多而过载,造成游戏卡顿。如果你有可以端口映射的主机,或者有云服务器、VPS,可以考虑自己搭建ngrok服务。
关于如何自己搭建服务器可以参阅、 ,并请善用搜索引擎。
使用服务器
架设服务器
(IRC频道)
(仅限地图数据)
制作Minecraft媒体手把手教你搭建ngrok服务-轻松外网调试本机站点-计算机技术-刺球网络安全社区 - 免费技术资源分享网站!
后使用快捷导航没有帐号?
只需一步,快速开始
只需一步, 快速开始
查看: 101|回复: 0
手把手教你搭建ngrok服务-轻松外网调试本机站点
&成长值: 212957已经升级到最高级别主题帖子积分
技术指数:★★★★★
天涯海角搜一下:
半年多没用ngrok,然后昨天发现它被墙了,艸~。ngrok是什么鬼?做前端开发的童鞋或许不会太陌生。如果你完全不知道它是什么东西,可以在它的github项目上了解下: /inconshreveable/ngrok这里只提下它的核心功能:能够将你本机的HTTP服务(站点)或TCP服务,通过部署有ngrok服务的外网伺服器暴露给外网访问!
如上封面图所示,举一个栗子。橘色屏幕的笔记本是你的工作机器,安装了ngrok客户端<所在的服务器安装了ngrok的服务端(ngrokd)利用ngrok 8080命令可以将你本机的8080端口暴露给反向代理至的某个二级域名如:别人通过就可以访问你本机8080端口上的站点内容了。
由此可见,除了Weinre、browsersync 这些惯用的手段外,借助ngrok,也一样可以解决前端开发过程经常遇到的“本地开发,外网调试”老大难题。囧的是:被墙了,我们已无法用它官方的服务~国内虽然有一些第三方的ngrok服务,但是也无法保证其稳定性。还好ngrok是开源的,我们可以通过它的源码在自己的外网服务器上搭建自己的ngrok服务。
前提条件是:一台外网可访问的主机,且有域名解析至该主机上。搭建服务端ngrokd1.安装go语言开发环境ngrok是利用go语言开发的,所以先要在服务器上安装go语言开发环境。以CentOS的服务器示例,安装Go语言很简单的:sudo yum install golang
安装完毕后,利用go version来验证是否安装成功。go安装好后,我们再设置下go的环境变量:在 ~/.zshrc 或 ~/.bash_profile 文件内,加入以下环境变量配置内容:export GOPATH=$HOME/go
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$GOPATH/bin
保存后,重新给shell加载下配置文件: source ~/.zshrc最后可通过go env查看是否配置成功。2.安装git安装过程略。后面我们需要利用git拉取源码。3.fork并拉取ngrok的源码下面编译过程需要改官方的部分源码,所以最好fork一份源码至自己的github账户。$ mkdir -p ~/go/src//mamboer
$ cd ~/go/src//mamboer
$ git clone https:///mamboer/ngrok.git
源码拉取下来后,需要修改一个地方:打开 src/ngrok/log/logger.go 文件将 /p/log4go 修改为: /alecthomas/log4go
googlecode已经寿终了,我们将依赖的log4go替换成github的版本。在编译ngrok的源码之前,我们还需要改下官方源码用到的签名证书。4.生成自签名证书使用官方服务时,我们使用的是官方的SSL证书。自建ngrokd服务,如果不想买SSL证书,我们需要生成自己的自签名证书,并编译一个携带该证书的ngrok客户端。证书生成过程需要一个NGROK_BASE_DOMAIN。 以ngrok官方随机生成的地址为例,其NGROK_BASE_DOMAIN就是””,如果你要 提供服务的地址为”example.”,那NGROK_BASE_DOMAIN就应该 是””。我们这里以NGROK_BASE_DOMAIN=“ngrok.fex.im”为例,生成证书的命令如下:$ cd ngrok
$ openssl genrsa -out rootCA.key <font color="#
$ openssl req -x509 -new -nodes -key rootCA.key -subj &/CN=ngrok.fex.im& -days <font color="# -out rootCA.pem
$ openssl genrsa -out device.key <font color="#
$ openssl req -new -key device.key -subj &/CN=ngrok.fex.im& -out device.csr
$ openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days <font color="#
执行完以上命令,在ngrok目录下就会新生成6个文件:-rw-rw-r-- 1 lv lv&&<font color="# Feb 17 19:04 device.crt
-rw-rw-r-- 1 lv lv&&<font color="# Feb 17 19:04 device.csr
-rw-rw-r-- 1 lv lv <font color="# Feb 17 19:03 device.key
-rw-rw-r-- 1 lv lv <font color="# Feb 17 19:01 rootCA.key
-rw-rw-r-- 1 lv lv <font color="# Feb 17 19:03 rootCA.pem
-rw-rw-r-- 1 lv lv& &17 Feb 17 19:04 rootCA.srl
ngrok通过bindata将ngrok源码目录下的assets目录(资源文件)打包到可执行文件(ngrokd和ngrok)中 去,assets/client/tls和assets/server/tls下分别存放着用于ngrok和ngrokd的默认证书文件,我们需要将它们替换成我们自己生成的:(因此这一步务必放在编译可执行文件之前)cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
5.编译客户端程序ngrok和服务端程序ngrokd在ngrok目录下执行如下命令,编译ngrokd:$ make release-server
类似的,利用以下命令编译ngrok:$ make release-client
成功编译后,会在bin目录下找到 ngrokd 和 ngrok 这两个文件。我们将ngrokd文件拷贝至 ~/go/bin 目录下,以方便在其他目录内也可以直接通过ngrokd来访问该执行程序。6.运行ngrokd服务ngrokd -domain=&ngrok.fex.im& -httpAddr=&:8088& -httpsAddr=&:8089&
[15:08:52 CST <font color="#/02/18] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [registry] [tun] No affinity cache specified
[15:08:52 CST <font color="#/02/18] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [metrics] Reporting every 30 seconds
[15:08:52 CST <font color="#/02/18] [INFO] (ngrok/log.Info:<font color="#) Listening for public http connections on [::]:<font color="#
[15:08:52 CST <font color="#/02/18] [INFO] (ngrok/log.Info:<font color="#) Listening for public https connections on [::]:<font color="#
[15:08:52 CST <font color="#/02/18] [INFO] (ngrok/log.Info:<font color="#) Listening for control and proxy connections on [::]:<font color="#
7.为ngrok.fex.im添加dns解析添加两条A记录: ngrok.fex.im 和 *.ngrok.fex.im ,指向fex.im所在的服务器ip。至此为止,我们的ngrokd服务端搭建配置完成,同时我们在CentOS系统的服务器上编译了一份客户端的执行程序-一个ngrok文件。如果你的开发机器系统也是CentOS,是可以直接将ngrok这个客户端执行文件拷贝到本地开发机器中来使用的。但如果你的机器是Mac 或者windows,我们还需要在自己的电脑中编译一份相同签名文件的客户端程序!
注意:请记得提交已更改的源码至github,一会还要用到。在MAC中编译ngrok客户端服务器是CentOS,自己的工作电脑是Mac,所以得在自己的电脑中编译一份相同签名文件的客户端程序!1.安装go与服务器的步骤类似,我们首先要安装go语言环境:brew update
brew install go
2.设置go的环境变量(略)3.拉取源码并编译客户端(略)最后将编译好的ngrok文件,拷贝至$GOPATH/bin目录内,以便在命令行内任意目录内均可以直接通过ngrok运行程序。最后的验证ngrokd服务配置好了,客户端程序也有了,下面测试下ngrok是否能够正常使用。创建一个ngrok配置文件:ngrok.cfgserver_addr: “ngrok.fex.im:<font color="#&
trust_host_root_certs: false运行客户端,暴露8080端口的站点$ ngrok -subdomain demo -config=/Users/lv/bin/ngrok.cfg <font color="#在8080端口下建一个测试站点方便起见,我们拉取:o2team/brand.git做测试:npm i -g node-static
git clone git@github.com:o2team/brand.git
static在浏览器中输入demo.ngrok.fex.im:8088bingo!
zmEfmyF.jpg (76.07 KB, 下载次数: 0)
13:07 上传
在浏览器中输入:localhost:4040可以查看所有的请求情况!
VrauUjn.jpg (43.07 KB, 下载次数: 0)
13:07 上传
注意事项客户端ngrok.cfg中server_addr后的值必须严格与-domain以及证书中的 NGROK_BASE_DOMAIN 相同,否则Server端就会出现如下错误日志:[03/13/15 09:55:46 [INFO] [tun:15 New connection from 54.149.100.42:<font color="#bc
[03/13/15 09:55:46 [DEBG] [tun:15 Waiting to read message
[03/13/15 09:55:46 [WARN] [tun:15 Failed to read message: remote error: bad certificate
[03/13/15 09:55:46 [DEBG] [tun:15 Closing
参考资料自建ngrok服务
//selfhost-ngrok-service//inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md
//how-to-install-go-on-digital-ocean/
结语本文主要介绍了ngrok服务的自行搭建。同时为大家免费提供我搭建好的ngrok服务:ngrok.fex.im。fex.im所在的机器是digitalocean的一个主机,虽然国内速度慢但是还算稳定。如何使用ngrok.fex.im?安装clientLinux 下载: http://fex.im/files/ngrokMac OSX 下载: /mamboer/ngrok/releases/download/1.7.2/ngrok
放在 /usr/local/bin 目录下设置所有者sudo chown $(whoami):staff ngrok
设置权限sudo chmod <font color="# ngrok
运行客户端$ ngrok -subdomain demo -config=/Users/lv/bin/ngrok.cfg <font color="#
配置文件server_addr: “ngrok.fex.im:<font color="#&
trust_host_root_certs: false
天涯海角也要找到Ni:
帖子永久地址:&<button type="submit" class="pn" onclick="setCopy('手把手教你搭建ngrok服务-轻松外网调试本机站点\n/thread-.html', '帖子地址已经复制到剪贴板您可以用快捷键 Ctrl + V 粘贴到 QQ、MSN 里。')">推荐给好友刺球网络安全社区 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、管理员和版主有权不事先通知发贴者而删除本文
天涯海角搜一下:
社区QQ达人
使用QQ帐号登录论坛的用户
注册账号后积极发帖的会员
经常参与各类话题的讨论,发帖内容较有主见
经常帮助其他会员答疑
积极宣传本站,为本站带来更多注册会员
积极宣传本站,为本站带来更多的用户访问量
经常在论坛发帖,且发帖量较大
长期对论坛的繁荣而不断努力,或多次提出建设性意见
活跃且尽责职守的版主
曾经为论坛做出突出贡献目前已离职的版主
为论坛做出突出贡献的会员
逛了这许久,何不进去瞧瞧?
&下次自动登录
用其他账号登录:
刺球网安社区交流群①:
在线时间:8:30-21:00
Powered byngrok收费了么?老师同学有没有其他方法?
好像用不了,收费了啊。老师同学有没有其他方法?
写下你的评论...
写下你的评论...
怎么下载tunnel.mobi呢?为何一直是打不开来!求教!
我设置子域名 一直提示收费
写下你的评论...
写下你的评论...
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-2查看: 21135|回复: 113
求教ngrok配置
怎么配置 OP上怎么设置&&命令需要更改什么
分别上传了ngrokc三种CPU的包,如果提示缺少libstdc++.so.6的话,请安装 libstdcpp包.
20:47 上传
点击文件名下载附件
下载积分: 恩山币 -1 nb
182.9 KB, 下载次数: 296, 下载积分: 恩山币 -1 nb
20:47 上传
点击文件名下载附件
下载积分: 恩山币 -1 nb
20.15 KB, 下载次数: 200, 下载积分: 恩山币 -1 nb
20:48 上传
点击文件名下载附件
下载积分: 恩山币 -1 nb
197.96 KB, 下载次数: 43, 下载积分: 恩山币 -1 nb
感谢分享v&
这货怎么用的呢&
终于找到了,,,,&
点赞一下~~好~~&
ganxieganxieganxie&
感谢分享,请问@hzl88688兄,ar7240的用什么版本的ngrok呢?&
感谢分享,好人一生平安&
感谢大神,用此版本可以正常启动了。写了一篇教程,欢迎查阅:/2435.html&
我路由刷的华硕的padavan 里面带的ngrokc 不行,替换你这个版本居然就可以。&
谢谢了, 很奇怪 ,
用这个ngrokc才能成功, 其他都失败了&
感谢老大,已经运行成功了,按照您的教程非常简单,上传文件,运行程序,添加自启动。谢谢!&
一看就是觉得高端、大气、上档次!
同求答案,官网3.12更新已支持。最新编译版能支持了,但是openwrt上的启动命令怎么弄?
我也在琢磨
我测试成功了,打地址直接出来路由器设置界面
我有个疑问,我也是直接就能访问了,貌似都不用输入账号密码?&
他那个我根本没有成功过,我换了其他的服务器一次就搞定了
哪里有免费的服务器?&
他那个我根本没有成功过,我换了其他的服务器一次就搞定了
哪里有免费的服务器?
自己电脑上跑一下程序就搭建出来了&
哪里有免费的服务器?
私聊告诉你
同求私聊~&
怎么配置 什么服务器呢?求教&
yuxye 发表于
私聊告诉你
怎么配置 什么服务器呢?求教
我的打不开怎么回事,,提示Tunnel XXX.ngrok.cc not found
我跟你的一样,你解决了吗?&
我的打不开怎么回事,,提示Tunnel XXX.ngrok.cc not found
跟我的一样,但我的解决了,我的libopenssl设装&
config文件内容替换为这个
server_addr: ":4443"
trust_host_root_certs: false&
隧道没建立呗&
我的打不开怎么回事,,提示Tunnel XXX.ngrok.cc not found
隧道没建立呗
设置都设置对的啊。,,&
隧道没建立呗
设置都设置对的啊。,,
我的打不开怎么回事,,提示Tunnel XXX.ngrok.cc not found
config文件内容替换为这个
server_addr: &:4443&
trust_host_root_certs: false
# cat /etc/config/ngrokc
config servers 'ngrokc'
& && &&&option port '4443'
& && &&&option host 'server.ngrok.cc'
& && &&&option atoken 'xxxxxxxxx'
config tunnel 'tunnel1'
& && &&&option enabled '1'
& && &&&option custom_domain '0'
& && &&&option dname 'abc'
& && &&&option type 'http'
& && &&&option lport '80'
& && &&&option server 'ngrokc'
& && &&&option lhost '127.0.0.1'
& && & atoken 对应
option dname 'abc' 对应 新增系统域名abc
不过我发现对比n2n,佔用更多memory
root@Henry-Home:/etc/config# ps|grep ng
29848 root& && &6252 S& & /usr/bin/ngrokc -SER[Shost:server.ngro
29858 root& && &1376 S& & grep ng
root@Henry-Home:/etc/config# ps|grep edge
29860 root& && &1376 S& & grep edge
32327 root& && & 832 S& & edge2 -d edge2 -a 10.1.1.1 -f -c myhom
我看了下配置文件。和你上面给出的一样~但是就是打不开。。&
# cat /etc/config/ngrokc
config servers 'ngrokc'
我看了下配置文件。和你上面给出的一样~但是就是打不开。。
防火墙要打开相对应的port
端口号多少?&
本帖最后由 hzl88688 于
20:34 编辑
在OPENWRT上使用ngrok教程,首先你要下载适合你路由的ngrokc版本,用WINSCP上传到你路由的/USR/BIN/下,用PUTTY登录路由器,使用命令 chmod +x /usr/bin/ngrokc& &下一步你要到上注册一个帐号,注册成功,你会有一个token码,如:xxxxxx,点击域名列表,新增一个系统分配域名,如:gooo ,再回到你路由器下,用PUTTY登录路由器,输入如下命令:/usr/bin/ngrokc -SER[Shost:server.ngrok.cc,Sport:4443,Atoken:xxxxxx] -AddTun[Type:http,Lhost:127.0.0.1,Lport:80,Sdname:gooo] && &,成功后,在浏览器中输入:gooo.ngrok.cc就可以登录你的路由了
Qualcomm Atheros QCA9533 rev 1
有能用的版本吗&
大神,如何添加自启动?我路由器重启后每次都要重新设置。。。&
如需要路由开机启动,只要把上面的命令写进启动项exit 0前面
我用论坛里那个卖两个恩山币的ngrok,然后就web进路由器填一下激活码和子域名,然后就建立隧道了
求配置方法[attachimg]132817[/attachimg][attachimg]132818[/attachimg]&
Powered by微信调试工具说明
原有微信调试工具已不再维护,请使用其他更方便易用的调试工具 ,推荐——
公众号本地调试可以使用其他内网穿透的工具, 比如(同时也支持https,用于微信小程序)

我要回帖

更多关于 ngrok.cfg怎么配置 的文章

 

随机推荐