Java实现的公网映射内网端口的开源工具
What is holer
Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
Support forwarding message based on TCP protocol.
Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。
How it works
1. Holer使用
1.1. 安装 Java
安装Java 1.7或者更高版本;
执行命令 java -version
检查Java是否可用。
1.2. 安装Web服务端
以Tomcat为例,安装并启动Tomcat
在浏览器里输入如下URL来检查Tomcat服务是否可以正常访问:
http://127.0.0.1:8080
1.3. 配置Holer
下载并解压软件包holer-client.zip
修改配置文件:holer-client/conf/holer.conf
设置HOLER_ACCESS_KEY
如下:
HOLER_ACCESS_KEY=HOLER_CLIENT-2F8D8B78B3C2A0AE
1.4. 启动Holer
cd holer-client/bin
Windows系统:
执行命令 startup.bat
或者双击 startup.bat
Linux系统:
执行命令 sh startup.sh
然后就可以通过如下URL来访问Web应用:
http://holer65530.wdom.net
或者 http://holer.org:65530
1.5. 公网和内网的地址映射关系
Holer Access Key | Domain Name | Internet Address | Local Address |
---|---|---|---|
HOLER_CLIENT-2F8D8B78B3C2A0AE | holer65530.wdom.net | holer.org:65530 | 127.0.0.1:8080 |
HOLER_CLIENT-3C07CDFD1BF99BF2 | holer65531.wdom.net | holer.org:65531 | 127.0.0.1:8088 |
HOLER_CLIENT-2A623FCB6E2A7D1D | holer65532.wdom.net | holer.org:65532 | 127.0.0.1:80 |
HOLER_CLIENT-AF3E6391525F70E4 | N/A | holer.org:65533 | 127.0.0.1:3389 |
HOLER_CLIENT-822404317F9D8ADD | N/A | holer.org:65534 | 127.0.0.1:22 |
HOLER_CLIENT-27DD1389DF1D4DBC | N/A | holer.org:65535 | 127.0.0.1:3306 |
如果您本地的Tomcat端口是80或者8088,请选择匹配的key进行设置。
请参考博客文章获得更多的使用示例和帮助。
1.6. 其他版本的Holer软件
这些Holer软件(源代码,软件包)是由GO语言实现,支持多种操作系统和硬件架构。
这里以Windows & Linux x86-64bit
为例,启动Holer执行如下命令:
Windows系统:
holer-windows-amd64.exe -k HOLER_CLIENT-2F8D8B78B3C2A0AE
Linux系统:
nohup ./holer-linux-amd64 -k HOLER_CLIENT-2F8D8B78B3C2A0AE &
2. Holer服务端软件使用
用户也可以下载 holer-server.zip 搭建自己的Holer服务端。
2.1. 搭建Holer服务端准备工作
(1) 准备一台Linux系统或者Windows系统主机;
(2) 安装Java 1.8及以上版本,执行命令 java -version
检查Java是否可用;
(3) 安装并启动Nginx, 建议安装其稳定版本;
(4) 安装MariaDB并设置root用户密码;
(5) 设置安全规则,允许访问Holer服务端端口6060、600以及端口映射规则所涉及的端口;
(6) 建议申请域名并且完成域名备案,如果没有域名可以直接使用IP和端口访问。
2.2. 配置并启动Holer服务端
解压软件包,打开配置文件 holer-server/resources/application.yaml
2.2.1. 修改数据库用户名和密码
spring: datasource: username: root password: 123456
2.2.2. 修改域名和Nginx主目录
holer domain: name: your-domain.com nginx: #home: /usr/local/nginx home: C:/nginx-1.14.2
Linux系统默认安装Nginx路径 /usr/local/nginx
Windows系统中可以先将Nginx复制到某个目录下,然后在配置文件中指定其主目录。
如果需要用到HTTPS功能,Window系统版本的Nginx默认支持HTTPS功能,Linux系统需要下载Nginx源码,配置和编译以及安装执行如下命令:
./configure --with-http_ssl_module make;make install
2.2.3 启动Holer服务端
Linux系统执行启动命令如下:
cd holer-server chmod 755 holer ./holer start
Windows系统执行启动命令如下:
cd holer-server startup.bat
或者双击 startup.bat
2.3. 创建端口映射
2.3.1. 登录Holer管理系统
如果配置文件application.yaml
中设置了域名,并且指定了Nginx主目录,则在浏览器输入URL http://holer.your-domain.com
如果没有设置域名访问,则通过IP和端口登录系统 http://IP地址:600
登录系统需要输入默认的管理员账号,默认用户名: admin
密码: admin123
用户也可以在文件holer-server/resources/conf/holer-data.sql
中修改默认的用户名和密码,然后重启Holer服务端使其生效。
2.3.2. 创建客户端和端口映射
在用户列表页面中创建一个Holer客户端
http://holer.your-domain.com/view/holer-client.html
在端口映射页面中为该Holer客户端创建端口映射
http://holer.your-domain.com/view/holer-port.html
在数据统计页面中查看报表信息
http://holer.your-domain.com/view/holer-report.html
2.3.3. 配置Holer客户端使其与Holer服务端实现端口映射功能
在用户列表页面中选中一条客户端记录,在页面右上角点击详情按钮,弹出的详情框下点击复制按钮;
然后将详情信息粘贴到记事本里,严格按照详情信息里的使用说明进行操作,这样即可完成Holer客户端配置,从而实现基于自己Holer服务端的端口映射功能。
Support
All of the above holer access keys and ports have been shared to public. Users can also apply for exclusive holer services.
If you want to have exclusive holer services, please contact by QQ for application. For more details about holer services, please visit Wisdom.
以上的全部key和端口都已公开共享。用户也可以申请专属的holer服务,如果您需要专属的holer服务,请QQ联系开通。Holer服务详情,请访问Wisdom。
QQ : 2353941272
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用holer实现从外网访问自己的Jenkins
外网访问内网Jenkins 内网主机上安装了Jenkins,只能在局域网内访问,怎样从公网也能访问本地Jenkins? 本文将介绍使用holer实现的具体步骤。 1. 准备工作 1.1 安装Java 1.7及以上版本 执行命令java -version检查Java安装和配置是否正确。 1.2 安装并启动Jenkins 默认安装的Jenkins端口是8080。 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-client.zip 2.2 修改holer配置文件 在holer官网上申请专属的holer access key或者使用开源社区上公开的access key信息。 例如申请得到的holer信息如下,这里以此holer信息为例: --------------------------------------------- Holer Client : holerdemo@gmail.com Access Key : HOLER_CLIENT-2F8D8B78B3C2A0AE ---------------------------------------...
- 下一篇
SpringBoot使用AOP
众所周知AOP(Aspect Oriented Programming)是Spring的核心之一,是OOP面向对象编程的延续和补充,是面向切面编程,他的底层实现是代理模式,简单来说,代理模式分为静态代理模式和动态代理模式,而代理模式又分为JDK动态代理和CGLib代理,AOP则是基于动态代理实现,默认是使用JDK动态代理,若没有接口则会使用CGLib代理,前者基于接口,后者基于子类,若兴趣深入了解代理模式的,可参考Java代理模式一文,下面简单说下AOP的基本概念. AOP的适用场景: 日志记录 事务处理 异常处理 性能统计 拦截鉴权 缓存 等等.. AOP的组成 Aspect(切面):通常是一个类,存放公共功能,可以在里面定义切入点和通知 JoinPoint(连接点):程序执行过程中可以插入的切面的点,一般是方法调用,异常抛出 Advice(通知):是切面的具体实现,在切入点上执行的逻辑处理,以目标方法为参照点,根据放置位置的不同,可分为前置通知(Before)、后置通知(AfterReturning)、异常通知(AfterThrowing)、最终通知(After)和环绕通知(Aro...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,8上快速安装Gitea,搭建Git服务器