# jrp **Repository Path**: java-tony/jrp ## Basic Information - **Project Name**: jrp - **Description**: Java Reverse Proxy,基于spring boot、vert.x实现反向代理服务。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-12-19 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jrp反向代理 ## 介绍 Java Reverse Proxy,基于vert.x开发的开源、跨平台的简单的反向代理工具。 包括配置管理和代理功能,配置信息存在json文件里。 支持HTTP(S)、TCP、UDP、SOCKS4、SOCKS5代理功能。 ### 代理配置管理 通过配置文件“conf/config.json”进行代理配置,里包含管理页面端口参数(port)和管理页面路径参数(path)。 程序启动后,可以在浏览器通过地址 "http://127.0.0.1:8000/jrp" 访问管理页面,调整代理配置,保存后立即生效。 也可以直接后台修改“config.json”文件,修改后程序会实时监听到配置变化,自动热加载新配置。 ### 代理功能 类似nginx可以配置“HTTP(S)、TCP、UDP、SOCKS4”代理。 配置信息在json文件里面的代理列表“proxies”JSON里。 代理功能说明如下: 1. HTTP(S)代理:HTTP(S)代理支持websocket,并且代理路径可通过设置参数“regex”支持正则匹配。 2. TCP、UDP、SOCKS4、SOCKS5:通过设置监听端口“listen”和被代理地址“proxy_pass”实现。 ## 软件架构 软件架构说明 java8(运行环境)+Vert.x(配置管理、代理功能)+vue3(element ui实现web端管理配置信息)。 ## 安装使用教程 1. 安装jdk8+或jre8+。 2. 修改配置文件"conf/config.json"里代理参数: ``` { "name": "jrp:Java Reverse Proxy", "port": 8000, "proxies": [ { "name": "HTTPS demo", "type": "HTTPS", "cert_cer": "证书文件", "cert_key": "私钥文件", "listen": 8081, "locations": [ { "name": "测试2", "regex": false, "location": "/", "proxy_pass": "https://www.baidu.com/" } ] }, { "name": "TCP demo", "type": "TCP", "listen": 8082, "proxy_pass":"127.0.0.1:8082" } ] } ``` 3. 启动:通过命令“java -jar -Dfile.encoding=utf-8 jrp-1.0.0-SNAPSHOT.jar“启动。 4. 调整配置:可以直接后台修改“config.json”文件,修改后程序会实时监听到配置变化,自动热加载新配置;也可以通过浏览器地址“http://IP:port/path”访问管理页面,调整代理配置,保存配置后立即生效。