开源内网穿透神器:中微子代理(neutrino-proxy)实现内网穿刺

在这里插入图片描述

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

开源内网穿透神器:中微子代理(neutrino-proxy)实现内网穿刺

  • 前言
  • 什么是中微子代理(Neutrino-Proxy)
  • 安装中微子代理(Neutrino-Proxy)服务端
  • 安装中微子代理(Neutrino-Proxy)客户端
  • 开始配置代理
  • 总结

前言

在我们日常工作中很多时候需要让外网能访问到我们的本地项目,比如:开发过程中支付回调开发过程让客户可以公司内网测试服务器Webhooks Post 等等

在博主 2024最新 Jenkins + Docker 实战教程(五)- 配置Gitee Webhooks实现自动构建部署 这篇文章中就有使用了内网穿刺来实现Jenkins自动构建部署。

内网穿刺是一种技术,用于在内网设备和外网设备之间建立直接通信。无论是开发者需要远程调试内部服务,还是用户希望访问内网资源,内网穿刺都能提供一种便捷而高效的解决方案。

什么是中微子代理(Neutrino-Proxy)

中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目。
开源地址:https://gitee.com/dromara/neutrino-proxy

它采用了SolonMybatisPlusNetty等技术栈,并遵循MIT许可协议,用户可以自由复制、修改、传播并用于任何个人或商业行为。
在这里插入图片描述

以下是 Neutrino-Proxy 代理示意图
在这里插入图片描述

安装中微子代理(Neutrino-Proxy)服务端

在开始之前,需确保你有一台具有公网 IP 的服务器

如果没有公网 IP 的服务器,博主推荐大家到腾讯云试用专区,免费试用1个月服务器来学习本次教程

腾讯云相关注册认证,大家自行操作即可,这里就不赘述了

在这里插入图片描述
Neutrino-Proxy 提供了jardocker原生部署的部署方式,任何一种部署方式,不要求客户端与服务端一致。如:服务端采用docker部署,客户端可以用docker部署、也可以用jar原生部署

博主的腾讯云主机属于Centos系统,我们采用Docker来进行安装

官方默认使用的是H2数据库,我们先调整使用mysql数据库
在服务器上创建目录:/root/neutrino-proxy/config
在该目录下创建app.yml文本文件,并配置如下内容:

neutrino:data:db:type: mysql# 自己的数据库实例,创建一个空的名为'neutrino-proxy'的数据库即可,首次启动服务端会自动初始化url: jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=falsedriver-class: com.mysql.jdbc.Driver# 数据库帐号username: xxx# 数据库密码password: xxx

开始安装

docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888 \
-d --restart=always --name neutrino-proxy \
-v /root/neutrino-proxy-server/config:/root/neutrino-proxy/config \
-v /root/neutrino-proxy-server/data:/root/neutrino-proxy/data \
-v /root/neutrino-proxy-server/logs:/root/neutrino-proxy/logs \
aoshiguchen/neutrino-proxy-server:latest

使用docker ps指令查看容器是否启动了

最后我们测试一下是否可以访问 , http://云服务器公网IP:8888 这个时候大家一定发现居然访问不了,不要着急因为需要开放云服务器安全组端口

云服务器开放 : WEB端口8888、对客户端开放的端口(90009002)、端口映射用到的端口

如博主腾讯云的配置,见下图
在这里插入图片描述
最后再次访问http://云服务器公网IP:8888
在这里插入图片描述
安装部署成功!

安装中微子代理(Neutrino-Proxy)客户端

首先通过登陆服务端WEB(默认账号密码是admin/123456),「代理配置」->「License管理」系统默认自动帮我们生成了License,复制License Key
在这里插入图片描述
在我们内网机器上安装客户端,服务端ip、license-key自行补充

docker run -it -d --restart=always \
--name npclient \
-e SERVER_IP=服务器公网IP \
-e LICENSE_KEY=刚获取到的License Key \
aoshiguchen/neutrino-proxy-client:latest

通过docker ps 指令确认容器启动后,回到管理端页面 显示在线状态:在线,即代表我们从服务端到客户端均已经安装完成!
在这里插入图片描述

