一行命令搞定内网穿透
一行命令搞定内网穿透
一款开源免费的内网穿透工具: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 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×tamp=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
相关文章:
一行命令搞定内网穿透
一行命令搞定内网穿透 一款开源免费的内网穿透工具:localtunnel ,基于 nodejs 实现,无需修改 DNS 和防火墙设置,方便快捷的将内网服务暴露到外网,为开发人员、测试人员以及需要分享本地项目的人提供实时的公网访问方式…...
C语言——扫雷游戏
扫雷游戏通常是一个由方格组成的区域内进行的,其中随机分布着一定数量的地雷 。玩家的目标是通过点击方格来标记出所有地雷的位置,同时避免自己点到地雷而导致游戏失败。游戏开始时,玩家通常只能看到一部分方格,而其余的方格则需要…...
【LLM】-16-评估LLM-与标准答案的差距
目录 1、评估回答是否正确 1.1、util_zh 1.2、eval_zh 1.3、评估 2、评估生成答案与标准答案的差距 2.1、eval_zh2 2.2、评估 即使没有提供的理想答案,只要能制定一个评估标准,就可以使用一个 LLM 来评估另一个 LLM 的输出。 如果可以提供理想答…...
WeNet 2.0:更高效的端到端语音识别工具包
WeNet 2.0:更高效的端到端语音识别工具包 原文链接:[2203.15455] WeNet 2.0: More Productive End-to-End Speech Recognition Toolkit (arxiv.org) 1.摘要 WeNet是一个开源的端到端语音识别工具包,WeNet 2.0在此基础上进行了四项主要更新,…...
阿里大模型调用 = 》通义千问大语言模型
背景:简单的通过API或者SDK在线调用阿里云大模型(基于百炼平台),基于在线知识库 参考地址:安装阿里云百炼SDK_大模型服务平台百炼(Model Studio)-阿里云帮助中心 (aliyun.com) 1、获取API-KEY 当您通过API/SDK调用大模…...
idea使用free流程,2024idea免费使用
1.先到官网下载,这里选择win系统的,点击下图的.exe https://www.jetbrains.com/idea/download/?sectionwindows 2.下载好后基本上就是一直点击“下一步”到直到安装好,安装好后先打开软件后关闭退出 3.下载配配套资料 链接: https://pan.ba…...
算法_链表专题---持续更新
文章目录 前言两数相加题目要求题目解析代码如下 两两交换链表中的结点题目要求题目解析代码如下 重排链表题目要求题目解析代码如下 合并K个升序链表题目要求题目解析 K个一组翻转链表题目要求题目解析代码如下 前言 本文将记录leetcode链表算法题解,包含题目有&a…...
在Windows MFC\C++编程中,如何使用OnCopyData函数
在C中,OnCopyData 函数通常不是标准C库的一部分,而是与特定的图形用户界面(GUI)框架相关联,如Microsoft Foundation Classes (MFC) 或 Windows API 编程。在MFC应用程序中,OnCopyData 是用于处理来自其他应…...
【Qt】项目代码
main.cpp文件 argc:命令行参数个数。*argv[ ]:每一个命令行参数的内容。main的形参就是命令行参数。QApplication a(argc, argv) 编写一个Qt的图形化界面程序,一定需要QApplication对象。 widget w; 在创建项目的时候,勾选widg…...
MySQL中常用工具
MySQL自带的系统数据库 常用工具 MySQL mysqladmin mysqlbinlog mysqldump mysqlimport/source mysqlimport只能导入文本文件,不能导入sql文件...
关于儿童编程语言
青少年通常会通过Scratch或Python开始学习编程。在这两种语言中,代码的编写(或者在Scratch中是构建)方式类似于英语,这使得初学者更容易学习。Scratch的一个重要卖点是对视觉和运动感知学习者非常友好。这些代码块按颜色编码&…...
[io]进程间通信 -信号函数 —信号处理过程
sighandler_t signal(int signum, sighandler_t handler); 功能: 信号处理函数 参数: signum:要处理的信号 handler:信号处理方式 SIG_IGN:忽略信号 SIG_DFL:执行默认操作 handler:捕捉信 …...
RoboDK的插件
目录 collision-free-planner: opc-ua: collision-free-planner: RoboDK 的无碰撞规划器插件使用概率路线图 (PRM) 自动在机器人工作空间内创建无碰撞路径。 有关无碰撞规划器的更多信息,请访问我们的 文档。 生成参数无碰撞…...
List<HashMap<String, Object>>排序
如果列表中的元素类型是List<HashMap<String, Object>>,排序时需要考虑到value可能是任意类型的对象。在这种情况下,你可以针对具体的类型进行比较,或者使用Comparable接口来确保对象可以被正确比较。 示例代码 假设我们想要根据…...
【大数据】探索大数据基础知识:定义、特征与生态系统
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…...
营销材料翻译质量对销售渠道的影响
在当今的全球市场中,与不同受众进行有效沟通的能力对于企业的成功至关重要。营销材料的高质量翻译在通过销售渠道塑造客户旅程方面发挥着重要作用,影响着知名度、参与度、转化率和保留率。方法如下: 提高品牌知名度 在销售渠道的顶端&#x…...
centos7.9安装k8s 1.3
centos7.9安装k8s 1.3 k8s环境规划:初始化修改网卡配置两台服务器都执行 配置阿里yum源 安装containerd服务安装初始化k8s需要的软件包kubeadm初始化k8s集群 扩容k8s集群-添加第一个工作节点安装kubernetes网络组件-Calico测试在k8s创建pod是否可以正常访问网络和co…...
【第七节】python多线程及网络编程
目录 一、python多线程 1.1 多线程的作用 1.2 python中的 threading 模块 1.3 线程锁 二、python网络编程 2.1 通过socket访问网络 2.2 python2.x中的编码问题 2.3 python3的编码问题 一、python多线程 1.1 多线程的作用 多线程技术在计算机编程中扮演着重要的角色&a…...
Linux Shell编程--变量
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 变量: bash作为程序设计语言和其它高级语言一样也提供使用和定义变量的功能 预定义变量、环境变量、自定义变量、位置变量 一、自定义变…...
软文写作必须掌握的技巧有哪些?
现代互联网飞速发展的时代,硬广逐渐变的效果越来越差,而软文推广已经成为网络营销的重要组成部分了,一篇好的软文往往能为你的产品、网站带来意想不到的效果。 用于做营销的软文,我们不能像写普通文章那样随意。一篇优质的软文会让…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
