# nettyProxyServer
**Repository Path**: king019/nettyProxyServer
## Basic Information
- **Project Name**: nettyProxyServer
- **Description**: Netty实现的端口转发、Http/Https代理服务器、Sock5代理服务器
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 11
- **Created**: 2025-07-28
- **Last Updated**: 2025-07-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
@[TOC](Java使用Netty实现端口转发&Http代理&Sock5代理服务器.md)
# 一、Java使用Netty实现端口转发&Http代理&Sock5代理服务器
这里总结整理了之前使用Java写的端口转发、Http代理、Sock5代理程序,放在同一个工程中,方便使用。
开发语言:Java
开发框架:Netty
## 1.功能
> 端口转发:
> HTTP代理服务器,支持账号密码认证
> Sock5代理服务器,支持账号密码认证
> 支持连接后端时直接连接或采用代理连接,也后端代理连接认证
## 2.参数配置
`修改config.yml`
```c
configs:
#端口转发demo
- enable: true
serverType: forward
serverPort: 13306
remoteHost: 127.0.0.1
remotePort: 3306
#http/https代理demo
- enable: true
serverType: http
serverPort: 3128
#sock5代理demo,需要认证
- enable: true
serverType: sock5
serverPort: 1080
needLogin: true
username: "test"
password: "123456"
```
比如上面的配置,就是开启了一个端口转发,一个Http代理和一个Sock5代理
`全量配置参考,config_full.yml:`
```c
#此文件包含所有能配置的属性,只用来查看使用,程序使用的是config.yml中的配置
configs:
#规则是否生效,true或者false,默认为true
- enable: true
#类型,forward或http或sock5,表示端口转发或http代理或sock5代理,默认为forward
serverType: forward
#本地监听的端口号
serverPort: 13306
#转发的目标IP,serverType为forward时此参数才有意义
remoteHost: 127.0.0.1
#转发的目标端口,serverType为forward时此参数才有意义
remotePort: 3306
#是否需要认证,serverType为http和sock5时此参数才有意义
needLogin: true
#认证账号,serverType为http和sock5时此参数才有意义
username: "user"
#认证密码,serverType为http和sock5时此参数才有意义
password: "pwd"
#是否需要通过后端代理连接远程服务器,会覆盖全局的配置
proxyNeed: false
#如果需要后端口代理,代理连接类型,http或socks5,会覆盖全局的配置
proxyType: http
#如果需要后端口代理,代理连接IP,会覆盖全局的配置
proxyIp: 127.0.0.1
#如果需要后端口代理,代理连接Port,会覆盖全局的配置
proxyPort: 1080
#如果需要后端口代理,代理连接用户名,为空说明不需要认证,会覆盖全局的配置
proxyUsername: "proxyUser"
#如果需要后端口代理,代理连接密码,为空说明不需要认证,会覆盖全局的配置
proxyPassword: "proxyPwd"
#===后端代理全局配置,会对所有的configs有效,以下配置都有默认值,如果没配置,则采用默认===#
global:
#是否需要通过后端代理连接远程服务器
proxyNeed: false
#代理连接类型,http或socks5
proxyType: http
#代理连接IP
proxyIp: 127.0.0.1
#代理连接Port
proxyPort: 1080
#代理连接用户名,为空说明不需要认证
proxyUsername: ""
#代理连接密码,为空说明不需要认证
proxyPassword: ""
```
## 程序下载
程度可直接下载已编绎好的文件(要求JDK1.8环境下使用)
>
也可以采用源源编绎
```
git clone
mvn clean package
```
## 程序启动
```c
#window
./start.bat
#Linux
./start.sh
```