# 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**: 0 - **Forks**: 0 - **Created**: 2024-12-19 - **Last Updated**: 2025-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jrp ## 介绍 Java Reverse Proxy,基于vert.x开发的跨平台的反向代理服务。 分管理功能和代理功能,配置信息存在json文件里。 管理功能:配置文件“conf/config.json”里包含管理页面端口参数(port)和管理页面路径参数(path),程序启动后,可以通过浏览器地址 "http://127.0.0.1:8000/jrp" 访问管理页面,调整代理配置,保存配置后立即生效;也可以直接后台修改“config.json”文件,修改后程序会实时监听到配置变化,自动热加载新配置。 代理功能:类似nginx可以配置“HTTP(s)、TCP、UDP、SOCKS4”代理,配置信息在json文件里面的代理列表“proxies”里,部分主要代理功能说明如下: 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 jrp-1.0.0-SNAPSHOT.jar“启动。 4. 调整配置:可以直接后台修改“config.json”文件,修改后程序会实时监听到配置变化,自动热加载新配置;也可以通过浏览器地址“http://IP:port/path”访问管理页面,调整代理配置,保存配置后立即生效。