前言
远程办公、分布式开发和云服务普及的背景下,内网穿透早已不是什么新鲜需求。但真正好用、安全又开源的内网穿透工具却并不多见。
本文将要介绍一个基于 Netty 开发的 Java 内网穿透工具,它不仅功能全面,还兼顾了性能、安全与易用性,是一个值得大家关注的国产开源项目。
项目介绍
中微子,是轻子的一种,是组成自然界的最基本的粒子之一。它十分微小、不带电,可自由穿过地球,以接近光速运动,与其他物质的相互作用十分微弱,号称宇宙间的"隐身人"。
中微子是宇宙中穿透能力最强的物质,只有粒子之间的间隙小于10的负19次方米时,才能够阻挡住中微子。因此以中微子命名,寓意着中微子代理拥有中微子"安全"、"快速"、"穿透力强"的特点。
项目功能
核心目标是打通内网与公网之间的通信壁垒。
1、多协议穿透
无论是 TCP、UDP,还是 HTTP/HTTPS,都能通过中微子代理进行转发,满足 Web 服务、数据库、游戏服务器等不同场景的需求。
2、域名映射
支持为 HTTP 服务绑定自定义子域名,极大方便了微信小程序、支付回调等需要固定公网地址的开发调试工作。
3、流量监控
首页图表和报表管理,可实时查看各端口的流量使用情况,历史数据也能一目了然。
4、权限与安全控制
通过用户系统、License 管理、安全组(IP 黑白名单)等功能,实现细粒度的访问控制。
5、限速机制
可针对特定 License 或端口映射设置上传/下载速率上限,避免带宽被个别用户占满。
项目特点
它不像某些商业穿透工具那样捆绑广告或强制注册,也不像部分开源项目那样文档缺失、部署复杂。相反,它提供了多种部署方式,界面简洁直观,后台管理功能完善,真正做到开箱即用。
项目技术
技术栈
Solon、MybatisPlus、Netty
代理示意图
项目使用
1、快速上手须知
流程为新手设计,目标是用最少步骤完成从部署到首次使用。
请务必严格按照以下步骤操作,不要自行修改配置。如确需调整,请先完整阅读官方文档中的《安装部署》《使用须知》和《常见问题》。
指南仅包含体验所必需的配置,完整配置请参考详细文档。
2、部署服务端
任选一种方式部署服务端(宝塔面板 / JAR / Docker / 原生部署 / Docker-Compose),具体操作见对应文档。
注意:客户端与服务端部署方式无需一致。例如服务端用 Docker,客户端可用 JAR 或原生方式运行。
管理后台访问
服务端启动成功后,浏览器访问:
http://{你的服务器IP}:8888
使用默认账号登录:
-
用户名:
admin -
密码:
123456
进入 代理配置 > License管理,系统已自动为管理员生成一条 License 记录。
复制该 LicenseKey,后续客户端配置需要用到。
启动客户端
运行客户端,并在配置中填入上述 LicenseKey。
返回服务端后台的 License 管理页面,刷新后若看到该 License 的“在线状态”变为 在线,说明客户端已成功连接。
3、验证代理功能
1、在本地启动一个服务(如 Web 项目、Redis、MySQL 等),假设监听端口为 8080。
务必先确认本地能正常访问该服务(例如浏览器打开 http://127.0.0.1:8080)。如果本地都无法访问,穿透一定失败!
2、登录服务端管理后台,进入 端口映射管理,使用刚才的 License 创建一条映射规则:
-
服务端端口:
9101 -
目标地址:
127.0.0.1:8080
3、在任意外网设备上访问:
http://{你的服务器IP}:9101
如果能成功看到本地服务的内容,说明内网穿透已生效!
至此,已完成中微子代理的首次完整体验。
项目效果
安全性方面,所有隧道通信均支持 SSL 加密,确保数据在公网传输过程中不被窃听或篡改。配合安全组的 IP 访问限制,可以有效防止未授权访问。
系统首页
系统管理
端口池管理
代理配置
端口映射
项目源码
项目开源根据自身需求进行二次开发,比如集成到自己的运维平台,或增加新的协议支持。
Gitee:https://gitee.com/dromara/neutrino-proxy
总结
总的来说,中微子代理是一个兼具实用性、安全性和扩展性的内网穿透解决方案。它没有花哨的营销,也没有复杂的收费模型,而是专注于解决开发最真实的问题:如何简单、安全、高效地把内网服务暴露出去。
不管是需要临时调试一个本地 API,还是为企业搭建长期稳定的反向代理通道,中微子代理都值得一试。尤其对于熟悉 Java 技术栈的来说,它的架构清晰、文档完善、部署灵活,完全可以作为自建穿透服务的首选方案。
关键词
#内网穿透、#Netty、#Solon、#Docker、#SSL加密、#多协议支持、#流量监控、#安全组、#开源项目
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力

