【开源源码】内网穿透神器NeutrinoProxy 1.8.0版本发布

If you don’t try, you’ll never know. So try.
如果你不去试,你永远也不知道结果,所以去试试吧

正文开始阅读,请点击右上角“关注”按钮,关注我们

------正文内容展示,开始阅读新内容------

AI摘要
TianliGPT
生成中...

内网穿透神器NeutrinoProxy 1.8.0版本发布

项目简介

  • 中微子代理(neutrino-proxy) 是一款基于netty的内网穿透神器。该项目采用最为宽松的MIT协议,因此您可以对它进行复制、修改、传播并用于任何个人或商业行为。
  • Gitee地址:https://gitee.com/dromara/neutrino-proxy
  • 官网地址:http://neutrino-proxy.dromara.org
  • 服务端管理后台截图:
图片[1]-内网穿透神器NeutrinoProxy 1.8.0版本发布

主要特点:

  • 1、流量监控:首页图表、报表管理多维度流量监控。全方位掌握实时、历史代理数据。
  • 2、用户/License:支持多用户、多客户端使用。后台禁用实时生效。
  • 3、端口池:对外端口统一管理,支持用户、License独占端口。
  • 4、端口映射:新增、编辑、删除、禁用实时生效。
  • 5、Docker:服务端支持Docker一键部署。
  • 6、SSL证书:支持SSL,保护您的信息安全。
  • 7、域名映射:支持绑定子域名,方便本地调试三方回调
  • 8、采用最为宽松的MIT协议,免去你的后顾之忧

快速使用

更多使用姿势、细节请通过官网或结尾微信二维码加我备注"中微子代理"入群交流。

1、 部署服务端

1.1、 Docker一键部署

当前最新版本为1.8.0,下面的脚本中,可以使用:registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.0 指定版本安装,推荐使用latest直接安装最新版。

使用默认sqlite数据库
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888
-d --restart=always --name neutrino-proxy
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 
-d --restart=always --name neutrino-proxy 
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888  -d --restart=always --name neutrino-proxy  registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
指定自己的mysql数据库
  • 在服务器上创建目录:/root/neutrino-proxy/config
  • 在该目录下创建app.yml文本文件,并配置如下内容:
<span style="color: #d19a66; line-height: 26px;">neutrino:</span>
<span style="color: #d19a66; line-height: 26px;">data:</span>
<span style="color: #d19a66; line-height: 26px;">db:</span>
<span style="color: #d19a66; line-height: 26px;">type:</span> <span style="color: #98c379; line-height: 26px;">mysql</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># 自己的数据库实例,创建一个空的名为'neutrino-proxy'的数据库即可,首次启动服务端会自动初始化</span>
<span style="color: #d19a66; line-height: 26px;">url:</span> <span style="color: #98c379; line-height: 26px;">jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=false</span>
<span style="color: #d19a66; line-height: 26px;">driver-class:</span> <span style="color: #98c379; line-height: 26px;">com.mysql.jdbc.Driver</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># 数据库帐号</span>
<span style="color: #d19a66; line-height: 26px;">username:</span> <span style="color: #98c379; line-height: 26px;">xxx</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># 数据库密码</span>
<span style="color: #d19a66; line-height: 26px;">password:</span> <span style="color: #98c379; line-height: 26px;">xxx</span>
<span style="color: #d19a66; line-height: 26px;">neutrino:</span>
  <span style="color: #d19a66; line-height: 26px;">data:</span>
    <span style="color: #d19a66; line-height: 26px;">db:</span>
      <span style="color: #d19a66; line-height: 26px;">type:</span> <span style="color: #98c379; line-height: 26px;">mysql</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># 自己的数据库实例,创建一个空的名为'neutrino-proxy'的数据库即可,首次启动服务端会自动初始化</span>
      <span style="color: #d19a66; line-height: 26px;">url:</span> <span style="color: #98c379; line-height: 26px;">jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=false</span>
      <span style="color: #d19a66; line-height: 26px;">driver-class:</span> <span style="color: #98c379; line-height: 26px;">com.mysql.jdbc.Driver</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># 数据库帐号</span>
      <span style="color: #d19a66; line-height: 26px;">username:</span> <span style="color: #98c379; line-height: 26px;">xxx</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># 数据库密码</span>
      <span style="color: #d19a66; line-height: 26px;">password:</span> <span style="color: #98c379; line-height: 26px;">xxx</span>
