查看原文
其他

基于Netty的开源内网穿透工具

小胡 爱编程爱技术 2023-12-13

每天给大家带来网站工具、安卓软件、iOS软件等黑科技!如果你们有什么好的建议,也可以在后台留言。创作不易,希望大家给一点鼓励,把公众号设置为"星标",点下文章"在看",谢谢大家!目前佛系更新,望多多支持~

🕵️‍软件简介

  • 中微子代理(neutrino-proxy)是一个基于netty的、开源的Java内网穿透项目。

  • 技术栈:Solon、MybatisPlus、Netty

  • 遵循MIT许可,因此您可以对它进行复制、修改、传播并用于任何个人或商业行为。

✨软件优势

  • 流量监控:首页图表、报表管理多维度流量监控,全方位掌握实时、历史代理数据。

  • 域名映射:支持绑定子域名,方便本地调试三方回调

  • 用户/License:支持多用户、多客户端使用。后台禁用实时生效。

  • 端口池:对外端口统一管理,支持用户、License独占端口。

  • 端口映射:新增、编辑、删除、禁用实时生效。

  • Docker:服务端支持Docker一键部署。

  • 隧道SSL加密:隧道通信支持SSL,保护您的数据安全。

  • HTTPS:支持HTTPS

  • 采用最为宽松的MIT协议,免去你的后顾之忧

  • 可进行复制、修改、传播并用于任何个人或商业行为

🧬名字由来

中微子,是轻子的一种,是组成自然界的最基本的粒子之一。它十分微小、不带电,可自由穿过地球,以接近光速运动,与其他物质的相互作用十分微弱,号称宇宙间的“隐身人”。
中微子是宇宙中穿透能力最强的物质,只有粒子之间的间隙小于10的负19次方米时,才能够阻挡住中微子。

因此以中微子命名,寓意着中微子代理拥有中微子"安全"、"快速"、"穿透力强"的特点。

🍪代理示意图

🚚项目体验

首页

license管理

端口映射

端口池管理

用户管理


🚀️安装部署

1、安装服务端

使用jar包自行部署

  • 首先确保服务器上已安装java8运行环境

  • 打开发行版页面(opens new window),下载最新的release包:

    neutrino-proxy-server.jar

    neutrino-proxy-admin.zip

  • 在服务器上新建部署目录:

    /work/projects/neutrino-proxy-server

  • neutrino-proxy-server.jar

    neutrino-proxy-admin.zip

    上传至服务器部署目录。

  • 解压neutrino-proxy-admin.zip文件

  • 执行命令

    java -Dfile.encoding=utf-8 -jar neutrino-proxy-server.jar

    启动服务端完成部署,默认使用sqlite数据库。

  • 若需要指定自己的mysql数据库,同样的需要在当前目录下新建app.yml文件,文件内容同上。执行命令

    java -Dfile.encoding=utf-8 -jar neutrino-proxy-server.jar config=app.yml

    启动服务端完成部署

  • 可参照

    https://gitee.com/dromara/neutrino-proxy/blob/master/scripts/unix/server_start.sh
    使用shell脚本启动服务端。

2、管理后台配置

  • 服务端部署成功后,访问http://{服务端IP}:8888打开后台管理页面。

  • 使用默认的管理员帐号登录:admin/123456

  • 打开代理配置>License管理页面,可以看到系统已经自动为管理员初始化了一条License记录,复制该LicenseKey备用,后续客户端配置需要。

  • 打开代理配置>端口映射页面,可以看到系统已经自动为初始化了几条端口映射。可根据需要自行添加、修改。这里我们以9101 -> 127.0.0.1:8080映射为例

3、启动客户端

  • 首先确保本地已安装java8运行环境

  • 打开发行版页面(opens new window),下载最新的release包:

    neutrino-proxy-client.jar

  • 在本地neutrino-proxy-client.jar同级别目录下新建app.yml文件,并配置如下内容:

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 config=app.yml

    启动客户端

  • 查看服务端License管理,刷新页面,对应的License在线状态为在线,则表明客户端已正常连接

4、代理验证

  • 本地启动被代理服务,如:redis、本地web项目、本地mysql等等

  • 先确保本地能正常访问被代理服务,如果本地都不能访问,不用想代理更不可能!!!

  • 通过服务端IP+9101(上面License配置的端口映射重的服务端端口)访问本地被代理服务

访问成功,至此首次完整的内网穿透体验完成。


官网及安装手册:

  • 官网:https://neutrino-proxy.dromara.org

  • 项目开源地址:https://dromara.gitee.io/neutrino-proxy

  • 安装手册:https://dromara.gitee.io/neutrino-proxy/pages/793dcb/

最后附上演示环境

可使用分配好的游客license试用。服务器带宽较低,仅供学习使用!

  • 管理后台地址:http://103.163.47.16:9527

  • 游客账号:visitor/123456

👨‍🎓聊一聊

  • 公众号推送改版,务必点击【爱编程爱技术】右上角【设为星标🌟】,这样才不会错过推送。

  • 如果侵犯了您的权益,请点击菜单栏联系公众号,一经核实,我们会在最短的时间内删除!感谢理解!

点点关注不迷路



推荐阅读:

干翻算法!118K stars 霸榜GitHub!
LogicFlow:流程可视化的前端开源框架
36.6K Stars 一款轻量,迅速,可无限定制的高颜值命令行工具!
免费强大的gif录屏软件:screenToGif
uTools:新一代办公学习必备的效率神器
基于SpringBoot开发的轻量级框架Ape-Frame
natapp实现内网穿透

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存