前言碎语
内网穿透服务在开发中有很多的应用场景,比如1.和第三方接口本地联调对接,2.本地微信开发时联调回调等等。当然,使用场景不止这些,然后有需求就会有 市场就会有产品,付费产品比较著名的有“花生壳”,然后免费的有ngrok,早期博主也分享过国内的一些免费的ngrok,详见《ngrok(微信开发福利)内网穿透神器》。然而,这些免费的ngrok慢慢都停服了或者转向会员收费制了。免费的服务不稳定加上流量经过别人服务器不安全等因素,或多或少影响了我们使用。今天,博主分享一个用java开发的开源的软件 ,来搭建自己的内网穿透服务,彻底告别网上各种搜索免费的ngrok服务了。
是什么?
是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,,在上面已经开源,目前已经收到2000多star。目前支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、、等等java局域网聊天系统,但要使用第三方的公网服务器就必须为第三方付费java局域网聊天系统,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。
坐标 :
原理?
是基于java通讯框架netty开发的,由服务端和客户端组成,服务端启动后,客户端会去连接服务端,然后和服务端建立tcp连接通道。服务端负责接收外部流量,然后根据配置的端口映射规则转发给客户端监听的端口服务(本地内网),从而达到内网穿透的目的。
下载地址?
服务端:proxy-.zip
java客户端:proxy-.zip,更多客户端类型,可访问:
启动端
准备一台安装jdk的服务器(支持linux、),需要有外网地址。下载下来后,解压proxy-.zip,进入到bin目录,执行.sh脚本就启动了,默认的访问端口是8090.用户名和密码是admin/admin。可以通过conf/.修改。
访问:8090,就可以看到如下页面了
服务端启动后,需要添加客户端信息,客户端主要生成一个.key,用来做连接的认证信息的。然后如下图,选择 一个客户端添加端口映射。
客户端链接
客户端下载下来后java局域网聊天系统 内网穿透服务搭建-java版,先解压,目录结构和服务端一样,先去conf/.中把.host修改为你的服务端ip,服务端端口默认4900不用变。然后把第一步客户端生成的客户端密码配置给.key。然后启动bin/.bat就可以了。如果连接服务器成功,管理控制台就会显示在线。然后就可以使用:xxx来访问你的内网服务了
文末结语
企业开发中,提供一个这样的内网穿透服务真的很有必要。除了自建不需要付费给第三方服务外最重要的还是安全问题。这个软件博主体验下来非常不错,所以给大家推荐了。用的好了别忘了给作者一个star鼓励下哦