开始配置代理

管理端页面「代理配置」->「端口映射」 添加端口映射,我们来配置一下代理我们本地的Jenkins访问
在这里插入图片描述

以上配置访问http://云服务器公网IP:9104 即可访问到我们内网192.168.1.20:8080的应用

在这里插入图片描述
当然的功能还有很多,比如安全组、流量监控等功能,大家可以自行去体验即可

总结

中微子代理(neutrino-proxy)是一款功能强大的内网穿刺工具,能够帮助用户轻松实现内网与外网的通信。通过本文的介绍,你应该已经了解了中微子代理的工作原理、安装和配置方法。希望大家能够顺利地使用中微子代理,实现内网穿刺,提升开发和调试效率。


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dubbo复习:(10)使用tripple协议进行通信

一、pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.…

场景文本检测识别学习 day10(MMdetection)

配置文件(config) 由于在大型项目中&#xff0c;一种模型需要分&#xff1a;tiny、small、big等很多种&#xff0c;而它们的区别主要在网络结构&#xff0c;数据的加载&#xff0c;训练策略等&#xff0c;且差别很多都很小&#xff0c;所以如果每个模型都手动从头写一份&#…

ChatGPT原创指令大全(持续更新)

随着ChatGPT在互联网上的使用越来越多&#xff0c;但很多人在使用ChatGPT的过程中会觉得得到的答案并不是很精准。究其原因其实是你给它的命令不够准确、不够到位。实际现在网上已经很多关于ChatGPT的网站&#xff0c;可以快速生成带有快捷键的ChatGPT指令。但是对于不熟悉Chat…

LeetCode 2951.找出峰值:模拟(遍历)

【LetMeFly】2951.找出峰值&#xff1a;模拟&#xff08;遍历&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-the-peaks/ 给你一个下标从 0 开始的数组 mountain 。你的任务是找出数组 mountain 中的所有 峰值。 以数组形式返回给定数组中 峰值 的…

视创云展「VR直播」是什么?有哪些功能和应用场景?

视创云展「VR直播」通过“3D沉浸式展厅直播高互动感”的创新玩法&#xff0c;使企业随时随地举办一场低成本、高互动、能获客的元宇宙直播活动成为可能。「VR直播」能实现3D展厅内VR场景漫游&#xff0c;更结合音视频交互、同屏互动等新功能&#xff0c;为用户带来更沉浸的虚拟…

Java基础之 API 字符串

文章目录 API字符串String概述创建对象 java的内存模型java的常用方法(比较)练习 API 概念: APl(Application ProgrammingInterface): 应用程序编程接口 简单理解: API就是别人已经写好的东西&#xff0c;我们不需要自己编写&#xff0c;直接使用即可。 Java API: 指的就是J…

马斯克的 xAI 帝国!60亿融资背后的超级布局?

在全球科技竞技场&#xff0c;每个重大融资事件都是对行业格局的一次重塑。近日&#xff0c;埃隆马斯克的人工智能初创企业 xAI 成功完成了一轮规模空前的融资——60亿美元&#xff0c;此举无疑在业界投下了一枚震撼弹&#xff0c;标志着 AI 领域内一场新的竞赛拉开了序幕。 …

旅游卡在哪里拿货?千益畅行旅游卡源头

旅游卡是一种便捷的旅行工具&#xff0c;它可以提供多种优惠和特惠&#xff0c;让人们在旅行中更加省钱、省心。那么&#xff0c;在千益畅行旅游卡这里&#xff0c;我们该如何拿到这张神奇的旅游卡呢&#xff1f; 首先&#xff0c;千益畅行旅游卡作为一款专为旅行爱好者打造的…

QT学习(20):QStyle类

Qt包含一组QStyle子类&#xff0c;这些子类&#xff08;QWindowsStyle&#xff0c;QMacStyle等&#xff09;模拟Qt支持的不同平台的样式&#xff0c;默认情况下&#xff0c;这些样式内置在Qt GUI模块中&#xff0c;样式也可以作为插件提供。 Qt的内置widgets使用QStyle来执行几…

