翻墙入口,Telegram上最大的免费科学上网解决方案提供者,
致力于维护互联网世界普世自由价值、建立翻墙行业新秩序。

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

本文最后更新于 2018年4月9日 14:20 可能会因为没有更新而失效。如已失效或需要修正,请留言!

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

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

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

Brook 客户端教程:https://fanqiangdang.com/blog/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

参数解释

点击展开 查看参数解释

# 模式命令: server         以 Brook 协议 服务器模式 运行 servers        以 Brook 协议 多服务器模式 运行 client         以 Brook 协议 客户端模式 运行 streamserver   以 Brook stream 协议 服务器模式 运行 streamservers  以 Brook stream 协议 多服务器模式 运行 streamclient   以 Brook stream 协议 客户端模式 运行 ssserver       以 Shadowsocks 协议 服务器模式 运行,加密方式仅支持 aes-256-cfb ssservers      以 Shadowsocks 协议 多服务器模式 运行,加密方式仅支持 aes-256-cfb ssclient       以 Shadowsocks 协议 客户端模式 运行,加密方式仅支持 aes-256-cfb socks5         以 Socks5 协议 服务器模式 运行 relay          以 单中继/中转 模式运行 relays         以 多中继/中转 模式运行 qr             输出 Brook 二维码 socks5tohttp   将socks5转换为http代理 help, h        显示帮助,命令列表说明  # 全局参数: --debug, -d               启用调试功能,显示更多日志 --listen value, -l value  监听地址(默认: ":6060") --help, -h                显示帮助 --version, -v             打印版本  # 账号参数: --listen value, -l value    服务器监听地址,如: 0.0.0.0:1080 --password value, -p value  服务器密码 

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

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

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

单端口启动

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

# 启动一个单端口 Brook协议模式 # 监听端口为 2333,密码为 fanqiangdang.com。 nohup ./brook server -l :2333 -p "fanqiangdang.com" > /dev/null 2>&1 &  # 如果你使用 Brook的新版混淆协议[server]速度慢,那么可以尝试旧版混淆协议[streamserver](注意:此混淆协议可能会速度降低,仅适合使用新版协议慢的) nohup ./brook streamserver -l :2333 -p "fanqiangdang.com" > /dev/null 2>&1 &

多端口启动

# 启动一个多端口 Brook协议模式 # 账号分别为: #     监听端口 2333,密码 fanqiangdang.com1 #     监听端口 6666,密码 fanqiangdang.com2 #     监听端口 8888,密码 fanqiangdang.com3   nohup ./brook servers -l ":2333 fanqiangdang.com1" -l ":6666 fanqiangdang.com2" -l ":8888 fanqiangdang.com3" > /dev/null 2>&1 &  # 如果你使用 Brook的新版混淆协议[server]速度慢,那么可以尝试旧版混淆协议[streamserver](注意:此混淆协议可能会速度降低,仅适合使用新版协议慢的) nohup ./brook streamservers -l ":2333 fanqiangdang.com1" -l ":6666 fanqiangdang.com2" -l ":8888 fanqiangdang.com3" > /dev/null 2>&1 & 

停止Brook

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

其他说明

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

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

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

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 端口 -j ACCEPT iptables -I INPUT -m state --state NEW -m udp -p udp --dport 端口 -j ACCEPT  # 删除防火墙规则,内容一样把 -I 换成 -D 就行了: iptables -D INPUT -m state --state NEW -m tcp -p tcp --dport 端口 -j ACCEPT iptables -D INPUT -m state --state NEW -m udp -p udp --dport 端口 -j ACCEPT 

客户端链接Brook不可用,日志提示 xxx 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" # 查看服务器当前时间 

提示 wget: command not found 的错误

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

# CentOS系统: yum install -y wget  # Debian/Ubuntu系统: apt-get install -y 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 服务端教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞(0)
未经允许不得转载:翻墙党 » 一个优秀的跨平台 Socks5代理软件 —— Brook 服务端教程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址