- Uninstall/Delete the old client on MacOS or Windows
- On MacOS, you need to System Preferences -> Security & Privacy, click Open Anyway, when you open Brook
- No longer support the snap package
- What is Brook
- Download
- Packages
- Server
- Client (CLI)
- Client (GUI)
- Tunnel
- Tproxy
- VPN
- Relay
- Socks5
- Socks5 to HTTP
- Shadowsocks
- Contributing
- License
Brook is a cross-platform proxy/vpn software.
Brook's goal is to keep it simple, stupid and not detectable.
Download | Server/Client | OS | Arch | Remark |
---|---|---|---|---|
brook | Server & Client | Linux | amd64 | CLI |
brook_linux_386 | Server & Client | Linux | 386 | CLI |
brook_linux_arm64 | Server & Client | Linux | arm64 | CLI |
brook_linux_arm5 | Server & Client | Linux | arm5 | CLI |
brook_linux_arm6 | Server & Client | Linux | arm6 | CLI |
brook_linux_arm7 | Server & Client | Linux | arm7 | CLI |
brook_linux_mips | Server & Client | Linux | mips | CLI |
brook_linux_mipsle | Server & Client | Linux | mipsle | CLI |
brook_linux_mips64 | Server & Client | Linux | mips64 | CLI |
brook_linux_mips64le | Server & Client | Linux | mips64le | CLI |
brook_linux_ppc64 | Server & Client | Linux | ppc64 | CLI |
brook_linux_ppc64le | Server & Client | Linux | ppc64le | CLI |
brook_darwin_amd64 | Server & Client | MacOS | amd64 | CLI |
brook_windows_amd64.exe | Server & Client | Windows | amd64 | CLI |
brook_windows_386.exe | Server & Client | Windows | 386 | CLI |
Brook.dmg | Client | MacOS | amd64 | GUI |
Brook.exe | Client | Windows | amd64 | GUI |
App Store | Client | iOS | - | GUI |
Brook.apk(No Google Play) | Client | Android | - | GUI |
See wiki for more tutorials
sudo pacman -S brook
brew cask install brook
NAME: Brook - A Cross-Platform Proxy/VPN Software USAGE: brook [global options] command [command options] [arguments...] VERSION: 20181212 AUTHOR: Cloud <cloud@txthinking.com> COMMANDS: server Run as server mode servers Run as multiple servers mode client Run as client mode tunnel Run as tunnel mode on client-side tproxy Run as tproxy mode on client-side, transparent proxy, only works on Linux vpn Run as VPN mode on client-side ssserver Run as shadowsocks server mode, fixed method is aes-256-cfb ssservers Run as shadowsocks multiple servers mode, fixed method is aes-256-cfb ssclient Run as shadowsocks client mode, fixed method is aes-256-cfb socks5 Run as raw socks5 server relay Run as relay mode relays Run as multiple relays mode qr Print brook server QR code socks5tohttp Convert socks5 to http proxy systemproxy Set system proxy with pac url, or remove, only works on MacOS/Windows help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --debug, -d Enable debug --listen value, -l value Listen address for debug (default: ":6060") --help, -h show help --version, -v print the version
# Run as a brook server $ brook server -l :9999 -p password
# Run as multiple brook servers $ brook servers -l ":9999 password" -l ":8888 password"
If you run a public/shared server, do not forget this parameter --tcpDeadline
# Run as brook client, start a socks5 proxy socks5://127.0.0.1:1080 $ brook client -l 127.0.0.1:1080 -i 127.0.0.1 -s server_address:port -p password
# Run as brook client, start a http(s) proxy http(s)://127.0.0.1:8080 $ brook client -l 127.0.0.1:8080 -i 127.0.0.1 -s server_address:port -p password --http
See wiki
# Run as tunnel 127.0.0.1:5 to 1.2.3.4:5 $ brook tunnel -l 127.0.0.1:5 -t 1.2.3.4:5 -s server_address:port -p password
See wiki
# Run as VPN to proxy all TCP/UDP. [ROOT privileges required]. $ sudo brook vpn -l 127.0.0.1:1080 -s server_address:port -p password
See wiki for more tutorials
# Run as relay to 1.2.3.4:5 $ brook relay -l :5 -r 1.2.3.4:5
# Run as a raw socks5 server 1.2.3.4:1080 $ brook socks5 -l :1080 -i 1.2.3.4
# Convert socks5://127.0.0.1:1080 to http(s)://127.0.0.1:8080 proxy $ brook socks5tohttp -l 127.0.0.1:8080 -s 127.0.0.1:1080
# Run as a shadowsocks server $ brook ssserver -l :9999 -p password
# Run as multiple shadowsocks servers $ brook ssservers -l ":9999 password" -l ":8888 password"
If you run a public/shared server, do not forget this parameter --tcpDeadline
# Run as shadowsocks client, start a socks5 proxy socks5://127.0.0.1:1080 $ brook ssclient -l 127.0.0.1:1080 -i 127.0.0.1 -s server_address:port -p password
# Run as shadowsocks client, start a http(s) proxy http(s)://127.0.0.1:8080 $ brook ssclient -l 127.0.0.1:8080 -i 127.0.0.1 -s server_address:port -p password --http
Fixed method is aes-256-cfb
See wiki for more tutorials
Please read CONTRIBUTING.md first
Licensed under The GPLv3 License