LangChain之链的应用(下)

LangChain之链的应用 Chain链的应用配置LLMChain&#xff1a;简单链create_stuff_documents_chain&#xff1a;文档链create_extraction_chain&#xff1a;提取信息链LLMMathChain&#xff1a;数学链create_sql_query_chain&#xff1a;SQL查询链连接数据库创建并使用链 Sequen…

K210 数字识别 教程

一、烧写固件 连接k210开发板&#xff0c;点开烧录固件工具&#xff0c;选中固件&#xff0c;并下载 二、模型训练 网站&#xff1a;MaixHub 1、上传文件 2、开始标记数据 添加9个标签&#xff0c;命名为1~9&#xff0c;按键盘w开始标记&#xff0c;键盘D可以下一张图片&…

计算机网络(1

网络初识 目录 网络初识一. 网络分类1. 局域网LAN(Local Area Network):2. 广域网WAN(Wide Area Network): 二. 组建网络的基础设备1. 路由器2. 交换机 三. 标识符 协议 (protocol)一. 协议分层1. 分层的好处2. OSI七层分层3. TCP/IP五层模型(或四层) 模型(1. 物理层(可不算)(2…

6.8 LIBBPF API(七,bpf_core_read.h 函数,定义,枚举)

一,函数 void * bpf_rdonly_cast (const void *obj, __u32 btf_id) __ksym __weak 二,定义 __CORE_RELO(src, field, info) __builtin_preserve_field_info((src)->field,BPF_FIELD_##info) __CORE_BITFIELD_PROBE_READ(dst, src, fld) bpf_probe_read_kernel( \ (v…

学习前端第四十二天(修改文档)

1、创建一个元素 docunment.createElement( tag )&#xff1b;创建一个元素节点 let div document.createElement&#xff08;“div”&#xff09;&#xff1b;创建一个div标签 document.createTextNode&#xff08; Text &#xff09;&#xff1b;创建一个文本节点 let t…

Windows hook介绍与代码演示

Windows Hook 是一种机制&#xff0c;允许应用程序监视系统或处理特定事件。它可以拦截和更改消息&#xff0c;甚至可以插入到其他应用程序的消息处理机制中。Windows 提供了多种挂钩类型&#xff0c;例如键盘挂钩、鼠标挂钩、消息挂钩等。 hook代码实现 下面是一个使用 Wind…

【Zotero】【MacOS】Zotero6常用插件总结

因为目前MacOS只支持Zotero6&#xff0c;所以我将网上找到的教程以及自己找到适应Zotero6版本的插件做了个整合 教程地址&#xff1a;Zotero6安装/插件安装教程 插件地址&#xff1a;Zotero6_Plugs

Django教程——数据库操作(增删改查)

在上篇文章中我们学习了Django教程——模型&#xff0c;这篇文章学习Django教程——数据库操作&#xff08;增删改查&#xff09;。 在学习数据库操作之前&#xff0c;我们需要定义好模型类&#xff0c;模型类代码如下&#xff1a; from django.db import models class UserM…

OS复习笔记ch7-1

存储的基本管理需求 重定位 重定位(Relocation)&#xff1a;需要解决可执行文件中地址&#xff08;指令和数据&#xff09;和内存地址的对应。 一般有两种比较常见的重定位方式&#xff1a; 静态重定位(static relocation)&#xff1a;当程序被装入内存时&#xff0c;一次性…

Python pdf2imges -- pdf文件转图片

pdf文件转图片&#xff0c;需要安装PyMuPDF包&#xff0c;具体PyMuPDF包介绍可以参考&#xff1a;Python 处理 PDF 的神器 -- PyMuPDF import fitz # pip install PyMuPDF# PDF转换为IMG统一管理 def pdf_to_images(pdf_path, img_path, filename):"""pdf_p…

Mac系统国内通过nvm快速安装node

国内通过nvm安装node 国内nvm安装工具 地址&#xff1a;https://gitee.com/RubyMetric/nvm-cn 安装命令 bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"如果按照过程中有报错可以尝试下载安装脚本 在浏览器中打开下面的链接htt…