这个是逗比根据地的备份镜像站(非官方)。牢记域名: [doubibackup.com]。搜索:标签云
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

一个优秀的跨平台 Socks5代理软件 —— Brook 服务端教程

网络资源 Toyo 67评论
广告
本文最后更新于 2018年4月9日 14:20 可能会因为没有更新而失效。如已失效或需要修正,请留言!

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

同时因为 Go语言的特性,在操作使用上非常简单,本篇主要介绍 Brook服务端中 Brook模式的使用方法。

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

Brook 客户端教程:https://doub.io/brook-jc2/

Brook 服务端脚本:『原创』一个优秀的跨平台 Socks5代理软件 —— Brook 一键安装管理脚本


安装步骤

首先建立并进入文件夹(假设你当前目录是 /root ,那么 Brook的目录就是 /root/brook ):

mkdir brook && cd brook

然后获取最新的版本号:

brook_ver=$(wget --no-check-certificate -qO- https://api.github.com/repos/txthinking/brook/releases | grep -o '"tag_name": ".*"' |head -n 1| sed 's/"//g' | sed 's/tag_name: //g') && echo ${brook_ver}

执行完后会输出获取的最新版本号,比如 v20180401 这样的日期格式,如果返回是空或者其他错误的内容,那么就代表获取失败。

获取失败的情况请去 Github 获取最新的版本号,例如 v20180401 ,然后执行 brook_ver=v20180401 (自己替换版本号)即可继续下面的下载步骤。


使用 uname -m 命令来判断VPS的位数,如果返回 x86_64 那就是64位,如果返回 i386或i686 那就是32位。

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

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

最后只需要赋予一下执行权限即可继续看下面的使用方法了。

chmod +x brook

使用方法

首先我们来查看一下帮助文档,命令: ./brook --help

参数解释

点击展开 查看参数解释

本篇文章主要介绍 Brook模式的使用方法,其他模式会另开文章写的。

Brook 自主研发的混淆协议有两个:

server
# Brook 新版 默认混淆协议

streamserver
# Brook 旧版 混淆协议,根据反馈,使用后可能会速度降低,可能适合于使用 Brook新版混淆协议 速度慢的人。

单端口启动

注意:因为前面的安装步骤已经进入了 Brook目录,所以这里不需要再进入目录了。但是以后需要启动Brook的时候,请进入Brook的文件夹,假设你的安装目录是 /root/brook ,那么就使用这个命令 cd /root/brook

# 启动一个单端口 Brook协议模式
# 监听端口为 2333,密码为 doub.io。
nohup ./brook server -l :2333 -p "doub.io" > /dev/null 2>&1 &

# 如果你使用 Brook的新版混淆协议[server]速度慢,那么可以尝试旧版混淆协议[streamserver](注意:此混淆协议可能会速度降低,仅适合使用新版协议慢的)
nohup ./brook streamserver -l :2333 -p "doub.io" > /dev/null 2>&1 &

多端口启动

# 启动一个多端口 Brook协议模式
# 账号分别为:
#     监听端口 2333,密码 doub.io1
#     监听端口 6666,密码 doub.io2
#     监听端口 8888,密码 doub.io3
 
nohup ./brook servers -l ":2333 doub.io1" -l ":6666 doub.io2" -l ":8888 doub.io3" > /dev/null 2>&1 &

# 如果你使用 Brook的新版混淆协议[server]速度慢,那么可以尝试旧版混淆协议[streamserver](注意:此混淆协议可能会速度降低,仅适合使用新版协议慢的)
nohup ./brook streamservers -l ":2333 doub.io1" -l ":6666 doub.io2" -l ":8888 doub.io3" > /dev/null 2>&1 &

停止Brook

kill -9 $(ps -ef|grep "brook"|grep -v grep|awk '{print $2}')

其他说明

Brook 默认支持UDP转发,无需任何设置!

运行Brook无报错,但无法连接

这个可能是防火墙的问题,因为我测试只支持 TCP,那么只需要开放TCP即可。

点击展开 查看更多

客户端链接Brook不可用,日志提示 xxx Expired request

出现这种问题说明你的服务器时间与本地时间相差过大,请修改服务器时区,或者手动修改服务器系统时间(注意也要校准自己本地设备时间)!

点击展开 查看更多

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

点击展开 查看更多

升级 Brook

升级很简单,只需要重新执行一开始的安装步骤即可,区别是不需要再新建文件夹了,直接进入文件夹即可。

卸载 Brook

卸载前先停止 Brook,然后直接删除 Brook的文件夹即可。

kill -9 $(ps -ef|grep "brook"|grep -v grep|awk '{print $2}')
# 先停止,后删除(假设安装在 /root 目录内,那么文件夹就是 /root/brook
rm -rf /root/brook

转载请超链接注明:逗比根据地 » 一个优秀的跨平台 Socks5代理软件 —— Brook 服务端教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (53)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(67)个小伙伴在吐槽
  1. 站长,系统是Ubuntu18,作为客户端。是选择官方教程的transparent proxy 还是VPN。。。之前按照Linux官方文件的提示,从终端提交了服务器地址端口密码等参数,还是不能用,是不是还需要进行本地的代理设置。。。谢谢
    Nemo2018-11-11 17:13 回复
  2. 大哥,请问服务端能装在虚拟主机上吗?
    Pinker2018-07-06 11:18 回复
    • 当然不能,虚拟主机上面只能安装那些例如 PHP 写的代理功能网页文件。
      Toyo2018-07-07 10:13 回复
  3. 请问手动部署的话,重启服务是怎么操作呢。有时候会用着用着突然断掉。遇到两次都是重装。不知道是什么原因。
    levis2018-06-27 19:33 回复
    • 先停止:https://doub.io/brook-jc1/#停止Brook
      再启动:https://doub.io/brook-jc1/#单端口启动
      就是重启呀。
      如果你嫌麻烦那还是推荐你使用 Brook 一键脚本,一键脚本里支持监控服务端运行状态(服务端异常停止自动恢复)。
      Toyo2018-06-28 09:58 回复
      • 有个挺奇怪的现象。一般用个一两天,服务会突然中断。为什么会这么频繁地中断呢。还有这时候我用一台电脑去重启服务,总会失败。换另一台才可以。是因为电脑的时间吗,好像电脑时间上也没有差多少。
        levis2018-06-29 21:24 回复
        • 一般来说,软件经常挂掉有两种原因:
          1. 软件自身代码BUG。
          2. 系统或者其他软件因为某些原因终止了软件进程。
          你说的是服务端还是客户端?怎么还用不同电脑去重启服务?
          Toyo2018-07-01 10:00 回复
          • 服务端挂掉的,还以为是被封,后来发现不是。因为挂掉的时候,用身边的电脑去重启刚好都失败。
            levis2018-07-01 20:15 回复
  4. Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|54.231.121.67|:443... connected. HTTP request sent, awaiting response... 403 Forbidden 2018-05-31 02:00:23 ERROR 403: Forbidden. :sad: 怎么回事?
    steve2018-05-31 02:02 回复
    • 你服务器是哪里的?这个是 Github 的下载分发CDN(从 Github 下载东西,Github 会根据你的服务器位置来分配CDN下载地址),提示 403 禁止访问。。。
      Toyo2018-05-31 07:53 回复
      • HTTP request sent, awaiting response... 403 Forbidden 2018-09-08 01:26:07 ERROR 403: Forbidden. 我也遇到了,linode的。以前有升级过可以,这次想升级时候不行。
        Levis2018-09-08 09:32 回复
        • 这个问题要么是 Github 问题,要么是你服务器与 Github 的链接有问题,被 Github 禁止访问了?
          Toyo2018-09-08 12:51 回复
          • 可能是吧,Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com),显示connected,然后Forbidden。以前可以的。
            Levis2018-09-08 13:10 回复
  5. 网主,brook升级失败启动不了了,貌似是amazonaws.com下载失败啊,求救!!!!!!!!!!!!!!!!!!!11
    steve2018-05-31 01:43 回复
  6. 我是在 Google Cloud Platform 上搭建的 VPS,可是您的脚本给出的 IP 地址和我为这个服务器保留的静态 IP 地址不一样。结果就是,两个地址均无法使用,请问这是为什么呢?
    1042018-05-09 22:48 回复
    • 我的脚本不是检测网卡得来的IP,而是通过访问获取IP的网站来获取当前服务器的外网IP。
      Toyo2018-05-10 09:19 回复
      • 那请问为什么两个地址均无法使用呢?是 Google Cloud Platform 的设计有问题吗?
        1042018-05-12 01:49 回复
        • 谷歌云有外部防火墙机制,你需要去后台开放外部防火墙的端口(例如 Brook 服务端的端口)。
          Toyo2018-05-13 13:05 回复
  7. brook怎么全局代理给浏览器之外的应用程序使用?
    Somebody2018-03-25 15:39 回复
  8. ipv6需要重新部署不?
    jlang2018-03-14 11:15 回复
    • 什么意思?
      Toyo2018-03-14 11:27 回复
      • vps刚分配了IPv6,连不通。
        jlang2018-03-14 11:44 回复
        • 本地CMD能ping通 服务器IPv6地址吗?先确定不是本地或者服务器上IPv6网络的问题,然后再尝试重启或重装 Brook 。
          Toyo2018-03-14 13:45 回复
          • ping过发4包,回来2个,郁闷
            jlang2018-03-14 17:04 回复
            • 这说明你本地和服务器的IPv6网络没问题,只回来2个说明丢包有点高(对速度影响严重)。尝试重装 Brook 服务端试试。
              Toyo2018-03-14 22:45 回复
  9. 大佬,大佬,我有一个问题,我在# 64位系统使用这个:这一步之后,出现了openssl:error1407742e:ssl routines:ssl23_get_server_hello:tlsv1 alert protocol version。我该怎么办,我在网上没找到解决办法
    x39882018-02-26 11:04 回复
    • 安装 openssl ,具体自行谷歌。
      Toyo2018-02-26 20:02 回复
  10. 有什么办法能让BROOK开机自动启动吗?VPS有时候重启就得进去手动启
    caddy2018-02-15 09:48 回复
    • 如果你用的是我的一键脚本,那么默认注册系统服务并配置开机启动。
      Toyo2018-02-15 13:17 回复
  11. 使用脚本安装的时候,现在安装brook.进行下载brook文件,会出现cannot write 的问题,尝试手动安装脚本也会出现这个问题,经过百度 可能情况为 文件名 过长,
    柒夜2018-01-12 20:05 回复
    • wget 版本太累,无法自动识别 brook 文件名。
      Toyo2018-01-12 20:28 回复
  12. 不推荐用这个。加密方式单一。酸酸乳的cha20可以降延迟不降安全
    onf2017-12-18 03:31 回复
    • 加密方式固定不代表就不安全。反而会让小白新手更容易使用,毕竟一个账号就 端口和密码 两个选项
      SSR的 chacha20 加密方式并不能降低延迟,如果想要通过修改加密方式来降低延迟,那么你就需要更换加密更简单的加密方式,当加密方式更简单,加解密时间就会更短,延迟就会更低。而加密方式更简单意味着更不安全。
      Toyo2017-12-18 08:06 回复
  13. 我开启客户端,速度很快,但是本地UDP转发无法通过。。。我是那里设置不对吗?
    xiao xiao2017-11-24 19:57 回复
  14. 请问brook支持查询剩余流量吗?
    全球7882017-11-15 16:21 回复
  15. VPS上系统CST时区已经修改成功了 但时间比本地还是快了3小时 原先慢10小时 谢谢Toyo大大回复一下
    geng42017-11-11 19:07 回复
  16. 请问Toyo老大 请问按照你的教程修改时间提示 date: cannot set date: Operation not permitted 有什么其它的解决办法吗 很想试试Brook 系统是Debian 8.0 x86_64 Debian7.0 x64装不了youtube-dl 所以才换的8.0
    geng42017-11-11 19:00 回复
    • date: cannot set date: Operation not permitted
      # 这个问题我也不清楚,一般都是允许修改时间的,你问问客服吧。
      
      Toyo2017-11-11 19:04 回复
  17. 请问brook支持多端口限速吗?
    lz00442017-11-10 11:03 回复
    • 不支持限速功能。
      Toyo2017-11-10 16:28 回复
  18. 不能啟动. Brook 日志老是写Syntax error: "(" unexpected 为什么?
    Kevin2017-11-06 13:05 回复
    • 信息太少,无法判断具体原因。
      Toyo2017-11-06 19:17 回复
  19. 按照教程一步一步来,端口还是关闭的(防火墙已允许),无法链接
    Icepic2017-11-05 14:09 回复
  20. 这个可以和ssr 共存吗?
    十七2017-11-04 15:17 回复
    • 可以,只要端口区分开。
      Toyo2017-11-04 17:46 回复
  21. Brook 更新到20171111了,可以更新教程吗?
    小小小2017-11-02 11:14 回复
    • 手动教程和一键脚本都更新了。
      Toyo2017-11-02 19:00 回复
      • :cool: 好的~~
        小小小2017-11-03 11:27 回复
  22. 大致看了作者写的关于music部分的golang代码,发现作者是将加密的流量当成是音乐数据(杂乱无序),然后混入访问中国移动/联通/电信的正常网页内容,以此来躲避墙的检测,但是这样做了之后反而被容易识破,毕竟内容是写成了固定的了。不过这个想法很好,如果能动态抓取某些没有被墙的网站的内容,把真实流量混杂在其中,就可以大大的降低被识别的风险。
    1235972017-10-31 17:05 回复
  23. 这个软件是不是有后门啊。我部署了两台vps,同一时间,110.19.183.212这个IP都在连我开启的端口。吓吓吓
    xiaoqiang2017-08-07 16:37 回复
    • 软件自身是开源的,而我的脚本也是开源的,有没有后门自己看代码。
      Toyo2017-08-07 19:20 回复
      • 安装脚本应该没啥问题。软件代码,我确实看不懂了。
        xiaoqiang2017-08-08 14:02 回复
        • 你上网的地方在内蒙古吧
          create2017-11-09 17:07 回复
      • 只是发现这种情况,很吓人,有懂得可以给解释一下。谢谢。
        xiaoqiang2017-08-08 14:02 回复
        • 不清楚你的情况。
          Toyo2017-08-08 18:04 回复
      • 我昨晚刚用一键脚本搭好的,今天查了一下,就有9个莫名其妙的ip连接,是我哪里出了问题吗? 101.24.124.213 中国 河北 石家庄 ======================== 101.249.84.222 中国 西藏 拉萨 ======================== 110.167.95.3 中国 青海 西宁 ======================== 119.118.11.72 中国 辽宁 沈阳 ======================== 121.229.122.51 中国 江苏 南京 ======================== 123.179.15.13 中国 内蒙古 呼和浩特 ======================== 124.88.64.196 中国 新疆 乌鲁木齐 ======================== 218.72.51.109 中国 浙江 杭州 ======================== 222.82.60.213 中国 新疆 乌鲁木齐 ========================
        mohuang2018-05-01 11:11 回复
        • 更换端口密码呢?
          Toyo2018-05-01 13:58 回复
  24. 请教,多端口多用户的conf如何写呢?
    bigbigfish2017-05-20 14:33 回复
  25. 安装步骤里 获取brook的命令 总是404 not found 是在国外的vps上 dns也换过几个了
    南琴浪2017-04-08 23:58 回复
    • 用github项目页里的server链接wget还是能下载的 项目页里的说明其实还蛮详细的
      南琴浪2017-04-09 00:04 回复
    • 我又测试了一遍,文章中的安装代码都是正确的。你哪个步骤提示404?
      Toyo2017-04-09 10:22 回复
      • 就是安装步骤里那两个 64位/32位的那两个命令都是404
        南琴浪2017-04-09 13:07 回复
  26. brook协议是新开发的协议吗 有点迫不及待想回去折腾
    南琴浪2017-04-08 16:28 回复
  27. 期待头油的一键脚本 QAQ
    Nathen2017-04-08 16:26 回复
    • 别只是期待一键啊。。手装大法好
      kurokitomoko2017-04-09 00:09 回复