zl程序教程

您现在的位置是:首页 >  其他

当前栏目

一行代码实现内网穿透及映射,可以开启映射多个服务和端口,内网映射完成局域网的服务和地址映射到公网

服务映射代码 实现 开启 可以 多个 端口
2023-09-11 14:22:07 时间

一行代码实现内网穿透及映射,可以开启映射多个服务和端口,内网映射完成局域网的服务和地址映射到公网。

内网穿透及映射

把内网主机映射成为公网主机,满足内外网穿透,在不同的业务场景中,需要把内网的主机映射成为公网主机来对外提供服务,在公网主机有限的情况,基于netty根据端口号做一个数据映射服务,可以穿透网站、数据库等各种应用,满足日常的使用。

新建项目

任意新建一个java项目,spring 、spring boot、或者其他的 maven项目都可以。

使用方法

1、在 WEB-INF 目录下建立 lib 目录,并把jar包复制到 lib 目录,或者项目的其它目录都可以;

jar包地址

点击下载

2、在maven配置文件,即 pom.xml 中,添加以下依赖:


<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
    <version>4.1.33.Final</version>
  </dependency>

  <dependency>
    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.4</version>
  </dependency>

  <dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180813</version>
  </dependency>
  
  <dependency>
    <groupId>natx</groupId>
    <artifactId>natx</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/natx.jar</systemPath>
  </dependency>
  

服务端开启服务


public class TestNat {
  public static void main(String[] args) {
      NatxServer.startNat(9090,"123456");
  }
}

服务端停止服务


NatxServer.endNat();

发布完成

把新建的java项目打包放到服务器运行即可,或者其他方式完成暴露服务都可以。

其它方法

数据同步中还有其他方法,根据实际业务需要进行使用!

其它客户端的使用

https://github.com/YouAreOnlyOne/NATnetty