用 host + Ngrok 免费分享本地网站:3 步获取公网访问链接的完整教程
【免费下载链接】hostExpose your LocalHost with this tool项目地址: https://gitcode.com/gh_mirrors/ho/host
你在本地写好的网站,是否只能自己通过 localhost 访问?当你想把成果分享给朋友、客户或同事演示时,往往会卡在没有公网 IP 这一步。其实,借助开源内网穿透工具host,配合Ngrok,你可以在 3 步之内免费分享本地网站,轻松拿到一个任何人都能打开的公网访问链接。本教程面向零基础新手,全程无需购买服务器、无需域名,跟着操作就能完成 localhost 到公网的隧道搭建。
什么是 host?一个让你轻松暴露 LocalHost 的内网穿透工具
host 是一个用 Bash 编写的开源工具,核心功能一句话概括就是 "Expose your LocalHost with this tool"——把你电脑上跑在 127.0.0.1 的本地网站暴露到公网,生成一个临时的公网访问链接。它最大的优点是零门槛:不需要懂复杂的端口转发、不需要购买云服务器,只需要一个终端就能完成全部操作。
host 内置了 4 种端口转发(隧道)方案,任你切换:
| 隧道方案 | 特点 | 适合场景 |
|---|---|---|
| Localhost | 仅本机访问,手动转发 | 本地调试 |
| Ngrok | 免费 HTTPS 公网链接,最常用 | 分享给朋友、客户演示 |
| Cloudflared | Cloudflare 官方隧道 | 对速度与稳定性要求较高 |
| LocalXpose | 轻量替代方案 | 备选隧道 |
从 README.md 的安装说明和 host.sh 的菜单逻辑可以看到,工具会自动完成依赖安装与二进制下载,新手也能轻松上手。
准备工作:安装 host 前需要满足的条件
动手之前,请先确认你的环境满足以下条件(满足其一即可):
- ✅ 一台 Linux 电脑,或安装了 Termux 的 Android 手机
- ✅ 终端里有
git(用于获取源码) - ✅ 设备能联网(下载依赖与隧道二进制文件需要)
提示:Termux 用户无需 root,host 会自动通过 proot 处理环境问题,相关逻辑见 host.sh。
至于curl、php、unzip这些依赖,host 会在首次运行时自动帮你装好,完全不用手动操心,对应代码在 host.sh。
第一步:一键安装 host 工具
获取 host 源码非常简单,在终端中执行:
git clone https://gitcode.com/gh_mirrors/ho/host.git cd host如果你想把下载、安装、运行一步到位,也可以直接复制下面这条命令:
apt update ; apt install git -y ; git clone https://gitcode.com/gh_mirrors/ho/host.git ; cd host ; bash host.sh首次运行bash host.sh时,脚本会自动检测并安装curl、php、unzip,同时下载 Ngrok、Cloudflared、LocalXpose 三个隧道工具,全程自动化,你只需耐心等待几秒钟。
第二步:免费注册 Ngrok 并配置 Token
想让 host 走 Ngrok 隧道,需要先有一个免费的 Ngrok 账号(Authtoken 免费获取):
- 打开 Ngrok 官网,注册一个免费账号
- 进入 Dashboard,找到Your Authtoken并复制
- 回到终端,在 host 菜单中选择02 Ngrok.io
随后脚本会提示你输入 Ngrok Token,粘贴刚才复制的 Authtoken 回车即可。Token 会被自动写入.ngrok.yml配置文件,下次运行无需重复输入。这段认证逻辑见 host.sh。
第三步:启动隧道,3 秒获取公网访问链接
配置完成后,一切就变得非常简单了:
- 在 host 菜单选择02 Ngrok.io
- 脚本会自动在 8080 端口启动 PHP 服务器,并拉起 Ngrok 隧道
- 几秒钟后,终端会打印出类似这样的公网访问链接:
https://xxxx-xx-xx-xx.ngrok.io把这个链接发给任何人,对方无需安装任何软件,打开浏览器就能直接访问你本地的网站了!启动隧道的核心逻辑见 host.sh。
如何更换要分享的目录?
运行 host 时,第一步会让你选择:
- 1. Use Current Path:使用默认的
htdocs目录 - 2. Setup a Path:手动输入你的网站所在路径,例如
/home/tahmid/htdocs
把你的网站文件放到指定目录,再启动隧道即可,相关逻辑见 host.sh。
常见问题与实用技巧
公网链接失效了怎么办?
Ngrok 免费版生成的链接是临时的,隧道断开后链接即失效。重新运行 host 并再次选择 Ngrok,会生成一个新的链接,把它重新发给对方即可。
想结束分享怎么操作?
在终端按Ctrl + C即可退出,host 会自动清理后台的 PHP 服务器与隧道进程(见 host.sh),不会留下残留进程。
可以更换端口吗?
默认使用 8080 端口。选择01 Localhost时可以手动输入自定义端口;Ngrok 模式默认走 8080,你可以先把本地服务跑在这个端口上。
除了 Ngrok 还能用别的隧道吗?
当然可以。host 内置了 Cloudflared 与 LocalXpose 两种备选隧道,在菜单中分别选择03 Cloudflared或04 LocalXpose即可,操作流程与 Ngrok 完全一致,没有额外学习成本。
总结
通过host + Ngrok,你不需要服务器、不需要域名、不需要理解复杂的网络原理,只需 3 步就能免费分享本地网站,获得一个随时随地可访问的公网链接。无论是给客户演示原型、和朋友联调接口,还是临时测试移动端效果,它都是效率极高的生产力工具。
现在就 clone 下 host 源码(git clone https://gitcode.com/gh_mirrors/ho/host.git),动手试试吧!
【免费下载链接】hostExpose your LocalHost with this tool项目地址: https://gitcode.com/gh_mirrors/ho/host
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考