# 内网穿透-Java **Repository Path**: hjh-cn/net ## Basic Information - **Project Name**: 内网穿透-Java - **Description**: net 是基于Java语言编写的一款免费开源内网穿透工具 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 4 - **Created**: 2023-02-03 - **Last Updated**: 2025-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # net #### 一.介绍 net 是基于Java语言编写的一款免费开源内网穿透工具,目前使用的是Bio,未来推出netty版内网穿透。 #### 二.流程交互 ![1686011596638](https://gitee.com/hjh-cn/net/raw/master/web-server/src/main/resources/static/images/1686011596638.png) 1.客户端与服务端建立长连接 clientSocket 2.服务端帮客户端随机监听代理端口 如:8081 3.浏览器与代理服务建立连接 socketWan 4.代理服务器把浏览器的请求发送给 clientSocket 5.clientSocket 把请求发送给本地服务器并返回 6.clientSocket 把请求数据返回给服务器 7.服务器通过socketWan 返回数据给浏览器 #### 三.项目结构 * net * client - 客户端 * common - 公共模块 * web-server - 服务端 #### 四.涉及技术 socket 网络编程 ,io 流,粘包粘包,序列化与反序列化,多线程,线程池,同步锁,http 协议解析,策略模式 ,springboot,maven,logback #### 五.使用说明 使用条件 :一台有公网ip的云服务器 ##### 使用方式 1.源码方式 ~~~html git clone https://gitee.com/hjh-cn/net.git ~~~ 服务端要实现内网穿透要部署到云服务器(本地部署也可以实现端口代理但是不能进行网络穿透) ![1676011596638](https://gitee.com/hjh-cn/net/raw/master/web-server/src/main/resources/static/images/1676011596638.png) 修改客户端配置文件对应参数 ![1676011719101](https://gitee.com/hjh-cn/net/raw/master/web-server/src/main/resources/static/images/1676011719101.png) 启动客户端 ![1676011878611](https://gitee.com/hjh-cn/net/raw/master/web-server/src/main/resources/static/images/1676011878611.png) 2. 直接下载客户端使用 (服务端我我已经部署到腾讯云下载客户端使用即可) 敬请关注!!!!!