# proxy4j **Repository Path**: sumlen/proxy4j ## Basic Information - **Project Name**: proxy4j - **Description**: Java 内网穿透 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/zgbd/proxy4j - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2024-10-15 - **Last Updated**: 2024-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 前言 `Proxy4j`是Java开源的内网穿透。使用者无需安装JDK,下载解压即可运行文件。应用场景:内网穿透、反向代理,目前支持协议 TCP、SOCKS5。 ## 项目结构 - proxy4j-client 穿透客户端 - proxy4j-server 穿透服务端 - proxy4j-core 穿透公共类 - proxy4j-socks5 socks5服务端 - 打包目录 存放OpenJDK的jre环境、一键打包脚本。方便Java程序在使用者没装jdk的环境下运行。 ## 使用 内网穿透部署:外网服务器部署proxy4j server(需安装mysql),内网部署proxy4j client,使用者访问外网监听的端口即可。
Socks5的方式:内网额外再部署一个socks5服务端,再把socks5端口内网穿透出来,使用proxifier 软件设置socks5的ip和端口即可。
proxifier 下载地址:https://www.proxifier.com/download/
数据库默认使用h2数据库,启动服务端访问:http://127.0.0.1/h2,账号密码:root/12345 ## 可执行包下载 | 标题 | 版本 | 操作 | 大小 | |------------------------------------------| ---- | ------------------------------------------------------------ |-----| | proxy4j 服务器版 | v1.0 | [下载](https://alice-bucket.oss-cn-beijing.aliyuncs.com/lowcode/proxy4j_1.0_server.zip) | 28M | | proxy4j 服务器版(包含Windows64 JDK8) | v1.0 | [下载](https://alice-bucket.oss-cn-beijing.aliyuncs.com/lowcode/proxy4j_1.0_server_jdkwin64.zip) | 74M | | proxy4j 客户端版、socks5服务端 | v1.0 | [下载](https://alice-bucket.oss-cn-beijing.aliyuncs.com/lowcode/proxy4j_1.0_client.zip) | 15M | | proxy4j 客户端版、socks5服务端(包含Windows64 JDK8) | v1.0 | [下载](https://alice-bucket.oss-cn-beijing.aliyuncs.com/lowcode/proxy4j_1.0_client_jdkwin64.zip) | 61M | ## 运行 ### windows ```shell # 服务端运行 server.bat # 客户端运行 client.bat # socks5运行 socks5.bat ``` ### linux ```shell # 服务端运行 server.sh # 客户端运行 client.sh # socks5运行 socks5.sh ``` ### docker 服务端运行 ```shell # 自定义创建镜像 # docker build -f Dockerfile -t proxy4j-server:1.0.2 . # 拉取镜像 docker pull terrybg/proxy4j-server:1.0.2 # 运行镜像 docker run --restart=always --network host --name=proxy4j-server -d terrybg/proxy4j-server:1.0.2 ``` 客户端运行 ```shell # 自定义创建镜像 # docker build -f Dockerfile -t proxy4j-client:1.0.2 . # 拉取镜像 docker pull terrybg/proxy4j-client:1.0.2 # 运行镜像 docker run --restart=always --network host --name=proxy4j-client -d terrybg/proxy4j-client:1.0.2 # 挂载配置文件的方式 docker run --restart=always --network host --name=proxy4j-client -d terrybg/proxy4j-client:1.0.2 mkdir -p /home/soft/proxy4j/proxy4j-client docker cp proxy4j-client:/proxy4j/application.yml /home/soft/proxy4j/proxy4j-client/application.yml docker rm -f proxy4j-client docker run --restart=always --network host -v /home/soft/proxy4j/proxy4j-client/application.yml:/proxy4j/application.yml --name=proxy4j-client -d terrybg/proxy4j-client:1.0.2 ``` socks5运行 ```shell # 自定义创建镜像 # docker build -f Dockerfile-socks5 -t proxy4j-socks5:1.0.2 . # 拉取镜像 docker pull terrybg/proxy4j-socks5:1.0.2 # 运行镜像 docker run --restart=always --network host -d terrybg/proxy4j-socks5:1.0.2 ``` ## 后续迭代方向 - 优化代码和稳定性 - Web管理端 - 传输添加客户端版本号 - 支持udp、stcp、sudp、p2p - Quarkus、GraalVM版本 ## 可运行脚本说明 frp、nps是go语言开发的,在windows环境exe文件无需安装任何环境即可运行,但是存在一个问题会报病毒被杀掉。Proxy4j解决了这个问题,打包后内置jre环境,下载解压即可运行。 使用GraalVM或者Spring Navtive也可实现,但是这块技术目前还成熟,构建和打包都比较麻烦,使用内置jre的方案更好。 ## 更新历史 ### 1.0.0 `2022-12-29` - 🎉 `Proxy4j` 第一个开源版本 - 🎉 `Proxy4j` 支持TCP、Socks5内网穿透 - 🎉 `Proxy4j` 解压即用,无需安装JDK可运行解决方案 ### 1.0.1 `2023-01-05` - 🎉 `Proxy4j` 支持h2数据库,默认是h2数据库 ### 1.0.2 `2023-01-10` - 🎉 `Proxy4j` Docker部署 `2023-02-13` - 🎉 socks5 添加验证