杜郎俊赏 - dujun.io

开源实例之Tunnelmole

前言

本篇介绍用 Tunnelmole 实现内网穿透。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。

Tunnelmole介绍

Tunnelmole is a very simple application that does one thing. It gives a web server you have running locally a public URL which can then be accessed from any device that is connected to the Internet. Its a bit like a reverse proxy from the internet to your local machine and can handle all types of HTTP/HTTPS requests such as text, HTML, images, JavaScript and JSON.

It does not matter if your server is running a website, a web application, an API or another kind of service.

Tunnelmole是简单易用的开源内网穿透工具,服务端和客户端都由TypeScript编写。它提供了公共服务端,当然也可以自行搭建服务端。

官网地址:https://tunnelmole.com

客户端安装

npm安装

sudo npm install -g tunnelmole

脚本安装

#Linux
curl -s https://tunnelmole.com/sh/install-linux.sh | sudo bash 

#macOS
curl -s https://tunnelmole.com/sh/install-mac.sh --output install-mac.sh && sudo bash install-mac.sh

公共服务端

Tunnelmole官网提供了公共服务端,可以直接使用。例如映射本地 80 端口:

tmole 80

#生成结果
http://pqbfx2-ip-39-184-47-110.tunnelmole.com is forwarding to localhost:80
https://pqbfx2-ip-39-184-47-110.tunnelmole.com is forwarding to localhost:80

通过以上随机域名即可访问本地80端口服务。公共服务端也支持自定义二级域名,不过需要付费。

自建服务端

为了解除固定域名的付费限制,可以自建服务端。

服务端仓库:https://github.com/robbie-cahill/tunnelmole-service
客户端仓库:https://github.com/robbie-cahill/tunnelmole-client

服务端部署

#克隆仓库然后安装
npm install
cp config-instance.example.toml config-instance.toml

#启动
npm start

客户端打包

为了配合使用自建服务端,客户端需要修改相关配置后重新打包。

#克隆仓库然后安装
npm install
cp config-instance.example.ts config-instance.ts

#启动
npm start

#打包
npm run build

具体参数配置详见仓库说明。

后记

体验更多开源实例

标签: 开源实例
日期:2023-04-06