首页 > 其他分享 >一行命令搞定内网穿透

一行命令搞定内网穿透

时间:2024-08-07 17:38:55浏览次数:5  
标签:npm node 搞定 nodejs 一行 穿透 本地 安装 输入

一行命令搞定内网穿透

一款开源免费的内网穿透工具:localtunnel ,基于 nodejs 实现,无需修改 DNS 和防火墙设置,方便快捷的将内网服务暴露到外网,为开发人员、测试人员以及需要分享本地项目的人提供实时的公网访问方式,以便于测试和共享!

 功能特性

  • 一行命令启动,无需复杂的网络设置
  • 基于 Node.js 的内网穿透工具
  • 分配一个独特的可公开访问的 URL
  • 轻松将内网设备的指定端口暴露到公网
  • 无需修改 DNS 和防火墙设置
  • 所有隧道均使用安全 https 协议
  • 代理中转所有请求,确保内网服务的可远程访问性
  • 使用 API 测试 webhook
  • 在浏览器中测试内网服务

快速体验

localtunnel 的原理与 ngrok 相似,当我们访问内网服务时,首先去向 localtunnel 的服务器发起请求,与本地端口创建一条临时隧道,当用户请求公网域名时,会自动通过隧道拿到我们本地服务的数据返回给用户。

准备环境

  • nodejs
  • npm

0、安装nodejs,直接点击安装即可,注意选择安装的目录,后面安装 Localtunnel会使用的

Nodejs的安装以及配置

1、安装nodejs

node-v12.16.1-x64.msi 点击安装,注意以下步骤

本文设置nodejs的安装的路径:D:\soft\nodejs

 

 

 继续点击next,选中Add to PATH ,旁边的英文告诉我们会把 环境变量 给我们配置好

 当然也可以只选择 Node.js runtime,根据自己需要选择安装

 

 

下面如果勾选的话,会自动安装一些必要的环境,也可以不勾选

 

 

后续一直安装即可

安装完成以后,输入win+r 输入 cmd  ,

输入:node -v  查看版本

输入:npm -v  查看ndejs的包管理器的版本

输入:npm list -global 查看ndejs的包管理器的本地仓库位置

查看配置信息:npm config list

下面配置一些信息

1、在nodejs的安装路径:D:\soft\nodejs下新建node_global,node_cache这两个文件夹用于存放nodejs的本地仓库和缓存

2、修改配置文件

设置本地仓库,输入:

npm config set prefix "D:\soft\nodejs\node_global"

设置本地缓存,输入

npm config set cache "D:\soft\nodejs\node_cache"

设置本地镜像加速,输入

npm config set registry=http://registry.npm.taobao.org

查看配置信息:npm config list

下面就可以使用npm 进行安装需要的包了,如:npm install  xxx -g  ,-g就是安装到global文件夹下。

如果有错误提示,可以切换至管理员权限,再进行安装需要的包即可

配置前,默认配置

 

 

配置后 

设置本地仓库,输入:

npm config set prefix "D:\soft\nodejs\node_global"

设置本地缓存,输入

npm config set cache "D:\soft\nodejs\node_cache"

设置本地镜像加速,输入

npm config set registry=http://registry.npm.taobao.org

 

 

 

输入:npm install -g cnpm  

安装以后结果:

 

 

输入:cnpm -v  查看版本  

如果出现cnpm不是内部或者外部命令提示,也不是可运行的程序或批处理文件  提示信息时

解决如下,修改系统环境变量

win+i 选择 系统,关于, 系统信息,高级系统设置,高级,环境变量,用户变量,双击Path,点击新建  ,浏览,选择 本地设置的仓库目录("D:\soft\nodejs\node_global")即可,再回到cmd界面输入的cnpm -v 即可,

如果还是不行那可能是版本不一致的问题,也就是说npm的版本和当前安装的cnpm的版本不一致,

解决如下:cmd 输入 npm uninstall cnpm -g   ,再输入  npm -v 查看npm版本,再输入 npm install  -g [email protected] --registry=https://registry.npm.taobao.org  在输入cnpm -v 就可以了

 

 

 

 

下面安装  Localtunnel

1、安装

# 全局安装 Localtunnel 以便在任何地方访问
npm install -g localtunnel

2、设置 Localtunnel(lt 简称) 客户端的环境变量,即配置环境变量

# Localtunnel 的实际安装目录,安装到下面目录(安装完成之后会提示安装到了哪个目录),目录会有个lt.cmd,即 lt.cmd 所在目录几位要设置的环境变量
 

 

 

重新管理员权限打开cmd,输入如下命令 lt --port 8089,注意 8089 是指定要通过外网访问的应用程序的端口,[注意]:这只是一种映射,需要开启你本地的tomcat或apache并对应端口才能使用访问。

3、启动客户端

# 绑定本地服务的端口号,建立临时隧道
lt --port 8089
 

如下图所示,服务端会分配一个唯一的可公开访问的公网地址:


 访问网址  https://every-tires-care.loca.lt

 

 

 

 测试网址 :https://two-sloths-flow.loca.lt/

 

接着我们就可以这个外网地址分享给其他人使用了,任何请求都将路由到本地服务。

服务端部署 

如果你觉得使用官方的服务端不安全,localtunnel 也支持自托管部署,具体步骤如下:

# 克隆服务端源码
git clone git://github.com/defunctzombie/localtunnel-server.git
cd localtunnel-server


