例子

下面列举一些常用场景命令的例子, 注意自己替换示例中的 IP,端口,密码,域名,证书路径等参数

运行 brook server

brook server --listen :9999 --password hello

然后

或 获取 brook link

brook link --server 1.2.3.4:9999 --password hello --name 'my brook server'

或 获取 brook link 让 udp 走 tcp --udpovertcp

brook link --server 1.2.3.4:9999 --password hello --udpovertcp --name 'my brook server'

运行 brook wsserver

brook wsserver --listen :9999 --password hello

然后

或 获取 brook link

brook link --server ws://1.2.3.4:9999 --password hello --name 'my brook wsserver'

或 获取 brook link 指定个域名, 甚至不是你自己的域名也可以

brook link --server ws://hello.com:9999 --password hello --address 1.2.3.4:9999 --name 'my brook wsserver'

运行 brook wssserver: 自动签发信任证书

注意:确保你的域名已成功解析到你服务器的 IP, 自动签发证书需要额外监听 80 端口

brook wssserver --domainaddress domain.com:443 --password hello

然后

或 获取 brook link

brook link --server wss://domain.com:443 --password hello --name 'my brook wssserver'

运行 brook wssserver 使用已有的信任机构签发的证书

注意:确保你的域名已成功解析到你服务器的 IP

brook wssserver --domainaddress domain.com:443 --password hello --cert /root/cert.pem --certkey /root/certkey.pem

然后

或 获取 brook link

brook link --server wss://domain.com:443 --password hello --name 'my brook wssserver'

运行 brook wssserver 自己签发非信任证书, 甚至不是你自己的域名也可以

安装 mad

nami install mad

使用 mad 生成根证书

mad ca --ca /root/ca.pem --key /root/cakey.pem

使用 mad 由根证书派发 domain.com 证书

mad cert --ca /root/ca.pem --ca_key /root/cakey.pem --cert /root/cert.pem --key /root/certkey.pem --domain domain.com

运行 brook

brook wssserver --domainaddress domain.com:443 --password hello --cert /root/cert.pem --certkey /root/certkey.pem

获取 brook link 使用 --insecure

brook link --server wss://domain.com:443 --password hello --name 'my brook wssserver' --address 1.2.3.4:443 --insecure

或 获取 brook link 使用 --ca

brook link --server wss://domain.com:443 --password hello --name 'my brook wssserver' --address 1.2.3.4:443 --ca /root/ca.pem

withoutBrookProtocol

性能更好,但数据不使用 Brook 协议进行强加密。所以请使用证书加密,并且不建议--withoutBrookProtocol 和--insecure 一起使用

withoutBrookProtocol 自动签发信任证书

注意:确保你的域名已成功解析到你服务器的 IP, 自动签发证书需要额外监听 80 端口

brook wssserver --domainaddress domain.com:443 --password hello --withoutBrookProtocol

获取 brook link

brook link --server wss://domain.com:443 --password hello --withoutBrookProtocol

withoutBrookProtocol 使用已有的信任机构签发的证书

注意:确保你的域名已成功解析到你服务器的 IP

brook wssserver --domainaddress domain.com:443 --password hello --cert /root/cert.pem --certkey /root/certkey.pem --withoutBrookProtocol

获取 brook link

brook link --server wss://domain.com:443 --password hello --name 'my brook wssserver' --withoutBrookProtocol

withoutBrookProtocol 自己签发非信任证书, 甚至不是你自己的域名也可以

安装 mad

nami install mad

使用 mad 生成根证书

mad ca --ca /root/ca.pem --key /root/cakey.pem

使用 mad 由根证书派发 domain.com 证书

mad cert --ca /root/ca.pem --ca_key /root/cakey.pem --cert /root/cert.pem --key /root/certkey.pem --domain domain.com

运行 brook wssserver

