Java使用Netty实现端口转发Http代理Sock5代理服务器
- 创业
- 2025-08-05 14:51:01

Java使用Netty实现端口转发&Http代理&Sock5代理服务器.md 一、简介1.功能2.参数配置3.程序下载4.程序启动5.源码
一、简介
这里总结整理了之前使用Java写的端口转发、Http代理、Sock5代理程序,放在同一个工程中,方便使用。
开发语言:Java 开发框架:Netty
1.功能端口转发: HTTP代理服务器,支持账号密码认证 Sock5代理服务器,支持账号密码认证 支持连接后端时直接连接或采用代理连接,也后端代理连接认证
2.参数配置修改config.yml
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:
#此文件包含所有能配置的属性,只用来查看使用,程序使用的是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: "" #如果需要后端口代理,代理连接密码,通过是否为空来决定需不需要认证,会覆盖全局的配置 proxyPassword: "" #===后端代理全局配置,会对所有的configs有效,以下配置都有默认值,如果没配置,则采用默认===# global: #是否需要通过后端代理连接远程服务器 proxyNeed: false #代理连接类型,http或socks5 proxyType: http #代理连接IP proxyIp: 127.0.0.1 #代理连接Port proxyPort: 1080 #代理连接用户名,通过是否为空来决定需不需要认证 proxyUsername: "" #代理连接密码,通过是否为空来决定需不需要认证 proxyPassword: "" 3.程序下载程度可直接下载已编绎好的文件(要求JDK1.8环境下使用)
https://gitee.com/jxlhljh/nettyProxyServer/raw/master/release/nettyProxyServer.zip https://github.com/jxlhljh/nettyProxyServer/blob/master/release/nettyProxyServer.zip
也可以采用源码编绎
git clone https://github.com/jxlhljh/nettyProxyServer.git 或 git clone https://gitee.com/jxlhljh/nettyProxyServer.git mvn clean package 4.程序启动解压程序
unzip nettyProxyServer.zip $ ls -hl total 99K -rw-r--r-- 1 liujh 197121 342 Jan 20 17:06 config.yml drwxr-xr-x 1 liujh 197121 0 Jan 20 18:25 lib/ -rw-r--r-- 1 liujh 197121 71K Jan 20 14:50 nettyProxyServer.jar -rw-r--r-- 1 liujh 197121 137 Jan 20 20:59 start.bat -rwxr-xr-x 1 liujh 197121 226 Jan 20 17:03 start.sh启动程序
#window ./start.bat #Linux ./start.sh 5.源码 git clone https://github.com/jxlhljh/nettyProxyServer.git git clone https://gitee.com/jxlhljh/nettyProxyServer.gitJava使用Netty实现端口转发Http代理Sock5代理服务器由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java使用Netty实现端口转发Http代理Sock5代理服务器”