当前位置: 首页 > news >正文

【知识拓展】LocalTunnel-高性价比的内网穿透工具(2)

前言

上一篇通过ngrok进行内网穿透,有几个问题:

①需要注册,而且注册需要科学上网,相对麻烦

②安装配置相对麻烦,authtoekn有限制

上述相对,指的是在非生产环境中做一个简单内网穿透,相对于使用LocalTunnel的复杂度。

LocalTunnel: 暴露本地开发环境到公共互联网

LocalTunnel 是一个开源工具,可以将您的本地服务器暴露到公共互联网上,以便在不同的网络环境下测试和演示您的应用程序。使用Localtunnel非常简单,只需安装Node.js环境,然后通过npm安装Localtunnel。一旦安装完成,用户可以通过简单的命令行操作启动一个本地服务器并映射到公共互联网上。

什么是 LocalTunnel?

LocalTunnel 是一个轻量级的代理服务,它允许您通过一个公共 URL 访问您的本地开发环境。它创建了一个隧道,并将流量转发到您的本地服务器上。这样,即使您的本地机器在防火墙或 NAT 路由器后面,也可以轻松地访问和共享您的本地 Web 应用程序。

LocalTunnel 可以用来做什么?

LocalTunnel 可用于以下场景:

  • 在不同的网络环境中测试您的应用程序。
  • 允许同事、朋友或客户远程访问您的本地开发环境。
  • 在没有域名的情况下进行演示和分享您的应用程序。

LocalTunnel 的特点

以下是 LocalTunnel 的一些主要特点:

  • 简单易用 - LocalTunnel 非常易于使用,只需几行命令即可开始使用。
  • 跨平台支持 - 支持 Windows、MacOS 和 Linux 等多种操作系统。
  • 自定义域名 - 您可以通过 -subdomain 参数为您的隧道指定一个自定义域名。
  • 安全可靠 - 使用 SSL 加密传输数据,确保您的数据安全。

如何使用 LocalTunnel?

要开始使用 LocalTunnel,请按照以下步骤操作:

安装 LocalTunnel:

npm install localtunnel
npx localtunnel --port 8501

这里,--port 8501表示您的本地服务器正在监听的端口号。运行此命令后,LocalTunnel 将为您分配一个公共 URL,并将其打印到控制台上。例如:

your url is: https://open-berries-burn.loca.lt

现在,输入密码(密码是运行LocalTunnel机器的公网ip地址,通过本机访问https://ipv4.icanhazip.com可获取到)后即可以使用此公共 URL 访问您的本地服务器了。

实际使用案例

colab中执行,点击访问,输入密码即可

import urllib
print("Password/Enpoint IP for localtunnel is:",urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip("\n"))
!npm install localtunnel
#!streamlit run app.py &>web_logs.txt &
!npx localtunnel --port 8501

相关文章:

  • matplotlib latex表格
  • 每日一题---有效的括号问题
  • 双指针用法练习题(2024/5/26)
  • 通过unsplash引入图片素材
  • 小程序的深层了解
  • React 如何自定义 Hooks
  • Win11禁用数字强制签名:解放硬件选择,自由安装应用
  • CasaOS系统玩客云安装内网穿透工具实现无公网IP远程访问
  • 内存函数详解,包含部分字符串函数
  • 深入理解python列表与字典:数据结构的选择与性能差异
  • 07、SpringBoot 源码分析 - SpringApplication启动流程七
  • 入门五(项目介绍及登录和发布需求)
  • k8s 创建 LoadBalancer 类型的 svc
  • python数据分析-CO2排放分析
  • 安卓开发--安卓使用Echatrs绘制折线图
  • 【译】JS基础算法脚本:字符串结尾
  • [译]如何构建服务器端web组件,为何要构建?
  • __proto__ 和 prototype的关系
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Android 架构优化~MVP 架构改造
  • Apache Spark Streaming 使用实例
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Debian下无root权限使用Python访问Oracle
  • Java比较器对数组,集合排序
  • k个最大的数及变种小结
  • Linux CTF 逆向入门
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • uva 10370 Above Average
  • Vue 动态创建 component
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 基于web的全景—— Pannellum小试
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 微信开源mars源码分析1—上层samples分析
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • $nextTick的使用场景介绍
  • (9)STL算法之逆转旋转
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET Core中如何集成RabbitMQ
  • .net framework profiles /.net framework 配置
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)