brook wssserver --domainaddress domain.com:443 --password hello --cert /root/cert.pem --certkey /root/certkey.pem --withoutBrookProtocol

获取 brook link

brook link --server wss://domain.com:443 --password hello --withoutBrookProtocol --address 1.2.3.4:443 --ca /root/ca.pem

运行 brook socks5, 一个独立的标准 socks5 server

brook socks5 --listen :1080 --socks5ServerIP 1.2.3.4

然后

或 获取 brook link

brook link --server socks5://1.2.3.4:1080

运行 brook socks5, 一个独立的标准 socks5 server, 指定用户名和密码

brook socks5 --listen :1080 --socks5ServerIP 1.2.3.4 --username hello --password world

然后

或 获取 brook link

brook link --server socks5://1.2.3.4:1080 --username hello --password world

brook relayoverbrook 中继任何 TCP 和 UDP server, 让其走 brook 协议. 它与 brook server wsserver wssserver 一起工作

brook relayoverbrook ... --from 127.0.0.1:5353 --to 8.8.8.8:53

brook dnsserveroverbrook 用来创建一个加密 DNS Server, TCP and UDP, 它与 brook server wsserver wssserver 一起工作

brook dnsserveroverbrook ... --listen 127.0.0.1:53

brook tproxy 透明代理网关在官网原版 OpenWrt

无需操作 iptables!

opkg update
opkg install ca-certificates openssl-util ca-bundle coreutils-nohup iptables-mod-tproxy iptables-mod-socket ip6tables iptables
brook tproxy --link 'brook://...' --dnsListen :5353
  1. OpenWrt DNS forwardings: OpenWrt Web -> Network -> DHCP and DNS -> General Settings -> DNS forwardings -> 127.0.0.1#5353
  2. OpenWrt Ignore resolve file: OpenWrt Web -> Network -> DHCP and DNS -> Resolv and Hosts Files -> Ignore resolve file
  3. 默認, OpenWrt 將會下發 router 的 IP 的為電腦或手機的網關和 DNS

brook tproxy 透明代理网关在任意 Linux(有线)

无需操作 iptables!

systemctl stop systemd-resolved
systemctl disable systemd-resolved
echo nameserver 8.8.8.8 > /etc/resolv.conf
brook tproxy --link 'brook://...' --dnsListen :53

配置其他机器的网关和 DNS 为这台机器的 IP 即可

官网原版 OpenWrt 图形客户端

无需操作 iptables!

端口 9999, 8888, 5353 将会被使用. 它与 brook server, brook wsserver, brook wssserver, brook quicserver 一起工作.

  1. 下載適合你系統的ipk文件
  2. 上傳並安裝: OpenWrt Web -> System -> Software -> Upload Package...
  3. 刷新頁面, 頂部菜單會出現 Brook 按鈕
  4. OpenWrt Web -> Brook -> 輸入後點擊 Connect
  5. OpenWrt DNS forwardings: OpenWrt Web -> Network -> DHCP and DNS -> General Settings -> DNS forwardings -> 127.0.0.1#5353
  6. OpenWrt Ignore resolve file: OpenWrt Web -> Network -> DHCP and DNS -> Resolv and Hosts Files -> Ignore resolve file
  7. 默認, OpenWrt 將會下發 router 的 IP 為電腦或手機的網關和 DNS

brook relay 可以中继任何 TCP 和 UDP server, 这是一个独立的功能, 它不依赖 brook server wsserver wssserver

brook relay --from :9999 --to 1.2.3.4:9999

brook socks5tohttp 将 socks5 proxy 转换为 http proxy

brook socks5tohttp --socks5 127.0.0.1:1080 --listen 127.0.0.1:8010

brook pac 创建一个 pac server

brook pac --listen 127.0.0.1:8080 --proxy 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT' --bypassDomainList ...

brook pac 创建一个 pac 文件

brook pac --file proxy.pac --proxy 'SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; DIRECT' --bypassDomainList ...