gitwtfhub

wtf is brook?

eternal-flame-ad/brook — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2018-12-12

GoAudience · ops devopsComplexity · 3/5DormantSetup · moderate

TL;DR

Brook routes your internet traffic through a server in another location so your connection is harder to monitor or block. It runs on all major platforms as a command-line tool or graphical app and aims to be simple and difficult to detect.

Mindmap

mindmap
  root((repo))
    What it does
      Routes traffic through remote server
      Encrypts your connection
      Hard to detect
    Platforms
      Linux macOS Windows
      Android and iOS
      CLI and graphical app
    Features
      VPN for TCP and UDP
      Port forwarding tunnel
      SOCKS5 and HTTP proxy
      Shadowsocks compatible
    Use cases
      Bypass regional restrictions
      Test app from another country
      Router-level transparent proxy
    Tech stack
      Go language
      aes-256-cfb encryption

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

Why would anyone build with this?

REASON 1

Set up the server on a cloud machine and connect from your phone to access websites as if from home while traveling.

REASON 2

Route your app's traffic through the client to test how it behaves from a different country's IP address.

REASON 3

Configure tproxy mode on a home router to send all household traffic through the proxy without installing software on each device.

REASON 4

Use Brook as a SOCKS5 or HTTP proxy to relay traffic between two points.

What's in the stack?

GoShadowsocksaes-256-cfb

How it stacks up

eternal-flame-ad/brookaasheeshlikepanner/vasealexzielenski/controller-runtime
Stars0
LanguageGoGoGo
Last pushed2018-12-122022-04-20
MaintenanceDormantDormant
Setup difficultymoderatemoderatehard
Complexity3/54/54/5
Audienceops devopsdeveloperdeveloper

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

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a server in a remote location such as a cloud VM, plus installing the client on your device and configuring the connection with a password.

The README does not include license information, so the usage rights are unknown.

Wtf does this do

Brook is a tool that lets you route your internet traffic through a server elsewhere, so your connection appears to come from a different location and is harder for anyone on your network to monitor or block. It runs on practically every major platform, Linux, macOS, Windows, Android, and iOS, and comes in both a command-line version and a graphical app for desktop and mobile. The project's stated goal is to stay simple and to be difficult to detect. At its core, it follows a client-and-server model. You run the server component on a machine in whatever location you want your traffic to originate from, and you run the client on your own device. The client connects to the server with a password, and your internet traffic flows through that encrypted connection. Beyond this basic setup, it can also act as a VPN that proxies all TCP and UDP traffic, create a tunnel that forwards a local port to a remote one through the server, relay traffic between two points, and function as a SOCKS5 or HTTP proxy. It is also compatible with Shadowsocks, another popular proxy protocol. The people who would use this are anyone who needs to control where their traffic exits the internet. A traveler in a region that restricts certain websites could set up the server on a cloud machine back home and connect through it from their phone. A developer who needs to test how an app behaves from a different country's IP address could use the client to route just that traffic. On the more technical side, it supports a "tproxy" mode that runs as a transparent proxy, which is useful for someone configuring a home router to send all household traffic through the proxy without installing anything on individual devices. One notable thing about the project is its design philosophy of being "not detectable." Where a standard VPN might be easy for a network operator to identify and block, this tool aims to make its traffic look like ordinary internet activity. The Shadowsocks compatibility uses a fixed encryption method (aes-256-cfb), which keeps the configuration straightforward but means you can't customize that aspect. The README doesn't go into detail on the specific detection-evasion techniques, pointing instead to a separate wiki for deeper tutorials.

Yoink these prompts

Prompt 1
How do I set up a Brook server on a Linux cloud machine and connect to it from the Brook client on my phone?
Prompt 2
Show me how to configure Brook in tproxy mode on a home router so all devices on my network route traffic through it transparently.
Prompt 3
How do I use Brook as a SOCKS5 proxy and also set it up to be compatible with an existing Shadowsocks client?
Prompt 4
Walk me through using Brook to create a tunnel that forwards a local port to a remote server through an encrypted connection.

Frequently asked questions

wtf is brook?

Brook routes your internet traffic through a server in another location so your connection is harder to monitor or block. It runs on all major platforms as a command-line tool or graphical app and aims to be simple and difficult to detect.

What language is brook written in?

Mainly Go. The stack also includes Go, Shadowsocks, aes-256-cfb.

Is brook actively maintained?

Dormant — no commits in 2+ years (last push 2018-12-12).

What license does brook use?

The README does not include license information, so the usage rights are unknown.

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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.