一行命令搞定内网穿透

一行命令搞定内网穿透

一款开源免费的内网穿透工具: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_globalnode_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 cnpm@6.0.0 --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

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

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

相关文章

中电信翼康济世数据中台基于Apache SeaTunnel构建数据集成平台经验分享

Apache SeaTunnel作为一个高效、灵活的数据集成平台,在数据中台战略中扮演着重要角色。通过本文的介绍,读者可以了解如何基于SeaTunnel快速搭建数据集成平台,并在实际应用中灵活运用。未来,随着技术的不断发展,SeaTunnel将继续在数据集成领域发挥重要作用,助力企业实现数…

数据集可以自己找开源

数据集可以自己找开源,比如GitHub上面的等等。 比如这个:https://github.com/bstabler/TransportationNetworks/tree/master其他相关项目 TRB网络建模委员会 InverseVIsTraffic是一个开源存储库,它实现了一些针对单类和多类交通网络提出的逆变分不等式 (VI) 公式。该软件包还…

js实战小项目随笔

获取事件源 var img = document.getElementById("imgs"); setAttribute为事件源赋值 img.setAttribute("src", "./image/" + index + ".jpg"); 图片切换

泛微OA移动端在公网IP变更和无法打开Install.do界面下修改插件库地址(122,128报错)

事情起因 因为公司搬迁,公网IP变更,服务器搬迁时未提前调整好泛微oa服务器的IP,但是旧地址仍留有主路由可以使用。 发现问题移动端无法正常连接,/install.do的界面也无法打开,无法进入修改插件库服务器IP的页面 联系了技术,技术表示/install.do无法打开的话也无能为力(因…

[Paper Reading] DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION

DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION link 时间:2021(ICLR) 机构:Sensetime & USTC & CUHK TL;DR 参考2D Deformable Conv,通过在Reference Point附近增加sample points,将DETR的收敛速度提升10倍,对于小目标效果也更好。 …

js学习

变量通过prompt收集输入信息声明变量特殊情况八股文字符类型可以随时变换js中数字前补0为八进制,补0x为十六进制方法:isNaN(),如果是数字返回false,反之返回true字符串转义符字符串与别的类型拼接,拼接后为字符串字符串内设置变量布尔值数据类型,true参与运算时作为1,…

QStyledItemDelegate 和QTreeView实现鼠标hover消息

1.QTreeView设置属性mousetracking和tablettracing 重写QStyledItemDelegate类,重写函数 bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index); 这个函数里可以处理鼠标hover和点击事件;bo…

c# net6 读取appsettings.json方法

如图:一、appsettings.json{"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","SqlServer": {"Server":…

CSS3第二天(元素显示模式、图片背景设置)

1.元素显示模式 ①块元素 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等 特点: 1.独占一行 2.高、宽、外边距、内边距可控制 3.宽度默认是父级容器宽度的100% 4.里面放行内或块级元素 注意:文字类元素内不能使用块级元素 <p>、…

CSS3(元素显示模式)

1.元素显示模式 ①块元素 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等 特点: 1.独占一行 2.高、宽、外边距、内边距可控制 3.宽度默认是父级容器宽度的100% 4.里面放行内或块级元素 注意:文字类元素内不能使用块级元素 <p>、…

【Redis】

一、Redis概述 1. Redis简介 1.1 简介 Redis(Remote Dictionary Server)是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。性能极高:Redis 以其极高的性能而著称,能够支持每秒数十万次的…

ASP.NET Core 鉴权授权四(自定义Session)

实体模型 public class BaseModel {public int Id { get; set;} } public class Authorization : BaseModel {public string Route { get; set; }public string AuthorizationName { get; set; } } public class User : BaseModel {public string UserName { get; set; }public…