Brook v20250808: 暴露内网服务到公网

Updated at: 2025-08-01

GUI 的更新同样适用于 Shiliew

CLI

httpserver

新增 brook httpserver 命令,通常用于临时在本地开启一个 HTTP/1.1 测试 server。

exposeserver 和 exposeclient

新增 brook exposeserverbrook exposeclient 命令,用于暴露你本地的 TCP 和 UDP 服务到公网。

consumer -> exposeserver -> exposeclient -> local producer

假设你本地有一个 TCP 或 UDP 服务:[::1]:8888,想暴露在公网。那么先在一个服务器上部署 brook exposeserver

brook exposeserver --listen :9999 --password hello

然后在本地运行 brook exposeclient,假设你的服务器 IP 是 1.2.3.4

brook exposeclient --server 1.2.3.4:9999 --password hello --producer [::1]:8888

连接成功后 brook exposeclient 会输出服务器暴露的端口,比如 7777,然后访问 1.2.3.4:7777 就等于访问 [::1]:8888

相较于 zoro 进行了一些优化,以及 exposeclientexposeserver 之间数据传输将使用 brook 协议。

exposehttpsserver 和 exposehttpsclient

新增 brook exposehttpsserverbrook exposehttpsclient 命令,用于暴露你本地的 HTTP/1.1 服务到公网 HTTPS。

consumer -> exposehttpsserver -> exposehttpsclient -> local producer

假设你本地有一个 HTTP/1.1 服务:[::1]:8888,想暴露在公网。那么先在一个服务器上部署 brook exposehttpsserver,同时需要准备一个域名比如 hello.com,并且将 *.hello.com 的 A 和 AAAA 指向你的服务器,假设你的域名放在 cloudflare。

brook exposehttpsserver --listen :9999 --password hello --domain hello.com --port 443 --cloudflareDNSAPIToken xxx

然后在本地运行 brook exposehttpsclient,假设你的服务器 IP 是 1.2.3.4

brook exposehttpsclient --server 1.2.3.4:9999 --password hello --producer [::1]:8888

连接成功后 brook exposehttpsclient 会输出服务器暴露的地址,比如 xxx.hello.com:443,然后访问 https://xxx.hello.com:443 就等于访问 [::1]:8888

相较于 zoro 进行了一些优化,以及 exposehttpsclientexposehttpsserver 之间数据传输将使用 brook 协议。

在 Zhi VIP Chat 群组可获得一个公用的 exposehttpsserver

dnssd

新增 brook dnssd 命令,用于发现同局域网内的其他设备的 IP。

首先获取可发现的所有的服务

brook dnssd

然后获取某个服务的 IP 列表

brook dnssd --service xxx

但无法保证设备会返回所有的 IP 列表,好像标准在这方便描述也有点模糊

GUI

每 5 分钟自动拉取更新订阅/导入的 URL

当添加订阅/导入 URL 后,初次导入成功后,后续会在后台每 5 分钟会静默更新一次。

工具箱更新

调整了一下几个 Test 工具。

Zhi VIP Chat 群组

使用 Zhi Chat 群组作为客户支持,用户交流的工具。

其他

暗黑主题自动跟随系统。UI 调整。

Apple 内购

Apple 内购 Brook Plus 可以绑定到邮箱账号了,也就是可以用于非 Apple 系统了。