Skip to content

Commit

Permalink
20210214
Browse files Browse the repository at this point in the history
  • Loading branch information
txthinking committed Feb 20, 2021
1 parent fc232c0 commit 74b7428
Show file tree
Hide file tree
Showing 23 changed files with 178 additions and 87 deletions.
30 changes: 12 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,20 @@

[![Build Status](https://travis-ci.org/txthinking/brook.svg?branch=master)](https://travis-ci.org/txthinking/brook)
[![Docs](https://img.shields.io/badge/Tutorial-docs-yellow.svg)](https://txthinking.github.io/brook/)
[![Slides](https://img.shields.io/badge/Tutorial-Slides-blueviolet.svg)](https://talks.txthinking.com)
[![Blog](https://img.shields.io/badge/Tutorial-Slides-blueviolet.svg)](https://talks.txthinking.com)
[![Youtube](https://img.shields.io/badge/Tutorial-Youtube-red.svg)](https://www.youtube.com/channel/UC5j8-I5Y4lWo4KTa4_0Kx5A)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](http://www.gnu.org/licenses/gpl-3.0)
[![Donate](https://img.shields.io/badge/Support-Donate-ff69b4.svg)](https://www.txthinking.com/opensource-support.html)
[![Slack](https://img.shields.io/badge/Join-Slack-ff69b4.svg)](https://docs.google.com/forms/d/e/1FAIpQLSdzMwPtDue3QoezXSKfhW88BXp57wkbDXnLaqokJqLeSWP9vQ/viewform)

<p align="center">
<img style="float:right;" src="https://txthinking.github.io/brook/_static/brook.png" alt="Brook"/>
</p>

---

**v20200901**
**v20210214**

- **❗️Breaking change, you should upgrade both server and client**
- New [Docs](https://txthinking.github.io/brook/)


**v20210101**

- Support iOS 13
- Import server list from URL. [ref here](https://txthinking.github.io/brook/#/brook-link) and [here](https://gist.githubusercontent.com/txthinking/7ecdb282982e14cc95714141c0ce2581/raw/350363229d1ce123b87b7cb0789e459969620cb3/brooklink.list)
- more and more...

---

Expand All @@ -41,9 +33,9 @@ Brook's goal is to keep it **simple**, **stupid** and **not detectable**.
Download from [releases](https://github.com/txthinking/brook/releases)

```
# For example, on linux amd64, v20210101
# For example, on linux amd64, v20210214
curl -L https://github.com/txthinking/brook/releases/download/v20210101/brook_linux_amd64 -o /usr/bin/brook
curl -L https://github.com/txthinking/brook/releases/download/v20210214/brook_linux_amd64 -o /usr/bin/brook
chmod +x /usr/bin/brook
```

Expand All @@ -57,7 +49,7 @@ nami install github.com/txthinking/brook

> The GUI file has only client function
Download from [releases](https://github.com/txthinking/brook/releases): [macOS](https://github.com/txthinking/brook/releases/download/v20210101/Brook.dmg), [Windows](https://github.com/txthinking/brook/releases/download/v20210101/Brook.exe), [Android](https://github.com/txthinking/brook/releases/download/v20210101/Brook.apk), [iOS](https://apps.apple.com/us/app/brook-a-cross-platform-proxy/id1216002642)
Download from [releases](https://github.com/txthinking/brook/releases): [macOS](https://github.com/txthinking/brook/releases/download/v20210214/Brook.dmg), [Windows](https://github.com/txthinking/brook/releases/download/v20210214/Brook.msi), [Android](https://github.com/txthinking/brook/releases/download/v20210214/Brook.apk), [iOS](https://apps.apple.com/us/app/brook-a-cross-platform-proxy/id1216002642)

Install via brew

Expand All @@ -77,20 +69,22 @@ USAGE:
brook [global options] command [command options] [arguments...]
VERSION:
20210101
20210214
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]
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(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]
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]
Expand Down
30 changes: 12 additions & 18 deletions README_ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,20 @@

[![Build Status](https://travis-ci.org/txthinking/brook.svg?branch=master)](https://travis-ci.org/txthinking/brook)
[![文档](https://img.shields.io/badge/%E6%95%99%E7%A8%8B-%E6%96%87%E6%A1%A3-yellow.svg)](https://txthinking.github.io/brook/#/zh-cn/)
[![幻灯片](https://img.shields.io/badge/%E6%95%99%E7%A8%8B-%E5%B9%BB%E7%81%AF%E7%89%87-blueviolet.svg)](https://talks.txthinking.com)
[![博客](https://img.shields.io/badge/%E6%95%99%E7%A8%8B-%E5%B9%BB%E7%81%AF%E7%89%87-blueviolet.svg)](https://talks.txthinking.com)
[![视频](https://img.shields.io/badge/%E6%95%99%E7%A8%8B-%E8%A7%86%E9%A2%91-red.svg)](https://www.youtube.com/channel/UC5j8-I5Y4lWo4KTa4_0Kx5A)
[![开源协议: GPL v3](https://img.shields.io/badge/%E5%BC%80%E6%BA%90%E5%8D%8F%E8%AE%AE-GPL%20v3-yellow.svg)](http://www.gnu.org/licenses/gpl-3.0)
[![捐赠](https://img.shields.io/badge/%E6%94%AF%E6%8C%81-%E6%8D%90%E8%B5%A0-ff69b4.svg)](https://www.txthinking.com/opensource-support.html)
[![交流群](https://img.shields.io/badge/%E7%94%B3%E8%AF%B7%E5%8A%A0%E5%85%A5-%E4%BA%A4%E6%B5%81%E7%BE%A4-ff69b4.svg)](https://docs.google.com/forms/d/e/1FAIpQLSdzMwPtDue3QoezXSKfhW88BXp57wkbDXnLaqokJqLeSWP9vQ/viewform)

<p align="center">
<img style="float:right;" src="https://txthinking.github.io/brook/_static/brook.png" alt="Brook"/>
</p>

---

**v20200901**
**v20210214**

- **此版本不兼容之前的版本, 建议一起升级服务端和客户端**
- [新的文档站点](https://txthinking.github.io/brook/#/zh-cn/)


**v20210101**

- 支持从HTTP URL导入服务器列表. [参考这里](https://txthinking.github.io/brook/#/brook-link)[这里](https://gist.githubusercontent.com/txthinking/7ecdb282982e14cc95714141c0ce2581/raw/350363229d1ce123b87b7cb0789e459969620cb3/brooklink.list)
- 恢复支持iOS 13
- more and more...

---

Expand All @@ -40,9 +32,9 @@ Brook 是一个跨平台的强加密无特征的代理软件. 偏爱 KISS 哲学
[releases](https://github.com/txthinking/brook/releases) 页面下载

```
# 举例, linux amd64, v20210101
# 举例, linux amd64, v20210214
curl -L https://github.com/txthinking/brook/releases/download/v20210101/brook_linux_amd64 -o /usr/bin/brook
curl -L https://github.com/txthinking/brook/releases/download/v20210214/brook_linux_amd64 -o /usr/bin/brook
chmod +x /usr/bin/brook
```

Expand All @@ -54,7 +46,7 @@ nami install github.com/txthinking/brook

### 安装 GUI (图形客户端)

[releases](https://github.com/txthinking/brook/releases) 页面下载: [macOS](https://github.com/txthinking/brook/releases/download/v20210101/Brook.dmg), [Windows](https://github.com/txthinking/brook/releases/download/v20210101/Brook.exe), [Android](https://github.com/txthinking/brook/releases/download/v20210101/Brook.apk), [iOS](https://apps.apple.com/us/app/brook-a-cross-platform-proxy/id1216002642)
[releases](https://github.com/txthinking/brook/releases) 页面下载: [macOS](https://github.com/txthinking/brook/releases/download/v20210214/Brook.dmg), [Windows](https://github.com/txthinking/brook/releases/download/v20210214/Brook.msi), [Android](https://github.com/txthinking/brook/releases/download/v20210214/Brook.apk), [iOS](https://apps.apple.com/us/app/brook-a-cross-platform-proxy/id1216002642)

通过 brew 安装

Expand All @@ -74,20 +66,22 @@ USAGE:
brook [global options] command [command options] [arguments...]
VERSION:
20210101
20210214
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]
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(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]
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]
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ You may need to run the below commands as **root user or sudo**, if you are not

## Install via curl

Let's take the v20200909 version downloaded on linux amd64 as an example
Let's take the v20210214 version downloaded on linux amd64 as an example

```
$ curl -L https://github.com/txthinking/brook/releases/download/v20200909/brook_linux_amd64 -o /usr/bin/brook
$ curl -L https://github.com/txthinking/brook/releases/download/v20210214/brook_linux_amd64 -o /usr/bin/brook
$ chmod +x /usr/bin/brook
```

Expand Down
11 changes: 9 additions & 2 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@
* [$ brook wsclient](brook-wsclient.md)
* [GUI WSClient](brook-wsclient-gui.md)

* WSSServer and WSSClient

* [$ brook wssserver](brook-wssserver.md)
* [$ brook wssclient](brook-wssclient.md)
* [GUI WSClient](brook-wssclient-gui.md)


* Server and Map

* [$ brook map](brook-map.md)
Expand Down Expand Up @@ -44,9 +51,9 @@

* [$ brook hijackhttps](brook-hijackhttps.md)

* Brook Link
* Brook Link & QR

* [Brook Link](brook-link.md)
* [$ brook link](brook-link.md)

* PAC

Expand Down
5 changes: 3 additions & 2 deletions docs/brook-link.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Brook Link

#### brook server & brook wsserver
#### brook server & brook wsserver & brook wssserver

```
brook://urlencode(SERVER PASSWORD)
Expand All @@ -11,7 +11,8 @@ brook://urlencode(SERVER PASSWORD)
SERVER format:

* brook server: `server_ip:port`
* brook wsserver: `ws://wsserver_ip:port`, `wss://wsserver_domain:port`
* brook wsserver: `ws://wsserver_ip:port`
* brook wssserver: `wss://wsserver_domain:port`

#### socks5 server

Expand Down
2 changes: 1 addition & 1 deletion docs/brook-wsclient.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ $ brook wsclient -s ws://1.2.3.4:9999 -p hello --socks5 127.0.0.1:1080

> More parameters: $ brook wsclient -h
## Use the socks5 proxy created by brook client
## Use the socks5 proxy

> TODO: Please help improve the documentation here
Expand Down
20 changes: 20 additions & 0 deletions docs/brook-wssclient-gui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Assume your brook wssserver is `wss://domain.com:443` and password is `hello`


## On Brook GUI Client

1. Select `wssserver`
2. Type `wss://domain.com:443` on server field
3. Type `hello` on password field
4. Tap `Connect` button

## Tips

* On desktop, Please prefer to use Chrome browser
* You may need to restart your browser or application

## TODO

> TODO: Please help improve the documentation here
* Different modes and configurations in GUI Client
22 changes: 22 additions & 0 deletions docs/brook-wssclient.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## $ brook wssclient

Assume your brook wssserver is `wss://domain.com:443` and password is `hello`, and you want to create a socks5 proxy `127.0.0.1:1080` on local.

```
send request <--> local socks5 <-- | brook wssserver protocol | --> brook wssserver <--> a remote address
```

## Run brook wssclient

```
$ brook wssclient -s wss://domain.com:443 -p hello --socks5 127.0.0.1:1080
```

> More parameters: $ brook wssclient -h
## Use the socks5 proxy

> TODO: Please help improve the documentation here
* Configure it on your system network settings
* Configure it on your browser
10 changes: 0 additions & 10 deletions docs/brook-wsserver.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,6 @@ Assume your server public IP is `1.2.3.4`, then your brook wsserver is: `ws://1.

> More parameters: $ brook wsserver -h
## Run brook wsserver with domain

Make sure your domain name has been successfully resolved, 80 and 443 are open, brook will automatically issue certificate for you, assume your domain is `domain.com`

```
$ brook wsserver --domain domain.com -p hello
```

Then your brook wsserver is: `wss://domain.com:443`

## Run in background or daemon

* Reference [Background](brook-server.md)
Expand Down
16 changes: 16 additions & 0 deletions docs/brook-wssserver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Run brook wssserver

Make sure your domain name has been successfully resolved, 80 and 443 are open, brook will automatically issue certificate for you, assume your domain is `domain.com`

```
$ brook wssserver --domain domain.com -p hello
```

> More parameters: $ brook wssserver -h
Then your brook wsserver is: `wss://domain.com:443`

## Run in background or daemon

* Reference [Background](brook-server.md)
* Reference [Daemon](joker.md)
6 changes: 3 additions & 3 deletions docs/install-gui-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ GUI(Graphical user interface), Brook GUI has only client function.

## macOS

[Brook for macOS](https://github.com/txthinking/brook/releases/download/v20200909/Brook.dmg)
[Brook for macOS](https://github.com/txthinking/brook/releases/download/v20210214/Brook.dmg)

Please prefer to use the latest version of macOS

## Windows

[Brook for Windows](https://github.com/txthinking/brook/releases/download/v20200909/Brook.exe)
[Brook for Windows](https://github.com/txthinking/brook/releases/download/v20210214/Brook.exe)

Please prefer to use the latest version of Windows

## Android

[Brook for Android](https://github.com/txthinking/brook/releases/download/v20200909/Brook.apk)
[Brook for Android](https://github.com/txthinking/brook/releases/download/v20210214/Brook.apk)

Please prefer to use the latest version of Android and Native ROM or Google ROM

Expand Down
6 changes: 4 additions & 2 deletions docs/zh-cn/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ CLI 是命令行界面, 与之对应的另一个概念是 GUI 图形用户界面

你可能需要用 **root** 用户或 **sudo** 来运行下面提到的命令, **如果你不是非常熟悉 Linux, 我们建议你使用 ubuntu 和 root 用户来进行操作.**

[如果你想了解命令行的本质, 点这里->](https://talks.txthinking.com/)

## 用curl直接下载brook文件

截止目前最新版是v20210101, 以linux 64位系统为例
截止目前最新版是v20210214, 以linux 64位系统为例

```
$ curl -L https://github.com/txthinking/brook/releases/download/v20210101/brook_linux_amd64 -o /usr/bin/brook
$ curl -L https://github.com/txthinking/brook/releases/download/v20210214/brook_linux_amd64 -o /usr/bin/brook
$ chmod +x /usr/bin/brook
```

Expand Down
10 changes: 8 additions & 2 deletions docs/zh-cn/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@
* [$ brook wsclient](brook-wsclient.md)
* [图形客户端](brook-wsclient-gui.md)

* WSS服务端和WSS客户端

* [$ brook wssserver](brook-wssserver.md)
* [$ brook wssclient](brook-wssclient.md)
* [图形客户端](brook-wssclient-gui.md)

* 服务端和 Map

* [$ brook map](brook-map.md)
Expand Down Expand Up @@ -44,9 +50,9 @@

* [$ brook hijackhttps](brook-hijackhttps.md)

* Brook 链接
* Brook 链接 & QR

* [Brook Link](brook-link.md)
* [$ brook link](brook-link.md)

* PAC

Expand Down
5 changes: 3 additions & 2 deletions docs/zh-cn/brook-link.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Brook Link

#### brook server & brook wsserver
#### brook server & brook wsserver & brook wssserver

```
brook://urlencode(SERVER PASSWORD)
Expand All @@ -11,7 +11,8 @@ brook://urlencode(SERVER PASSWORD)
SERVER 格式可以是:

* brook server: `server_ip:port`
* brook wsserver: `ws://wsserver_ip:port`, `wss://wsserver_domain:port`
* brook wsserver: `ws://wsserver_ip:port`
* brook wssserver: `wss://wsserver_domain:port`

#### socks5 server

Expand Down
2 changes: 1 addition & 1 deletion docs/zh-cn/brook-tproxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $ brook tproxy 可以创建透明代理在你的Linux路由器, Linux需要有TP

## 运行 brook tproxy

> 以下仅供参考
> 以下步骤在官方openwrt x86-64位固件, 使用的brook_linux_amd64文件测试通过
#### 1. Enable forward

Expand Down
Loading

0 comments on commit 74b7428

Please sign in to comment.