# 安装服务端依赖
npm install


# 启动服务端,绑定7000端口
bin/server --port 7000

在客户端映射本地端口时,指定自己的域名即可

lt --host [your domain]:7000 --port 8080

localtunnel 完全免费,旨在为内网穿透提供简单有效的解决方案,使本地服务变得全球可访问。非常适合使用浏览器测试工具(例如 browserling)或外部 API 回调服务(例如 twilio,支付回调等)。

结束语

在数字时代的浪潮中,有一群人他们不畏艰难,勇攀技术高峰,他们就是开源探索者。

他们不仅仅是技术的实践者,更是开源文化的传播者和推动者。

在开源的世界里,没有绝对的权威,只有共同的合作。

参考连接:https://www.toutiao.com/article/7349918237579788836/?app=news_article&group_id=7349918237579788836&is_new_connect=0&is_new_user=0&req_id=20240807094806E3342EBEF776835D444E&share_token=D8C6033C-729F-4DAC-A78E-303B4BC1AADC&timestamp=1722995286&tt_from=weixin&use_new_style=1&utm_campaign=client_share&utm_medium=toutiao_ios&utm_source=weixin&wxshare_count=1&source=m_redirect

标签:npm,node,搞定,nodejs,一行,穿透,本地,安装,输入
From: https://www.cnblogs.com/1175429393wljblog/p/18347525

相关文章

  • frps 内网穿透
    原文:https://blog.csdn.net/jiuweideqixu/article/details/120167410内网穿透的作用包括跨网段访问一个局域网中的一台主机 如上图,假设我们想要通过主机A访问主机C,但是主机A和主机C绑定的都是私有ip地址,所以它们之间是无法直接进行通信的。要想使得A和C能够进行通信,就需要用到......
  • 预装Windows 11系统的新电脑怎么跳过联网验机?这两种方法可以搞定
    温馨提示:跳过windows11联网的方法不一定适用于所有电脑,且过程中可能会出现卡顿的现象,请做好心理准备。验机本就是个人意愿,非硬性要求,不喜欢折腾的就别弄,有问题务必第一时间找售后。不少笔记本新机都预装了Windows11系统,而初次开机的正常流程下,Windows11系统(家庭版......
  • vue|el-table表格添加一行删除一行并且验证必填
    我们在工作中,难免会遇到一些特殊的场景。比如动态表格的实现,主要的实现就是可以增加删除列,并且需要对数据进行验证。如何在vue中使用el-table添加一行删除一行并且验证必填呢?请看VCR下面是代码示例:<template><divstyle="display:flex;justify-content:center;ali......
  • 搞定你对笔记本电脑零件的所有疑问(上)
    前言​这篇文章将详细向读者介绍电脑的各个主要关键部件。先从外在开始再到内在。请注意,如果你觉得这篇文章较为啰嗦,可以选择性地浏览,毕竟这篇文章主要面向的是完全不懂的小白。开机键笔记本电脑的开机键(PowerButton)是设备上一个至关重要的硬件按钮,用于控制计算机的电......
  • Element-plus UI框架获取表格中某一行的对象数据
    在Vue3中,#default="scope"是用于指定一个具名插槽(namedslot)的默认插槽,并且向该插槽传递作用域属性(scopedprops)。这个语法是在Vue3的模板编译器中引入的,它取代了Vue2中使用的slot-scope。使用Element-plusUI框架获取表格中某一行的数据,如下面的示例代码:<template>......
  • Redis02——缓存(缓存更新策略、缓存穿透、缓存雪崩、缓存击穿、缓存工具封装)
    目录缓存概念添加Redis缓存业务场景缓存作用模型java代码缓存更新策略主动更新的三种策略主动更新——CacheAsidePattern实际应用缓存穿透概念解决方法实际应用缓存雪崩概念解决方法缓存击穿互斥锁介绍 实际应用逻辑过期介绍实际应用  互斥锁VS......
  • 在oracle中将一行字符串拆分成多行
    例如,有如下一张表,表名为bk_test。插入了以下数据:CREATETABLEBK_TESK(idvarchar2(10),svarchar2(20));insertintoBK_TESKvalues('A','1,2,3');insertintoBK_TESKvalues('B','4,5,6');insertintoBK_TESKvalues('C','......
  • Go语言轻松搞定Excel的操作,简单生成图表
    库简介Excelize是Go语言编写的用于操作OfficeExcel文档基础库,基于ECMA-376,ISO/IEC29500国际标准。可以使用它来读取、写入由MicrosoftExcel™2007及以上版本创建的电子表格文档。支持XLAM/XLSM/XLSX/XLTM/XLTX等多种文档格式,高度兼容带有样式、图片(表)、......
  • 编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名. a.该程序以这样
    /编写一个程序打开两个文件。可以使用命令行参数或提示用户输入文件名.a.该程序以这样的顺序打印:打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,打印到行数较多文件的最后一行b.修改程序,把行号相同的行打印成一行/#include<stdio.......
  • 计算机找不到w32n55.dll怎么办,一站搞定w32n55.dll文件缺失问题
    w32n55.dll是一个动态链接库文件。它常与锐捷认证相关,在一些使用路由器登录锐捷校园网的场景中可能会被用到。那么有朋友遇到w32n55.dll文件丢失找不到是怎么回事呢?下面就来一起看看吧。w32n55.dll文件的作用:网络认证支持:协助完成特定的网络认证流程,如锐捷网络认证。......