v20200901
- ❗️Breaking change, you should upgrade both server and client
- New Docs
v20210101
Brook is a cross-platform strong encryption and not detectable proxy.
Brook's goal is to keep it simple, stupid and not detectable.
The CLI file has both server and client functions
Download from releases
# For example, on linux amd64, v20210101
curl -L https://github.com/txthinking/brook/releases/download/v20210101/brook_linux_amd64 -o /usr/bin/brook
chmod +x /usr/bin/brook
Install via nami
nami install github.com/txthinking/brook
The GUI file has only client function
Download from releases: macOS, Windows, Android, iOS
Install via brew
brew install --cask brook
NAME:
Brook - A cross-platform strong encryption and not detectable proxy
USAGE:
brook [global options] command [command options] [arguments...]
VERSION:
20210101
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 or a http 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(s) server and websocket server
wsclient Run as brook wsclient, both TCP and UDP, to start a socks5 proxy or a http proxy, [src <-> socks5 <-> $ brook wsclient <-> $ brook wsserver <-> dst], [works with $ brook wsserver]
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
Please read CONTRIBUTING.md first
Licensed under The GPLv3 License