使用Goflyway救活被墙机器

经过这几天墙的洗礼,目前我手上有3台机器被ban了,2台套路云1台AWS,这几天想扶个墙还真滴是难啊,我竟然潦倒到要去Linode临时开台小鸡搭个ss然后翻出来。。。

2台套路云是我平时的主力机,得想办法操作一下,前两天刚续费,好歹得把这个月用完吧,一开始我就想到了用V2Ray套CF,但是说实话我急着用,V2Ray配置起来太麻烦了,后来就想到了Goflyway,这个配置起来特别简单方便,正好水一篇文章,也算是记录一下吧。

因作者的预编译版本貌似不是最新的,所以这里决定自己编译一下。另外因为我几台机器的系统都不一样,所以这里我把我常用的CentOS/Debian编译和安装方法都写一下。。

开始之前,你需要准备一个域名,并且将域名接入到CloudFlare,然后在CloudFlare内添加一条解析记录,注意打开云朵的标志:




CentOS7:
yum -y install supervisor wget git

Debian9:
apt -y install supervisor wget git

下载Go:
wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz

tar -xzvf go1.12.5.linux-amd64.tar.gz -C /usr/bin

CentOS7导入环境变量:
echo "export PATH=$PATH:/usr/bin/go/bin" >> ~/.bash_profile

source ~/.bash_profile

Debian9导入环境变量:
echo "export PATH=$PATH:/usr/bin/go/bin" >> ~/.profile

source ~/.profile

Goflyway的服务端和客户端都是一个文件,所以这里我使用交叉编译,同时把Linux和Windows的二进制文件编译出来:
mkdir goflywaybuild && export GOPATH=$PWD/goflywaybuild

go get github.com/mitchellh/gox

go get -u -d github.com/coyove/goflyway/cmd/goflyway

cd $GOPATH/bin


./gox -os "windows linux" -arch amd64 $GOPATH/src/github.com/coyove/goflyway/cmd/goflyway

编译完成之后你将可以看到两个平台的二进制文件:

Linux平台的就直接改名并复制到/usr/bin:


cp goflyway_linux_amd64 /usr/bin/goflyway

Windows平台的就用SFTP下载到本地:

如果只需要编译Linux平台的:
mkdir goflyway && export GOPATH=$PWD/goflyway

go get -u github.com/coyove/goflyway/cmd/goflyway

cp goflyway/bin/goflyway /usr/bin

rm -rf goflyway && rm -rf go1.12.5.linux-amd64.tar.gz


接下来新建Supervisor的配置文件,将程序放到后台运行并进行守护:
CentOS7新建配置文件的路径:
nano /etc/supervisord.d/goflyway.ini

Debian9新建配置文件的路径:
nano /etc/supervisor/conf.d/goflyway.conf

配置文件内容通用:
[supervisord] nodaemon=false


 [program:goflyway]

 priority=1

directory=/usr/bin

command=/usr/bin/goflyway -l=":8080" -k="wangnian"

注意:
1.使用Goflyway套CF,服务端监听的端口只能是CF支持的,具体支持的端口号可以看CF的介绍:
https://support.cloudflare.com/hc/en-us/articles/200169156-Which-ports-will-Cloudflare-work-with
2.-k后面是你的密码,务必设置一个复杂的。
最后启动Supervisor即可完成服务端的部署。
CentOS7:
systemctl restart supervisord

systemctl enable supervisord

Debian9:

systemctl restart supervisor

systemctl enable supervisor

接着我们来配置客户端,因为Goflyway程序没有GUI,要想使用的话得一直开着CMD或者PowerShell,这样太不方便,所以这里我们可以借助WinSw,将Goflyway创建为服务放在后台运行并实现开机自启。

WinSw下载地址:https://github.com/kohsuke/winsw/releases

XP系统下.Net2版本,其他系统下.Net4的即可:

现在你应该将之前编译的Windows平台下的Goflyway二进制文件以及WinSw放在同一个目录下,并且新建一个和WinSw同名的.xml文件:

打开xml文件,在文件内写入如下配置:

注:

1.12315是本地监听的HTTP/Socks5端口

2.-up=”cf://nginx.xxx.com:8080″,其中8080端口一定要和之前服务端上配置的端口一致。

现在打开PowerShell,进入到WinSw所在的目录,执行如下图所示的命令即可将Goflyway安装为服务:

客户端的配置到这里就全部完成了。

以Chrome为例,安装SwitchyOmege插件,添加Socks5代理:

我这边打开油管简单测试了一下速度,除了域名解析的时候可能会慢一丢丢,实际看视频的话,带宽是可以跑满的:

1
0