Java实现的公网映射内网端口的开源工具

本文涉及的产品
.cn 域名,1个 12个月
简介: Holer是由Java实现的是一个将局域网中的应用映射到公网访问的端口映射开源软件,支持转发基于TCP协议的报文。

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协议的报文。
demo

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
Holer Login
登录系统需要输入默认的管理员账号,默认用户名: admin 密码: admin123

用户也可以在文件holer-server/resources/conf/holer-data.sql中修改默认的用户名和密码,然后重启Holer服务端使其生效。

2.3.2. 创建客户端和端口映射

在用户列表页面中创建一个Holer客户端

http://holer.your-domain.com/view/holer-client.html
Holer Client

在端口映射页面中为该Holer客户端创建端口映射

http://holer.your-domain.com/view/holer-port.html
Holer Port

在数据统计页面中查看报表信息

http://holer.your-domain.com/view/holer-report.html
Holer Report

2.3.3. 配置Holer客户端使其与Holer服务端实现端口映射功能

在用户列表页面中选中一条客户端记录,在页面右上角点击详情按钮,弹出的详情框下点击复制按钮;
Holer Copy

然后将详情信息粘贴到记事本里,严格按照详情信息里的使用说明进行操作,这样即可完成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

目录
相关文章
|
12天前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
|
27天前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
34 1
|
3天前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
21 5
|
19天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
19天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
22天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
1月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
37 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
18天前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
完全开源!国内首个完全开源JAVA企业级低代码平台
|
1月前
|
监控 安全 网络安全
如何使用PortTunnel端口映射工具?
【10月更文挑战第8天】PortTunnel是一种端口映射工具,它允许用户将本地计算机上的端口映射到远程服务器上。要使用PortTunnel,您需要首先下载并安装该软件,然后按照以下步骤进行操作:,1. 打开PortTunnel并配置您的本地和远程端口设置。,2. 在“本地地址”字段中输入您要映射的本地IP地址。,3. 在“远程地址”字段中输入远程服务器的IP地址。,4. 在“本地端口”字段中输入您要映射的本地端口号。,5. 在“远程端口”字段中输入远程服务器上的端口号。,6. 单击“启动”按钮以开始映射过程
157 2
|
1月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
41 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用