Brook
v20210401
- [GUI] Block list(Ad Block)
- Bypass & Block rule
- [GUI] Forward DNS
- [GUI] OpenWrt GUI client
- [GUI] Fake DNS
- [CLI] $ brook tproxy
- Script
- Document
- Community(ask here)
- go mod
What is Brook
Brook is a cross-platform strong encryption and not detectable proxy.
Brook's goal is to keep it simple, stupid and not detectable.
Install CLI
The CLI file has both server and client functions
Download from releases
# For example, on linux amd64, v20210401
curl -L https://github.com/txthinking/brook/releases/download/v20210401/brook_linux_amd64 -o /usr/bin/brook
chmod +x /usr/bin/brook
Install via nami
nami install github.com/txthinking/brook
Install via brew
brew install brook
Install GUI
The GUI file has only client function
Download from releases: macOS, Windows, Android, iOS
Install via brew
brew install --cask brook
brew install --cask brooklite
Usage
NAME:
Brook - A cross-platform strong encryption and not detectable proxy
USAGE:
brook [global options] command [command options] [arguments...]
VERSION:
20210401
AUTHOR:
Cloud <[email protected]>
COMMANDS:
server Run as brook server, both TCP and UDP
servers Run as multiple brook servers
client Run as brook client, both TCP and UDP, to start a socks5 proxy, [src <-> socks5 <-> $ brook client <-> $ brook server <-> dst], [works with $ brook server]
map Run as mapping, both TCP and UDP, this means access [from address] is equal to [to address], [src <-> from address <-> $ brook server <-> to address], [works with $ brook server]
dns Run as DNS server, both TCP and UDP, [src <-> $ brook dns <-> $ brook server <-> dns server] or [src <-> $ brook dns <-> dns server for bypass], [works with $ brook server]
tproxy Run as transparent proxy, both TCP and UDP, only works on Linux, [src <-> $ brook tproxy <-> $ brook server <-> dst], [works with $ brook server]
wsserver Run as brook wsserver, both TCP and UDP, it will start a standard http server and websocket server
wssserver Run as brook wssserver, both TCP and UDP, it will start a standard https server and websocket server
wsclient Run as brook wsclient, both TCP and UDP, to start a socks5 proxy, [src <-> socks5 <-> $ brook wsclient <-> $ brook wsserver <-> dst], [works with $ brook wsserver]
wssclient Run as brook wssclient, both TCP and UDP, to start a socks5 proxy, [src <-> socks5 <-> $ brook wssclient <-> $ brook wssserver <-> dst], [works with $ brook wssserver]
link Print brook link
qr Print brook server QR code
relay Run as standalone relay, both TCP and UDP, this means access [listen address] is equal to access [to address], [src <-> listen address <-> to address]
relays Run as multiple standalone relays
socks5 Run as standalone standard socks5 server, both TCP and UDP
socks5tohttp Convert socks5 to http proxy, [src <-> listen address(http proxy) <-> socks5 address <-> dst]
hijackhttps Hijack domains and assume is TCP/TLS/443. Requesting these domains from anywhere in the system will be hijacked . [src <-> $ brook hijackhttps <-> socks5 server] or [src <-> direct]
pac Run as PAC server or save PAC to file
howto Print some useful tutorial resources
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--debug, -d Enable debug (default: false)
--listen value, -l value Listen address for debug (default: ":6060")
--help, -h show help (default: false)
--version, -v print the version (default: false)
COPYRIGHT:
https://github.com/txthinking/brook
Contributing
Please read CONTRIBUTING.md first
License
Licensed under The GPLv3 License