引言

Brook 是一个由 Go 语言编写的跨平台代理软件,支持 Linux/MacOS/Windows/Android/iOS 各个平台。

Brook Github 项目:https://github.com/txthinking/brook

我们今天将用Docker版本的brook-relay来实现,使用Docker版本的优点自然不用多说。

brook-relay docker 项目: https://registry.hub.docker.com/r/helloz/brook-relay/

Docker实现

下载镜像

docker pull brook-relay

启动容器,定义端口即可

docker run --restart=always -d --name brook -p 本机端口:9999 
-e DIP="需要转发的IP" 
-e DPORT="需要被转发的端口号" 
brook-relay

直接实现

安装

#64位系统使用这个:
wget -N --no-check-certificate "https://github.com/txthinking/brook/releases/download/v20180909/brook"

#32位系统使用这个:
wget -N --no-check-certificate "https://github.com/txthinking/brook/releases/download/v20180909/brook_linux_386" && 

mv brook_linux_386 brook

#赋予执行权限
chmod +x brook

启动端口转发

单端口转发

#启动 一个端口转发 
#监听端口为 2333,被转发的服务器IP为 2.2.2.2 端口为 6666
nohup ./brook relay -l :2333 -r 2.2.2.2:6666 > /dev/null 2>&1 &

多端口转发

#启动 多个端口转发 
#分别为:
#监听端口 2333,被转发的服务器IP为 2.2.2.2 端口为 6666
#监听端口 6666,被转发的服务器IP为 3.3.3.3 端口为 6688
#监听端口 8888,被转发的服务器IP为 6.6.6.6 端口为 7766
nohup ./brook relays -l ":2333 2.2.2.2:6666" -l ":6666 3.3.3.3:6688" -l ":8888 6.6.6.6:7766" > /dev/null 2>&1 &

用途

  1. 服务器中继,如仅该IP拥有远端访问权限,我们可以使用这种简易的方式实现跳板(Nignx也能实现,但也太麻烦了是不)
  2. 端口转发
  3. 可以用于代理方面的某些你懂得的功能,需要自行发掘
  4. Brook 默认支持 UDP 转发,无需任何设置


一个爱搞事情的前端,一个爱玩技术的程序员