Repolode
ekzhang

ekzhang/bore

一个用 Rust 编写的极简命令行工具,可将本地 TCP 端口通过远程服务器暴露到公网。

可替代:ngroklocaltunnel

Star
11,538
Fork
618
未关闭 Issue
18
最近提交
9个月前

这是什么?

bore 是一个用 Rust 编写的命令行 TCP 隧道工具。执行 `bore local <端口> --to <服务器>` 即可把本地端口转发到远程服务器上的公网地址,远程端口默认随机分配,也可以指定。它的目标是让本地服务无需修改路由器配置,就能穿透 NAT 和防火墙被外部访问。

工具的功能刻意保持精简,只转发原始 TCP 流量。服务端通过一条 `bore server` 命令启动,可以自行部署,并支持设置端口范围、控制端口与隧道端口的绑定地址,以及可选的共享密钥。密钥用于每次连接的 HMAC 握手验证,握手之后的流量默认不加密。

项目以单个二进制文件发布,可通过 Cargo、Homebrew、AUR、预编译版本或 Docker 安装,底层基于 Tokio 构建。

核心功能

  • 01将本地 TCP 端口转发到远程服务器的公网地址。
  • 02可指定远程端口,也可使用随机分配的端口。
  • 03通过一条 `bore server` 命令即可自行部署服务端。
  • 04支持可选的共享密钥对客户端进行认证。
  • 05控制服务与隧道可以使用不同的绑定地址。
  • 06可通过 Cargo、Homebrew、AUR、预编译二进制或 Docker 安装。

适用场景

  • 开发时把本地网站分享给同事,或为 webhook 服务提供回调地址。
  • 无需修改路由器端口转发,即可让家庭网络中的服务被外部访问。
  • 在自有服务器上部署私有隧道服务。

快速上手

  1. 1

    使用 Cargo 安装 bore 命令行工具(需要 Rust)

    cargo install bore-cli
  2. 2

    通过公共服务器 bore.pub 暴露本地 8000 端口

    bore local 8000 --to bore.pub

使用前须知

  • 除初始握手外,数据默认不加密。
  • 若不想依赖公共 bore.pub 服务器,需要自行部署服务端,有一定配置工作量。

标签

常见问题

bore 是什么?
一个用 Rust 编写的极简命令行工具,可将本地 TCP 端口通过远程服务器暴露到公网。 bore 是一个用 Rust 编写的命令行 TCP 隧道工具。执行 `bore local <端口> --to <服务器>` 即可把本地端口转发到远程服务器上的公网地址,远程端口默认随机分配,也可以指定。它的目标是让本地服务无需修改路由器配置,就能穿透 NAT 和防火墙被外部访问。
bore 可以免费使用吗?用的什么许可证?
bore 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
bore 还在维护吗?
超过半年未提交。bore 最近一次提交是在 2026年2月4日。
bore 适合用来做什么?
开发时把本地网站分享给同事,或为 webhook 服务提供回调地址。 无需修改路由器端口转发,即可让家庭网络中的服务被外部访问。 在自有服务器上部署私有隧道服务。
bore 怎么安装和运行?
使用 Cargo 安装 bore 命令行工具(需要 Rust): cargo install bore-cli 通过公共服务器 bore.pub 暴露本地 8000 端口: bore local 8000 --to bore.pub
在哪里获取 bore?
源代码和安装说明在 GitHub 上:https://github.com/ekzhang/bore

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目