diff --git a/README.md b/README.md index 6404fdbc..4d2d31de 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,11 @@ --- -**v20200701** +**v20200801** -* CLI: - * New subcommand `$ brook hijackhttps` - * Optimization -* GUI: - * macOS: add tun - * Android: support IPv6 - * Other minor changes +* Performance optimization +* Some subcommand parameter changes +* NAT: Symmetric (Need to upgrade both server and client) --- @@ -74,7 +70,7 @@ install GUI on macOS brew cask install brook ``` -**or download GUI: [macOS](https://github.com/txthinking/brook/releases/download/v20200701/Brook.dmg), [Windows](https://github.com/txthinking/brook/releases/download/v20200701/Brook.exe), [Android](https://github.com/txthinking/brook/releases/download/v20200701/Brook.apk), [iOS](https://apps.apple.com/us/app/brook-a-cross-platform-proxy/id1216002642)** +**or download GUI: [macOS](https://github.com/txthinking/brook/releases/download/v20200801/Brook.dmg), [Windows](https://github.com/txthinking/brook/releases/download/v20200801/Brook.exe), [Android](https://github.com/txthinking/brook/releases/download/v20200801/Brook.apk), [iOS](https://apps.apple.com/us/app/brook-a-cross-platform-proxy/id1216002642)** > CLI contains server and client, GUI only contains client. iOS client only supports non-China AppStore. @@ -88,7 +84,7 @@ USAGE: brook [global options] command [command options] [arguments...] VERSION: - 20200701 + 20200801 AUTHOR: Cloud @@ -98,7 +94,7 @@ COMMANDS: 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 <-> $ brook client <-> $ brook server <-> dst], [works with $ brook server] tunnel Run as tunnel, both TCP and UDP, this means access [listen address] is equal to [to address], [src <-> listen address <-> $ brook server <-> to address], [works with $ brook server] - dns Run as DNS server, both TCP and UDP, [src <-> $ brook dns <-> $ brook server <-> default dns server] or [src <-> $ brook dns <-> list dns server], [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] tun tun wsserver Run as brook wsserver, both TCP and UDP, it will start a standard http(s) server and websocket server @@ -111,9 +107,6 @@ COMMANDS: 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 - ssserver Run as shadowsocks server, both TCP and UDP, fixed method is aes-256-cfb - ssservers Run as shadowsocks multiple servers, fixed method is aes-256-cfb - ssclient Run as shadowsocks client, both TCP and UDP, to start socks5 or http proxy, method is aes-256-cfb, [src <-> $ brook ssclient <-> $ brook ssserver <-> dst], [works with $ brook ssserver] howto Print some useful tutorial resources help, h Shows a list of commands or help for one command diff --git a/cli/brook/build.sh b/cli/brook/build.sh index 5cfb6f9a..83a503ca 100755 --- a/cli/brook/build.sh +++ b/cli/brook/build.sh @@ -1,30 +1,40 @@ #!/bin/bash -GOOS=darwin GOARCH=386 go build -ldflags="-w -s" -o brook_darwin_386 . -GOOS=darwin GOARCH=amd64 go build -ldflags="-w -s" -o brook_darwin_amd64 . -GOOS=freebsd GOARCH=386 go build -ldflags="-w -s" -o brook_freebsd_386 -GOOS=freebsd GOARCH=amd64 go build -ldflags="-w -s" -o brook_freebsd_amd64 -GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o brook . -GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o brook_linux_amd64 . -GOOS=linux GOARCH=386 go build -ldflags="-w -s" -o brook_linux_386 . -GOOS=linux GOARCH=arm64 go build -ldflags="-w -s" -o brook_linux_arm64 . -GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-w -s" -o brook_linux_arm7 . -GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-w -s" -o brook_linux_arm6 . -GOOS=linux GOARCH=arm GOARM=5 go build -ldflags="-w -s" -o brook_linux_arm5 . -GOOS=linux GOARCH=mips go build -ldflags="-w -s" -o brook_linux_mips . -GOOS=linux GOARCH=mipsle go build -ldflags="-w -s" -o brook_linux_mipsle . -GOOS=linux GOARCH=mips GOMIPS=softfloat go build -ldflags="-w -s" -o brook_linux_mips_softfloat . -GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags="-w -s" -o brook_linux_mipsle_softfloat . -GOOS=linux GOARCH=mips64 go build -ldflags="-w -s" -o brook_linux_mips64 . -GOOS=linux GOARCH=mips64le go build -ldflags="-w -s" -o brook_linux_mips64le . -GOOS=linux GOARCH=mips64 GOMIPS=softfloat go build -ldflags="-w -s" -o brook_linux_mips64_softfloat . -GOOS=linux GOARCH=mips64le GOMIPS=softfloat go build -ldflags="-w -s" -o brook_linux_mips64le_softfloat . -GOOS=linux GOARCH=ppc64 go build -ldflags="-w -s" -o brook_linux_ppc64 . -GOOS=linux GOARCH=ppc64le go build -ldflags="-w -s" -o brook_linux_ppc64le . -GOOS=netbsd GOARCH=386 go build -ldflags="-w -s" -o brook_netbsd_386 -GOOS=netbsd GOARCH=amd64 go build -ldflags="-w -s" -o brook_netbsd_amd64 -GOOS=openbsd GOARCH=386 go build -ldflags="-w -s" -o brook_openbsd_386 -GOOS=openbsd GOARCH=amd64 go build -ldflags="-w -s" -o brook_openbsd_amd64 -GOOS=windows GOARCH=amd64 go build -ldflags="-w -s" -o brook_windows_amd64.exe . -GOOS=windows GOARCH=386 go build -ldflags="-w -s" -o brook_windows_386.exe . +if [ $# -ne 1 ]; then + echo "./build.sh version" + exit +fi +mkdir _ + +GOOS=darwin GOARCH=386 go build -ldflags="-w -s" -o _/brook_darwin_386 . +GOOS=darwin GOARCH=amd64 go build -ldflags="-w -s" -o _/brook_darwin_amd64 . +GOOS=freebsd GOARCH=386 go build -ldflags="-w -s" -o _/brook_freebsd_386 . +GOOS=freebsd GOARCH=amd64 go build -ldflags="-w -s" -o _/brook_freebsd_amd64 . +GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o _/brook . +GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o _/brook_linux_amd64 . +GOOS=linux GOARCH=386 go build -ldflags="-w -s" -o _/brook_linux_386 . +GOOS=linux GOARCH=arm64 go build -ldflags="-w -s" -o _/brook_linux_arm64 . +GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-w -s" -o _/brook_linux_arm7 . +GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-w -s" -o _/brook_linux_arm6 . +GOOS=linux GOARCH=arm GOARM=5 go build -ldflags="-w -s" -o _/brook_linux_arm5 . +GOOS=linux GOARCH=mips go build -ldflags="-w -s" -o _/brook_linux_mips . +GOOS=linux GOARCH=mipsle go build -ldflags="-w -s" -o _/brook_linux_mipsle . +GOOS=linux GOARCH=mips GOMIPS=softfloat go build -ldflags="-w -s" -o _/brook_linux_mips_softfloat . +GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags="-w -s" -o _/brook_linux_mipsle_softfloat . +GOOS=linux GOARCH=mips64 go build -ldflags="-w -s" -o _/brook_linux_mips64 . +GOOS=linux GOARCH=mips64le go build -ldflags="-w -s" -o _/brook_linux_mips64le . +GOOS=linux GOARCH=mips64 GOMIPS=softfloat go build -ldflags="-w -s" -o _/brook_linux_mips64_softfloat . +GOOS=linux GOARCH=mips64le GOMIPS=softfloat go build -ldflags="-w -s" -o _/brook_linux_mips64le_softfloat . +GOOS=linux GOARCH=ppc64 go build -ldflags="-w -s" -o _/brook_linux_ppc64 . +GOOS=linux GOARCH=ppc64le go build -ldflags="-w -s" -o _/brook_linux_ppc64le . +GOOS=netbsd GOARCH=386 go build -ldflags="-w -s" -o _/brook_netbsd_386 . +GOOS=netbsd GOARCH=amd64 go build -ldflags="-w -s" -o _/brook_netbsd_amd64 . +GOOS=openbsd GOARCH=386 go build -ldflags="-w -s" -o _/brook_openbsd_386 . +GOOS=openbsd GOARCH=amd64 go build -ldflags="-w -s" -o _/brook_openbsd_amd64 . +GOOS=windows GOARCH=amd64 go build -ldflags="-w -s" -o _/brook_windows_amd64.exe . +GOOS=windows GOARCH=386 go build -ldflags="-w -s" -o _/brook_windows_386.exe . + +nami release github.com/txthinking/brook $1 _ + +rm -rf _ diff --git a/cli/brook/main.go b/cli/brook/main.go index 667b0a87..90e31568 100644 --- a/cli/brook/main.go +++ b/cli/brook/main.go @@ -36,7 +36,7 @@ var debugAddress string func main() { app := cli.NewApp() app.Name = "Brook" - app.Version = "20200701" + app.Version = "20200801" app.Usage = "A cross-platform strong encryption and not detectable proxy" app.Authors = []*cli.Author{ {