Updated at: 2025-08-01
GUI updates also apply to Shiliew
Added brook httpserver
command, usually used to temporarily start a HTTP/1.1 test server locally.
Added brook exposeserver
and brook exposeclient
commands to expose your local TCP and UDP services to the public network.
consumer -> exposeserver -> exposeclient -> local producer
Suppose you have a local TCP or UDP service: [::1]:8888
, and want to expose it to the public network. Then deploy brook exposeserver
on a server first
brook exposeserver --listen :9999 --password hello
Then run brook exposeclient
locally, assuming your server IP is 1.2.3.4
brook exposeclient --server 1.2.3.4:9999 --password hello --producer [::1]:8888
After the connection is successful, brook exposeclient
will output the port exposed by the server, such as 7777
, and then accessing 1.2.3.4:7777
is equivalent to accessing [::1]:8888
Compared with zoro, some optimizations have been made, and the data transmission between
exposeclient
andexposeserver
will use the brook protocol.
Add brook exposehttpsserver
and brook exposehttpsclient
commands to expose your local HTTP/1.1 service to the public HTTPS.
consumer -> exposehttpsserver -> exposehttpsclient -> local producer
Suppose you have a local HTTP/1.1 service: [::1]:8888
, and want to expose it to the public network. Then deploy brook exposehttpsserver
on a server, and prepare a domain name such as hello.com
, and point the A and AAAA of *.hello.com
to your server, assuming your domain name is on cloudflare.
brook exposehttpsserver --listen :9999 --password hello --domain hello.com --port 443 --cloudflareDNSAPIToken xxx
Then run brook exposehttpsclient
locally, assuming your server IP is 1.2.3.4
brook exposehttpsclient --server 1.2.3.4:9999 --password hello --producer [::1]:8888
After the connection is successful, brook exposehttpsclient
will output the server's exposed address, such as xxx.hello.com:443
, and then accessing https://xxx.hello.com:443
is equivalent to accessing [::1]:8888
Compared with zoro, some optimizations have been made, and the data transmission between
exposehttpsclient
andexposehttpsserver
will use the brook protocol.
A public exposehttpsserver is available in the Zhi VIP Chat group
Added brook dnssd
command to discover the IP addresses of other devices in the same LAN.
First, get all discoverable services
brook dnssd
Then get the IP list of a service
brook dnssd --service xxx
But there is no guarantee that the device will return all IP lists, and it seems that the standard is a bit vague in this description
After adding a subscription/import URL, after the initial import is successful, it will be silently updated every 5 minutes in the background.
Adjusted several Test tools.
Use the Zhi Chat group as a tool for customer support and user communication.
The dark theme automatically follows the system. UI tweaks.
Apple in-app purchases Brook Plus can now be linked to an email account, which means it can be used on non-Apple systems.