本系列教程适合新手小白,当然老鸟也可以看看,也许会有你还不知道的黑科技。一灯不是和尚手把手教你搭建WireGuard/Brook/Snell/NaiveProxy节点服务器并实现科学上网,这可能是史上最全、最简单、最适合小白萌新的一键搭建Brook服务器教程。本教程内容包括购买域名和VPS,远程连接并管理VPS和Brook一键安装脚本最新版以及多用户配置的方法,并开启BBR加速以及Brook客户端配置教程。
本文目录
[0] Brook是什么?
Brook是一款跨平台的强加密且难以被检测的科学上网代理工具,功能非常强大,它的目标是保持简单易用、傻瓜化操作,且不被检测。Brook 比 Shadowsocks/SS 部署更简单,而且实现了零配置。txthinking大神一直在维护更新,Brook虽然诞生比较早,但一直比较低调小众,也拥有全平台的客户端,类似于我们经常使用的Shadowsocks/ShadowsocksR等代理工具。另外,Brook转发功能也很强大,也是一款出色的转发中继工具。
Brook官网项目地址: https://github.com/txthinking/brook
Brook功能特点:
- Brook既可以用作客户端,也可以用作服务端;
- 用作隧道,连接到Brook服务器;
- 用作DNS服务器;
- 用作透明代理;
- WebSocket服务器;
- Websocket客户端;
- 连接登录远程服务器;
- 用作中继;
- Socks5服务器;
- 把Socks5转换成http;
- 用作PAC服务器或下载PAC文件到本地。
1、注册域名和购买非中国大陆地区的VPS
(1)注册域名
如果你使用“Brook+WS+TLS+Web”模式的话,就需要用域名伪装成网站,否则不需要域名。注册域名有两种途径:注册国外免费域名和付费购买域名。
1)注册免费域名
注册免费域名请参考文章 最新的国外免费顶级域名网站Freenom注册免费域名教程与Cloudflare托管解析的方法
2)购买付费域名
购买付费域名推荐 NameSilo(推荐) 或 Namecheap,大部分域名一般不到4美元/第1年,像 .xray 和 .top 这样顶级域名还不到1美元/年,非常划算,第2年重新注册一个新的就可以了。
如果你打算在 NameSilo 注册域名的话,请参考文章 NameSilo – 美国知名域名注册商 | 仅年付0.99/1.99美元 | 域名购买与账户注册图文教程
3)解析域名
注册好域名之后,请把域名解析到你要搭建Brook服务器所用VPS对应的IP地址,一般5分钟之内就可以生效,最迟72小时生效。我一直推荐大家使用 Cloudflare 管理域名,解析速度快,基本秒生效,非常方便快捷,而且 Cloudflare 的免费 CDN 很好用,而且搭建自用WireGuard/Brook/Snell/NaiveProxy服务器节点也经常会用到。
关于互联网域名注册、购买与添加DNS域名解析记录的详细操作教程,请参考文章 互联网域名注册、服务购买与添加域名解析记录及更改DNS服务器的详细图文教程
(2)购买非中国大陆地区的VPS
1)为什么要购买非中国大陆地区的VPS?
因为中国大陆经营的正规VPS提供商都在国家正规备案的,不允许你用VPS搭建Brook节点服务器,一旦发现你违规使用会停掉你的VPS,还可能不退款。另外,即使你可以搭建科学上网服务器,而且没有被发现,那么也可能被监控,并有隐私泄露的风险,因为像国内大厂的云产品上面都有监控代码,你未必能清理干净。鉴于以上原因,我建议你选择非天朝公司且不在大陆备案经营的VPS提供商。
2)使用香港或者澳门公司的VPS怎么样?
当然是可以的,但是他们都很贵,而且仍是天朝下辖地区,还是不碰为好。我推荐你选择美国、台湾、日本、新加坡、韩国等地区机房的VPS,甚至欧洲公司的产品,毕竟中国台湾还没有被统一,天朝直接管不了。
通过以上分析和介绍,我相信你也不愿意选择阿里云、腾讯云、百度云和华为云等这样的国内大公司的VPS,最好选择美国西海岸、日本东京或新加坡机房的VPS。
3)用什么VPS搭建Brook服务器比较好?
国外VPS哪家好?一键搭建Brook服务器推荐你使用 Vultr(推荐)、搬瓦工(BandwagonHOST) 或 Hostwinds 等大公司的VPS。其中,Vultr在全球拥有30个数据中心,虽然在不同国家和地区的机房数据中心对中国大陆不同地域网络的访问速度和延迟有些差别,但你只需要测试好最适合自己当地网络环境的机房位置即可,因为你可以方便且无限制地免费更换IP,直至找到最适合你的那个数据中心。毋庸置疑,在优质国外VPS服务商中,Vultr是性价比最高、最值得推荐的一家。另外,BandwagonHOST(搬瓦工)在中国大陆的知名度非常高,它的速度和稳定性都很不错,尤其是 CN2 GIA 线路的套餐,但价格非常贵,是同类产品中相对较贵的,性价比一般,而且现在换IP也非常贵。最后,鉴于Hostwinds在国外口碑非常好,服务器安全稳定,还支持免费更换IP,网站不仅支持中文操作界面,而且有中文客服实时在线,所以也是值得一试的。
如果你是老鸟的话,你应该懂得任何一家VPS都有值得推荐的优势。如果你追求速度和稳定性的话,我推荐您使用有中国电信 CN2 GIA、中国联通 CUVIP(AS9929) 或移动CMI,甚至日本软银等高端线路的VPS。其中,由于中国香港、中国台湾、日本和韩国的数据中心更靠近中国大陆,网络延迟相对更低,连接响应速度会更快,但峰值网络带宽并不一定高。虽然这些国家和地区的物理优势明显,但价格也是比较贵,尤其 CN2 GIA 和CU2(AS9929) 线路非常昂贵,不太适合普通用户,所以我们一般选择较多选择美国或欧洲机房的特殊优化或高端线路,性价比相对较高。如果你追求超高性价比的话,我相信Vultr肯定是你最好的选择。
关于 Vultr 的账户注册、套餐购买和VPS服务器系统安装与远程管理的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述,我后面的图文教程均以 Vultr VPS 为例进行演示。
2、远程连接并管理 Vultr VPS 服务器
关于 Xshell/Putty 远程连接并管理 Vultr VPS 服务器的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述。
当完成 Vultr 账户注册、套餐购买并成功连接到远程 VPS 之后,我们就可以继续下面的步骤了。
3、一键搭建Brook安装教程
我这里选择 Vultr VPS 服务器位置在 Seattle(美国西雅图),安装 CentOS 7 X64 系统,使用 Xshell 远程登陆 Vultr VPS 进行操作,然后我们就可以使用Vultr搭建Brook服务器了。具体操作步骤如下:
(1)搭建Brook服务器(需要域名)
1)安装基础依赖组件
apt update && apt install -y socat wget git vim cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2)安装证书生成脚本
wget -qO- get.acme.sh | bash source ~/.bashrc
3)安装证书
acme.sh --issue --standalone -d your_domain.com -k ec-256 mkdir -p /etc/nginx /etc/nginx/conf.d acme.sh --installcert -d your_domain.com --fullchain-file /etc/nginx/conf.d/server.pem --key-file /etc/nginx/conf.d/server.key --ecc
注意事项:your_domain.com 替换为你自己的域名。
4)安装 Docker && Nginx && Brook
wget -qO- get.docker.com | bash docker pull nginx docker pull teddysun/brook docker pull containrrr/watchtower
5)修改 Nginx 配置
执行编辑配置文件命令:vim /etc/nginx/conf.d/default.conf,配置文件内容如下:
server { listen 443 ssl http2; ssl_certificate /etc/nginx/conf.d/server.pem; ssl_certificate_key /etc/nginx/conf.d/server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE; server_name your_domain.com; #改为你的域名 location / { proxy_pass https://proxy.com; #改为你想伪装的网址 proxy_redirect off; proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; } location /your_path { #改为你在上面修改的路径 proxy_redirect off; proxy_pass http://127.0.0.1:1000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 300s; } } server { listen 127.0.0.1:80; server_name ip.ip.ip.ip; #改为你服务器的 IP 地址 return 301 https://your_domain.com$request_uri; #改为你的域名 } server { listen 0.0.0.0:80; listen [::]:80; server_name _; return 301 https://$host$request_uri; }
6)启动Nginx服务
docker run --network host --name nginx -v /etc/nginx:/etc/nginx/conf.d --restart=always -d nginx docker run --name watchtower -v /var/run/docker.sock:/var/run/docker.sock --restart unless-stopped -d containrrr/watchtower --cleanup
其中,修改 /your_path 为你的路径,your_password 为你的密码。
docker run --network host --name brook -e "ARGS=wsserver --path /your_path -l :1000 -p your_password" --restart=always -d teddysun/brook
使用这种配置方式,watchtower会自动监测并更新软件,你无需手动更新。至此,你的Brook服务器已经搭建完成。
(2)Brook一键安装管理脚本
我们这里使用逗比大神的Brook一键管理脚本,目前最新版是1.1.13,大神也没有增加新功能,仍然很好用。但是,此一键脚本搭建的Brook服务器属于裸奔模式,不支持“WS+TLS”,没有伪装成网站的功能,不需要域名。
此Brook一键搭建脚本支持的系统:CentOS 6+ / Debian 6+ / Ubuntu 14.04 + ,逗比大神推荐 Debian 8 x64,但是我在 Debian 9 和 10 上面使用也是挺稳定的。
1)安装 wget 依赖包
yum -y install wget #CentOS apt-get install wget #Ubuntu/Debian
2)执行Brook一键安装管理脚本命令
方法1(旧版本一键安装脚本):
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubibackup/doubi/master/brook.sh && chmod +x brook.sh && bash brook.sh
方法2(新版本一键安装脚本):
curl -L https://github.com/txthinking/brook/releases/download/v20200909/brook_linux_amd64 -o /usr/bin/brook chmod +x /usr/bin/brook setsid ./brook server -l :9999 -p password
第一条命令是下载20200909版本,第二条命令给brook赋予权限,最后一条命令的意思是启动brook并增加守护进程,这样当ssh窗口关闭时,brook仍然是运行的,端口设置为9999,密码设置为password,端口和密码可以改成自己的
修改brook端口号和密码方法:
关闭brook进程命令:
killall brook
运行第三条命令:
setsid ./brook server -l :新端口 -p 新密码
复制上面的脚本一代码到VPS服务器里,复制代码用鼠标右键的复制,然后在VPS远程管理窗口点击右键粘贴进去,按回车键,脚本会自动安装。
以后只需要运行这个快捷命令就可以出现下图的界面进行设置,快捷管理命令为:bash brook.sh 或 ./brook.sh。然后按照提示,一路操作即可,使用一键脚本搭建Brook服务器是非常简单的。如下图所示:
然后,执行脚本会停留在选择安装Brook版本的步骤,直接按“回车”键,安装最新版Brook即可。Brook服务器搭建完成后,如下图所示:
3)运行Brook脚本管理命令
./brook.sh
/etc/init.d/brook start #启动 /etc/init.d/brook stop #停止 /etc/init.d/brook restart #重启 /etc/init.d/brook status #查看状态 /usr/local/brook #安装目录 /usr/local/brook/brook.conf #配置文件 /usr/local/brook/brook.log #日志文件
4)为Brook添加多用户管理
因为脚本默认一次只能添加/删除/修改一个用户配置,如果要批量管理,会很麻烦,所以逗比大神编写了手动批量修改配置文件的方法。
Brook配置文件位置:/usr/local/brook/brook.conf,格式如下:
servers # 第一行必须是Brook混淆协议 2333 doub.io # 下面几行都是以 端口+空格+密码 的方式一行一个 2334 doub.io1 2335 doub.io2
直接使用VI编辑器码字符太累了,就可以直接使用echo命令批量操作,执行命令如下所示:
echo "servers 2333 doub.io 2334 doub.io1 2335 doub.io2" > /usr/local/brook/brook.conf
以上代码是一个整体,复制后粘贴到SSH命令行窗口执行,会替换原配置文件 brook.conf 的内容。
echo "2336 doub.io3 2337 doub.io 2338 doub.io" >> /usr/local/brook/brook.conf
复制以上代码之后,粘贴到SSH命令行窗口执行即可,这样就新添加3个用户,格式为“服务器端口+空格+连接密码”;其中,“>”是清空配置文件再写入,“>>”是追加到配置文件原内容后面。
注意事项:以上新增用户连接密码可以相同,但是端口必须不同。
5)Brook常见问题答疑
问题1:无法连接到 Brook 账号的可能原因之一
因为 Brook 每次更新的内容可能变动较大,所以如果客户端与服务端版本不一致,那么很有可能会导致客户端链接服务端被拒绝。包括我的 Brook Tools 里调用的 Windows 命令行版客户端,所以请尝试更新服务端或客户端为最新版本。
问题2:客户端链接Brook不可用,服务端日志提示 xxxx/xx/xx xx:xx:xx Expired request
出现这种问题说明你的服务器时间与本地时间相差过大,请修改服务器时区,或者手动修改服务器系统时间(注意也要校准自己本地设备时间)!
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 修改时区为北京时区(上海) date -s "2017-11-02 19:14:00" # 修改系统时间为 2017年11月02日 晚上19点14分00秒 date "+%Y-%m-%d %H:%M:%S %u %Z" # 查看服务器当前时间
问题3:提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。
echo -e "nameserver 8.8.8.8 nameserver 8.8.4.4" > /etc/resolv.conf
问题4:提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
# CentOS系统: yum install -y wget # Debian/Ubuntu系统: apt-get install -y wget
问题5:升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
4、一键安装并开启BBR加速
(1)安装 wget 依赖包
yum -y install wget #CentOS apt-get install wget #Ubuntu/Debian
(2)执行BBR加速一键安装脚本命令
cd /usr/src && wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
执行以上安装命令后,如下图所示:
我这里选择“2”,“安装 BBRplus版内核”加速。在安装过程中,可能会出现如下提示,用右方向键选“<No>”,然后回车。如下图所示:
安装完成后会提示重启服务器,这时候输入字母“y”,回车后,重启服务器。当服务器启动后,我们再次执行安装命令,选择“7”启用“使用BBRplus版加速”。
5、Brook客户端配置
目前,Brook客户端除了官方版之外,还有由逗比大神出品的工具 Brook Tools 。Brook官方客户端虽然功能简陋,但是日常使用也是足够了,而且还是一个GUI可视化工具。
Brook客户端下载地址:
Brook客户端官方版 | Brook Tools(年久失修,不推荐使用)
Brook Tools 功能特点:
- 仍然使用Brook官方Windows内核,本质上是拥有更多选项设置的图形化界面。
- 支持导入、导出Brook链接。
- 支持保存多个Brook服务器配置信息。
- 支持SOCKS5代理、HTTP代理,可互相切换。
- 支持自定义本地代理端口。
由于 Brook Tools 最新版是1.0.14,更新于2018年9月21日,也是逗比大神作品最后的一个版本。太老了,而且年久失修,一灯不是和尚这里不再推荐使用。
6、自建vps和买机场哪个好
如果你有计算机网络技术基础,还懂得那么一点英文的话,一键搭建Brook服务器是一件非常简单的事情;否则,对你来说还真是有点麻烦,因为从购买域名和选择VPS、远程登录和执行安装代码等,都是一件很闹心的事情,尤其是有问题的时候,一定会让你崩溃,甚至想放弃。如果你已经决定使用Vultr搭建Brook服务器的话,那么搭建时请尽可能使用“Brook+WS+TLS+Web”模式实现网站流量伪装,抗封锁能力强,更加安全稳定,但是速度会有所下降。如果你不想要折腾的话,我还是推荐您使用专业的SS/SSR/V2Ray/Trojan机场,请参考 优质高速稳定SS/SSR/Xray/Trojan/V2Ray机场推荐 | 网络加速器梯子推荐,省事、省心,还更快速稳定。
郑重声明:本教程仅限于查阅学习资料和从事科研外贸工作的人群,所涉及到的工具资源均来自于互联网,本站对这些资源的可用性、安全性和版权不负有任何责任。如有侵权,请联系我删除。使用过程中,请您务必遵守当地的法律法规。
本文由一灯不是和尚于2024年12月22日更新;如果您有什么意见或建议,请在文章下面评论区留言反馈。
location /your_path { #改为你在上面修改的路径
这里的路径是什么路径呢???
就是网站根域名下面的目录路径。
这个网站是我随便找的一个网站,那个路径应该怎么填呢?
如果实在不懂的话,请使用一键安装脚本,省事省心。
每次都是报404的错 手动输入 自动获取都一样
直接回车即自动获取:
[信息] 检测到 Brook 最新版本为 [ v20220406 ]
[信息] 开始下载/安装…
–2022-04-08 17:47:24– https://github.com/txthinking/brook/releases/download/v20220406/brook
正在解析主机 github.com (github.com)… 140.82.112.4
正在连接 github.com (github.com)|140.82.112.4|:443… 已连接。
已发出 HTTP 请求,正在等待回应… 404 Not Found
2022-04-08 17:47:25 错误 404:Not Found。
文章中一键安装脚本是旧版本,跟最新Brook版本文件名不一致导致的。
脚本失效了
应该是你的当地网络环境对访问此Github脚本链接不友好,建议重启路由器更换IP后重试,但是一般不会影响远程服务器执行一键脚本命令,因为我这里测试是可以正常安装的。