专栏首页holerJava版开源的内网端口映射软件
原创

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

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.

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Holer服务端软件搭建属于自己的内网穿透

    (2) 安装Java 1.8及以上版本,执行命令 java -version 检查Java是否可用;

    码路
  • 外网登录访问树莓派Raspberry Pi

    本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi?

    码路
  • 如何从外网访问本地MariaDB数据库

    本地安装了MariaDB数据库,只能在局域网内访问,怎样从公网也能访问内网MariaDB数据库?

    码路
  • 使用Holer服务端软件搭建属于自己的内网穿透

    (2) 安装Java 1.8及以上版本,执行命令 java -version 检查Java是否可用;

    码路
  • 生产环境sql语句调优实战第十篇(r3笔记第39天)

    陆陆续续写了九篇关于生产环境sql语句的调优案例,发现了不少问题,可能有些问题回头来看是比较低级的错误,稍加改动就能够运行在秒级,有些可能是在秒级到毫秒级的小步...

    jeanron100
  • 求水仙花数面试题 撸它

    输入: 2 输出: [] 样例解释: 没有2位数的水仙花数。 注意事项 你可以认为n小于8。

    不太灵光的程序员
  • Mysql 常用函数(40)- time_to_sec 函数

    https://www.cnblogs.com/poloyy/p/12890763.html

    小菠萝测试笔记
  • 想学FM系列(20)-SAP FM模块:派生规则推导策略(3)-派生规则推导步骤-派生规则、增强

    4.1.4 派生规则 派生规则简单来讲由通过枚举条件的值来推导出目标字段的值。比如已知一个变量作为条件,枚举变量值为:V1、V2……,再枚举出目标变量对等值为:...

    SAP最佳业务实践
  • 两大热门国产BI分析工具深度对比,谁更胜一筹

    随着业务的发展,越来越多的政企机构上了BI系统,通过数据分析辅助经营决策。国内外已经有不少发展相当不错的产品,作为一名资深的BI爱好者,这次我认真试用了目前市面...

    数据狗忙忙忙
  • python实现拼写检查器21行轻松搞定

    除了这段代码外,作为机器学习的一部分,肯定还应该有大量的样本数据,准备了big.txt作为我们的样本数据。

    小小科

扫码关注云+社区

领取腾讯云代金券