neutrino:   data:     db:       type: mysql       # 自己的数据库实例,创建一个空的名为'neutrino-proxy'的数据库即可,首次启动服务端会自动初始化       url: jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=false       driver-class: com.mysql.jdbc.Driver       # 数据库帐号       username: xxx       # 数据库密码       password: xxx
  • 然后执行如下命令:
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888
-v /root/neutrino-proxy/config:/root/neutrino-proxy/config
-d --restart=always --name neutrino
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 
-v /root/neutrino-proxy/config:/root/neutrino-proxy/config 
-d --restart=always --name neutrino 
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest
docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888  -v /root/neutrino-proxy/config:/root/neutrino-proxy/config  -d --restart=always --name neutrino  registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:latest

1.2、使用jar包自行部署

  • 首先确保服务器上已安装java8运行环境
  • 打开发行版页面,下载最新的release包:neutrino-proxy-server.jarneutrino-proxy-admin.zip
  • 在服务器上新建部署目录:/work/projects/neutrino-proxy-server
  • neutrino-proxy-server.jarneutrino-proxy-admin.zip上传至服务器部署目录。
  • 解压neutrino-proxy-admin.zip文件
  • 执行命令java -jar neutrino-proxy-server.jar启动服务端完成部署,默认使用sqlite数据库。
  • 若需要指定自己的mysql数据库,同样的需要在当前目录下新建app.yml文件,文件内容同上。执行命令java -jar neutrino-proxy-server.jar config=app.yml启动服务端完成部署
  • 可参照 https://gitee.com/dromara/neutrino-proxy/blob/master/bin/server_start.sh 使用shell脚本启动服务端。

2、管理后台配置

  • 服务端部署成功后,访问http://{服务端IP}:8888打开后台管理页面。
  • 使用默认的管理员帐号登录:admin/123456
  • 打开代理配置>License管理页面,可以看到系统已经自动为管理员初始化了一条License记录,复制该LicenseKey备用,后续客户端配置需要。
  • 打开代理配置>端口映射页面,可以看到系统已经自动为初始化了几条端口映射。可根据需要自行添加、修改。这里我们以9101 -> 127.0.0.1:8080映射为例

3、启动客户端

  • 首先确保本地已安装java8运行环境
  • 打开发行版页面,下载最新的release包:neutrino-proxy-client.jar
  • 在本地neutrino-proxy-client.jar同级别目录下新建app.yml文件,并配置如下内容:
