开源实例之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编写。它提供了公共服务端,当然也可以自行搭建服务端。
客户端安装
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
具体参数配置详见仓库说明。
后记
标签: 开源实例