1 Star 0 Fork 1

wuworker / netty-proxy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

基于netty实现的代理服务器

支持tcp代理以及http代理

菜单

快速开始

修改配置文件

同时启动mysql代理,和http代理

proxy:
  boss-threads: 0
  work-threads: 16
  tcp:
    enabled: true
    server:
# mysql代理
      mysql-proxy:
        bind-port: 13306
        remote-host: remotehost
        remote-port: 3306
# http代理
  http:
    enabled: true
    bind-port: 8888

启动

前台启动

sh ./jproxy.sh start 

后台启动

sh ./jproxy.sh start -d

配置

配置tcp代理

proxy:
  tcp:
    enabled: true
    server:
      mysql-proxy:
        bind-port: 13306
        remote-host: remotehost
        remote-port: 3306
      redis-proxy:
        bind-port: 16379
        remote-host: remotehost
        remote-port: 6379
      ...

proxy.tcp.server节点下可以增加任意多tcp代理, 需要注意bind-port不能相同

配置http代理

proxy:
  http:
    enabled: true
    bind-port: 8888
    connect-timeout: 5s
    log: false

log是否开启http详细日志

配置https解密

proxy:
  http:
    enabled: true
    bind-port: 8888
    ssl:
      ca-cert-path: 'file:ca/root_ca.cer'
      ca-private-key-path: 'file:ca/ca_private.der'

需要在浏览器导入root_ca.cer为可信

生成自签名证书步骤:

  1. 生成rsa私钥
openssl genrsa -out private_key.pem 2048
  1. 转换为pkcs8,der格式
openssl pkcs8 -topk8 -in private_key.pem -out ca_private.der -nocrypt -outform der
  1. 生成自签名证书
openssl req -new -x509 -days 365 -key private_key.pem -out root_ca.cer

配置http二级代理

proxy:
  http:
    enabled: true
    bind-port: 8888
    second-proxy:
      host: remotehost
      port: 1080
      type: socks5

管理员

通过telnet服务对代理进行管理

telnet

默认启动telnet服务,默认端口绑定在23456

admin:
  enabled: true
  server-name: admin-manager
  bind-port: 23456

通过telnet进行连接

➜  ~ telnet 127.0.0.1 23456
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
 _
|_._ _    /\ _._ _ o._
| | (_>\//--(_| | ||| |
       /

admin> 

命令

command description
ls 列出所有代理
start 启动代理
alias 命名起别名
create 动态创建代理
quit 离开
close 关闭代理

授权

增加配置password

admin:
  password: 123456

参考

[netty官方文档]
[github]

空文件

简介

基于netty实现代理服务器 展开 收起
Java 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/wuworker/netty-proxy.git
git@gitee.com:wuworker/netty-proxy.git
wuworker
netty-proxy
netty-proxy
master

搜索帮助