<span style="color: #d19a66; line-height: 26px;">neutrino:</span>
<span style="color: #d19a66; line-height: 26px;">proxy:</span>
<span style="color: #d19a66; line-height: 26px;">client:</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># ssl证书密钥(使用jjar包内自带的证书,则此处无需修改)</span>
<span style="color: #d19a66; line-height: 26px;">key-store-password:</span> <span style="color: #d19a66; line-height: 26px;">123456</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># ssl证书管理密钥(使用jjar包内自带的证书,则此处无需修改。自定义证书,则此处配置对应的路径)</span>
<span style="color: #d19a66; line-height: 26px;">jks-path:</span> <span style="color: #98c379; line-height: 26px;">classpath:/test.jks</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># 代理服务端IP</span>
<span style="color: #d19a66; line-height: 26px;">server-ip:</span> <span style="color: #98c379; line-height: 26px;">localhost</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># 代理服务端IP, 若是非ssl端口,则ssl-enable需要配置为false</span>
<span style="color: #d19a66; line-height: 26px;">server-port:</span> <span style="color: #d19a66; line-height: 26px;">9002</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># 是否启用ssl</span>
<span style="color: #d19a66; line-height: 26px;">ssl-enable:</span> <span style="color: #56b6c2; line-height: 26px;">true</span>
<span style="color: #5c6370; font-style: italic; line-height: 26px;"># licenseKey,客户端凭证。此处需要配置刚刚从管理后台复制的LicenseKey</span>
<span style="color: #d19a66; line-height: 26px;">license-key:</span> <span style="color: #98c379; line-height: 26px;">xxxx</span>
<span style="color: #d19a66; line-height: 26px;">neutrino:</span>
  <span style="color: #d19a66; line-height: 26px;">proxy:</span>
    <span style="color: #d19a66; line-height: 26px;">client:</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># ssl证书密钥(使用jjar包内自带的证书,则此处无需修改)</span>
      <span style="color: #d19a66; line-height: 26px;">key-store-password:</span> <span style="color: #d19a66; line-height: 26px;">123456</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># ssl证书管理密钥(使用jjar包内自带的证书,则此处无需修改。自定义证书,则此处配置对应的路径)</span>
      <span style="color: #d19a66; line-height: 26px;">jks-path:</span> <span style="color: #98c379; line-height: 26px;">classpath:/test.jks</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># 代理服务端IP</span>
      <span style="color: #d19a66; line-height: 26px;">server-ip:</span> <span style="color: #98c379; line-height: 26px;">localhost</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># 代理服务端IP, 若是非ssl端口,则ssl-enable需要配置为false</span>
      <span style="color: #d19a66; line-height: 26px;">server-port:</span> <span style="color: #d19a66; line-height: 26px;">9002</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># 是否启用ssl</span>
      <span style="color: #d19a66; line-height: 26px;">ssl-enable:</span> <span style="color: #56b6c2; line-height: 26px;">true</span>
      <span style="color: #5c6370; font-style: italic; line-height: 26px;"># licenseKey,客户端凭证。此处需要配置刚刚从管理后台复制的LicenseKey</span>
      <span style="color: #d19a66; line-height: 26px;">license-key:</span> <span style="color: #98c379; line-height: 26px;">xxxx</span>
neutrino:   proxy:     client:       # ssl证书密钥(使用jjar包内自带的证书,则此处无需修改)       key-store-password: 123456       # ssl证书管理密钥(使用jjar包内自带的证书,则此处无需修改。自定义证书,则此处配置对应的路径)       jks-path: classpath:/test.jks       # 代理服务端IP       server-ip: localhost       # 代理服务端IP, 若是非ssl端口,则ssl-enable需要配置为false       server-port: 9002       # 是否启用ssl       ssl-enable: true       # licenseKey,客户端凭证。此处需要配置刚刚从管理后台复制的LicenseKey       license-key: xxxx
  • 执行命令java -jar neutrino-proxy-client.jar启动客户端
  • 查看服务端License管理,刷新页面,对应的License在线状态为在线,则表明客户端已正常连接。

4、代理验证

  • 本地启动被代理服务,如:redis、本地web项目、本地mysql等等
  • 先确保本地能正常访问被代理服务,如果本地都不能访问,不用想代理更不可能!!!
  • 通过服务端IP+9101(上面License配置的端口映射重的服务端端口)访问本地被代理服务

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

------关注微信公众号:映凡空间------
Invitation
YingFan
-scan
created:2022/05/10
Nice to meet you!

Use this card to join the YingFan's Space and participate in a pleasant discussion together .

Welcome to YingFan's Space,wish you a nice day .

If you don’t try, you’ll never know. So try.
如果你不去试,你永远也不知道结果,所以去试试吧
© 版权声明
THE END
喜欢就支持一下吧 - 映凡空间
点赞56赞赏 分享
If you don’t try, you’ll never know. So try.
如果你不去试,你永远也不知道结果,所以去试试吧
评论 共1条

请登录后发表评论