Skip to content
forked from txthinking/brook

Brook is a cross-platform(Linux/MacOS/Windows/Android/iOS) proxy/vpn software

License

Notifications You must be signed in to change notification settings

2php/brook

Repository files navigation

Brook

Build StatusGo Report CardLicense: GPL v3Wiki

Brook


v20181212

  • 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

Table of Contents

What is Brook

Brook is a cross-platform proxy/vpn software.
Brook's goal is to keep it simple, stupid and not detectable.

Download

DownloadServer/ClientOSArchRemark
brookServer & ClientLinuxamd64CLI
brook_linux_386Server & ClientLinux386CLI
brook_linux_arm64Server & ClientLinuxarm64CLI
brook_linux_arm5Server & ClientLinuxarm5CLI
brook_linux_arm6Server & ClientLinuxarm6CLI
brook_linux_arm7Server & ClientLinuxarm7CLI
brook_linux_mipsServer & ClientLinuxmipsCLI
brook_linux_mipsleServer & ClientLinuxmipsleCLI
brook_linux_mips64Server & ClientLinuxmips64CLI
brook_linux_mips64leServer & ClientLinuxmips64leCLI
brook_linux_ppc64Server & ClientLinuxppc64CLI
brook_linux_ppc64leServer & ClientLinuxppc64leCLI
brook_darwin_amd64Server & ClientMacOSamd64CLI
brook_windows_amd64.exeServer & ClientWindowsamd64CLI
brook_windows_386.exeServer & ClientWindows386CLI
Brook.dmgClientMacOSamd64GUI
Brook.exeClientWindowsamd64GUI
App StoreClientiOS-GUI
Brook.apk(No Google Play)ClientAndroid-GUI

See wiki for more tutorials

Packages

ArchLinux

sudo pacman -S brook 

MacOS(GUI)

brew cask install brook 

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 

Server

# 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

Client (CLI)

# 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 

Client (GUI)

See wiki

Tunnel

# 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 

Tproxy (usually used on Linux router box)

See wiki

VPN

# 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

Relay

# Run as relay to 1.2.3.4:5 $ brook relay -l :5 -r 1.2.3.4:5 

Socks5

# Run as a raw socks5 server 1.2.3.4:1080 $ brook socks5 -l :1080 -i 1.2.3.4 

Socks5 to HTTP

# 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 

Shadowsocks

# 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

Contributing

Please read CONTRIBUTING.md first

License

Licensed under The GPLv3 License

About

Brook is a cross-platform(Linux/MacOS/Windows/Android/iOS) proxy/vpn software

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go98.3%
  • Shell1.7%