explaingit

txthinking/brook

Analysis updated 2026-06-24

15,116GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

Brook is a cross-platform programmable network tool written in Go for routing, encrypting, and transforming traffic across iOS, Android, macOS, Linux, and Windows.

Mindmap

mindmap
  root((Brook))
    Inputs
      Network traffic
      Server address
      Password
    Outputs
      Encrypted tunnel
      Routed packets
      Client apps
    Use Cases
      Encrypted proxy
      Network testing
      Mobile tunneling
    Tech Stack
      Go
      nami
      OpenWrt
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a Brook server on a VPS for encrypted personal network access

USE CASE 2

Connect iOS or Android clients to a self-hosted Brook server

USE CASE 3

Install Brook on an OpenWrt router for whole-network tunneling

USE CASE 4

Use brook link to share custom connection parameters with multiple devices

What is it built with?

Go

How does it compare?

txthinking/brookgastownhall/gastowndirenv/direnv
Stars15,11615,15215,073
LanguageGoGoGo
Last pushed2026-05-21
MaintenanceMaintained
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audienceops devopsvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Server install pulls a shell script from an external host, which is a trust step worth reviewing before running.

GPL license, you can use and modify it but derivative works must be shared under the same license.

In plain English

Brook is described in a single line at the top of its README: a cross-platform programmable network tool. The repository description on GitHub uses the same phrase. The project's topic tags include encryption, decryption, mitm (man in the middle), and the major operating systems iOS, Android, macOS, and Linux, which together suggest that Brook is intended to route, encrypt, or transform network traffic across many platforms. The README is very short and offers only minimal explanation of what Brook actually does. Most of its space is taken up by install commands and links to client apps, not by feature descriptions. The README mentions a sponsor product called Shiliew, described as a service that focuses on providing stable network services. The server side is installed in three commands. The first runs a shell script fetched from bash.ooo that installs a helper tool called nami. The next uses nami to install brook itself. The third runs brook server -l :9999 -p hello, which starts a Brook server listening on port 9999 with a password of hello. Client apps are available for the main consumer platforms. iOS and macOS clients are on the Apple App Store under the name Brook Network Tool. Android, Windows, and Linux clients are distributed through GitHub Releases as APK, MSIX, and a Linux binary. The README also links to a guide for installing Brook on OpenWrt, an open-source router operating system. There is a suggestion to use brook link to customize parameters when connecting clients. Full documentation lives on the external sites txthinking.com/brook.html and brook.app, which the README calls the Brook Script Gallery. The code itself is written in Go. Because the README is sparse, anything beyond install steps and platform links is not described here.

Copy-paste prompts

Prompt 1
Walk me through installing Brook server on a Debian VPS with the nami one-liner and starting it on port 9999
Prompt 2
Show me how to generate a brook link with custom encryption settings and import it into the iOS client
Prompt 3
Write a systemd unit that runs brook server on boot with credentials read from an env file
Prompt 4
Explain how to set up Brook on an OpenWrt router so all LAN devices route through it
Prompt 5
Compare Brook to Shadowsocks and V2Ray and tell me which is easiest to self-host for a single user

Frequently asked questions

What is brook?

Brook is a cross-platform programmable network tool written in Go for routing, encrypting, and transforming traffic across iOS, Android, macOS, Linux, and Windows.

What language is brook written in?

Mainly Go. The stack also includes Go.

What license does brook use?

GPL license, you can use and modify it but derivative works must be shared under the same license.

How hard is brook to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is brook for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.