This article introduces the brook link
https://txthinking.github.io/brook/protocol/brook-link-protocol.html
We know that brook supports the creation of brook server, brook wsserver, brook wssserver, brook socks5, and new types that may be supported in the future.
Under normal circumstances, only two concepts need to be entered when using the client, Server and Password, such as
brook server
1.2.3.4:9999
password
brook wsserver
ws://1.2.3.4:9999
password
brook wssserver
wss://domain.com:443
password
brook socks5 needs to enter one concept or three concepts, which is determined by the socks5 protocol standard
1.2.3.4:1080
or
1.2.3.4:1080
username
password
The starting point of this design is that for ordinary users, the login operations on the internet, two concepts, username or equivalent, and password.
At the beginning, there was only brook server, and its server is similar to 1.2.3.4:9999, which looked neat and clean. Later, wsserver and wssserver were added, and the design concept was retained, and its surface protocol was placed on the Server, similar to ws://1.2.3.4:9999, wss://domain.com:443.
For students who like to study, you may know that brook server, brook wsserver, and brook wssserver all have advanced usage, which may not be used by most users. These advanced usages are supported by brook link.
e.g. brook server
--udpovertcp can specify UDP over TCP
--name The name displayed by the graphics client
Example
brook link -s 1.2.3.4:9999 -p hello --name MyName
e.g. brook wsserver
--address can specify IP, for example, some students use to specify the IP of cloudfare
--name The name displayed by the graphics client
Example
brook link -s ws://1.2.3.4:9999 -p hello --name MyName
e.g. brook wssserver
--address can specify IP, for example, some students use to specify the IP of cloudfare
--insecure allows the client to not verify the server's certificate
--withoutBrookProtocol can specify that the content is not encrypted using the brook protocol, of course, it needs the cooperation of the server side
--ca specifies the CA certificate, of course, requires the cooperation of the server side
--name The name displayed by the graphics client
Example
brook link -s wss://domain.com:443 -p hello --name MyName
For details, see the examples in the documentation
https://txthinking.github.io/brook/
Also available via brook link --help
Making good use of brook --help and brook xxx --help will actually save you time. For example, even as an author, I can't remember so many parameters, so every time I enter a command or subcommand, a --help will let me know what to type.
brook link -s socks5://1.2.3.4:1080
or socks5 that requires authentication
brook link -s socks5://1.2.3.4:1080 --username hello --password hello
Because there are special symbols, pay attention to the need to enclose in quotation marks
brook tproxy --link "brook://..."
brook connect --link "brook://..."
brook testbrook --link "brook://..."
tun2brook --link "brook://..."
Brook GUI Client
In fact, the shell has a usage, the output of small quotes is directly used as part of the command, for example, we want to test a brook server
1.2.3.4:9999
password
brook testbrook `brook link -s 1.2.3.4:9999 -p password`