news 2026/11/4 19:42:09

bore 自建内网穿透:三步把本地服务放到公网

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bore 自建内网穿透:三步把本地服务放到公网

bore 自建内网穿透:三步把本地服务放到公网

【免费下载链接】bore🕳 bore is a simple CLI tool for making tunnels to localhost项目地址: https://gitcode.com/gh_mirrors/bo/bore

家里机器 127.0.0.1:8000 上的服务,手机和笔记本都打不开——这是典型的内网问题。bore 是用 Rust 写的轻量隧道工具:同一个可执行文件既能当公网服务端,也能当本地客户端,不依赖任何第三方服务,几分钟就能完成 bore 内网穿透的自建部署。

bore 适合谁、解决什么问题

bore 刻意做得极简,只干一件事:转发 TCP 流量。相比常见的托管穿透服务,它的定位有几点不同:

  • 单一二进制:客户端和服务端是同一个程序——公网机器跑bore server,本地跑bore local
  • 完全自控:流量走自己的服务器,不用注册账号和域名,带宽也不受限于他人
  • 代码量极小:整个项目约 400 行 Rust,想看实现读 src/server.rs 就够

它适合把 Web 服务、API、开发站点暴露到外网的场景。它不做 UDP、不做负载均衡、也没有管理界面。

部署 bore 前备齐三样东西

  1. 一台有公网 IP 的 Linux 机器:云服务器即可,要求是端口能从公网访问
  2. 两组端口:7835 是固定的控制端口(客户端在这里建隧道);隧道端口范围默认 1024–65535,可用参数收紧
  3. Rust 工具链或 Docker:客户端跑在本地机器上,需装好 Rust;服务端同样可装 Rust,或用 Docker 直接运行(仓库内附 Dockerfile)

bore 三步跑通

bore 服务器部署:启动控制服务

在公网服务器上先装好二进制,再启动服务:

cargo install bore-cli bore server --secret <密码> --min-port 10000 --max-port 20000

第一条安装 bore;第二条启动服务端,--secret设置连接密码,--min-port/--max-port限定隧道可占用的端口。日志输出server listening即表示服务已起,正监听 7835。

本地建立 bore 隧道

在本地机器(假设服务已跑在 8000 端口)安装 bore 并建隧道:

cargo install bore-cli bore local 8000 --to <服务器IP>:7835 --secret <密码> --port 15000

bore local 8000声明要转发本地 8000 端口,--to指定服务器地址,--port 15000请求固定的公网端口(省略则随机分配)。输出出现listening at <服务器IP>:15000,隧道就建好了 ✅

外网验证:访问公网地址

用一台内网之外的设备(如手机热点下的设备)在浏览器打开http://<服务器IP>:15000,或用命令检查:

curl http://<服务器IP>:15000

看到本地 8000 端口的页面内容,说明整条链路已通。

把安全做在前面:生成并保管 bore secret

⚠️ 不设--secret时,知道服务器 IP 的人都能建隧道。生产环境先用随机源生成强密码:

openssl rand -base64 32

把结果同步给服务端和客户端。保管方式:写入服务器上的密钥文件,或导出为BORE_SECRET环境变量(bore 会自动读取),不要提交进代码仓库。

另有一个边界要知道:secret 只参与初次握手的 HMAC 质询(实现见 src/auth.rs),后续转发流量本身不加密。敏感服务建议配 Nginx 反代签发 HTTPS,安全组只放行 7835 和你约定的隧道端口段。

隧道不通时按这个顺序查

  1. 进程:服务器上ps aux | grep bore,确认bore server还在运行
  2. 控制端口:本地执行curl -v telnet://<服务器IP>:7835,超时就是云安全组/防火墙没放行 7835
  3. secret:客户端报握手失败,多半是两端的--secret不一致
  4. 端口范围:--port的值必须落在服务端--min-port/--max-port区间内且未被占用,否则返回端口错误
  5. 本地服务:先在本地确认localhost:8000可达,隧道正常时本地服务挂了也会报错

跑通之后剩下的工作是稳定性:把服务端注册成 systemd 服务实现崩溃自启;前端加一层 Nginx 反代解决 HTTPS;同一台服务器可服务多个客户端,每个bore local各占一个独立公网端口。

【免费下载链接】bore🕳 bore is a simple CLI tool for making tunnels to localhost项目地址: https://gitcode.com/gh_mirrors/bo/bore

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 19:24:28

Hermes Agent架构解密:可扩展AI代理系统的设计模式与实现原理

Hermes Agent架构解密&#xff1a;可扩展AI代理系统的设计模式与实现原理 Hermes Agent是一款面向开发者和架构师设计的可扩展AI代理框架&#xff0c;它通过模块化架构实现了多平台集成、工具调用管理和上下文压缩等核心功能。该项目采用Python技术栈&#xff0c;支持OpenAI工…

作者头像 李华
网站建设 2026/11/4 19:18:47

Hermes Agent性能监控告警集成:Slack、Email与PagerDuty全攻略

Hermes Agent性能监控告警集成&#xff1a;Slack、Email与PagerDuty全攻略 Hermes Agent 是一款功能强大的开源智能代理框架&#xff0c;支持多平台集成与自动化任务处理。本文将详细介绍如何为 Hermes Agent 配置性能监控告警系统&#xff0c;实现 Slack 实时通知、Email 详细…

作者头像 李华
网站建设 2026/11/4 19:18:08

探索Hermes Agent的自然语言推理应用:问答系统与知识图谱

探索Hermes Agent的自然语言推理应用&#xff1a;问答系统与知识图谱 Hermes Agent是一款功能强大的AI代理框架&#xff0c;专注于自然语言推理应用&#xff0c;尤其在问答系统与知识图谱构建方面表现出色。本文将深入探讨Hermes Agent如何通过先进的自然语言处理技术&#xf…

作者头像 李华
网站建设 2026/11/4 19:11:00

第二十三章 Shell的基础语法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/4 19:09:06

Zotero PDF 翻译插件:免费选中文本即译,支持 20+ 翻译服务

Zotero PDF 翻译插件&#xff1a;免费选中文本即译&#xff0c;支持 20 翻译服务 【免费下载链接】zotero-pdf-translate Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20 translate services. 项目地址: https://gitcode.c…

作者头像 李华