goproxy部署方案

goproxy是两款同名的代理

Shell.Xu.版本

项目地址:https://github.com/shell909090/goproxy

服务端设置

先安装Go 1.5版本

wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz
tar xf go1.5.linux-amd64.tar.gz -C /usr/local

设置环境变量 其中GOROOT为安装go的目录,GOPATH为一般工程目录,操作步骤:把以下内容,追加到/etc/profile文件末尾:

export GOROOT=/usr/local/go
export GOPATH=/root/go_path
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

重启reboot以使生效

编译并安装:

mkdir go_path
go get github.com/shell909090/goproxy/goproxy
go build github.com/shell909090/goproxy/goproxy

生成一个key,服务器和客户端都用到这个

head -c 16 /dev/random | base64

设置服务端config

cd go_path/src/bin
vi config.json

输入,表示监听本机8888端口

{
    "mode": "server",
    "listen": ":8888",
    "logfile": "my.log",
    "loglevel": "WARNING",
    "adminiface": "127.0.0.1:5234",
    "cipher": "aes",
    "key": "[your key]",
    "passwd": {
        "username": "password"
    }
}

保存,执行

./goproxy -config ./config.json

或者使用screen后台运行

screen -dmS goproxy ./goproxy -config ./config.json

客户端设置

在vps上面进行交叉编译:
参考文章: 编译教程

32bit

GOOS=linux  GOARCH=386 go build -o /tmp/goproxy_linux_i386 github.com/shell909090/goproxy/goproxy
GOOS=darwin  GOARCH=386 go build -o /tmp/goproxy_darwin_i386 github.com/shell909090/goproxy/goproxy
GOOS=freebsd  GOARCH=386 go build -o /tmp/goproxy_freebsd_i386 github.com/shell909090/goproxy/goproxy
GOOS=windows  GOARCH=386 go build -o /tmp/goproxy_windows_i386.exe github.com/shell909090/goproxy/goproxy

64bit

GOOS=linux  GOARCH=amd64 go build -o /tmp/goproxy_linux_amd64 github.com/shell909090/goproxy/goproxy
GOOS=darwin  GOARCH=amd64 go build -o /tmp/goproxy_darwin_amd64 github.com/shell909090/goproxy/goproxy
GOOS=freebsd  GOARCH=amd64 go build -o /tmp/goproxy_freebsd_amd64 github.com/shell909090/goproxy/goproxy
GOOS=windows  GOARCH=amd64 go build -o /tmp/goproxy_windows_amd64.exe github.com/shell909090/goproxy/goproxy

ARM

GOOS=linux  GOARCH=arm go build -o /tmp/goproxy_arm github.com/shell909090/goproxy/goproxy
GOOS=linux  GOARCH=arm64 go build -o /tmp/goproxy_arm64 github.com/shell909090/goproxy/goproxy

配置文件config.json,表示监听本地8889端口

{
    "mode": "http",
    "listen": ":8889",
    "server": "SERVER_IP:82",
    "logfile": "",
    "loglevel": "WARNING",
    "adminiface": "127.0.0.1:5234"
    "dnsnet": "internal",
    "cipher": "aes",
    "key": "[your key]",
    // Windows client you should move route.list.gz to the dir of goproxy.exe
    // Add change to "./routes.list.gz"
    "blackfile": "/usr/share/goproxy/routes.list.gz",
    "username": "username",
    "password": "password"
}

phuslu版本

项目地址 https://github.com/phuslu/goproxy

友情提示:该项目已被移除。可以寻找fork仓库审阅代码。

服务端(openshift)

https://github.com/phuslu/fetchserver/tree/golang

点击大图标openshift即可部署

其中密码可以修改 index.go ,默认为123456

客户端

https://github.com/phuslu/goproxy/releases 下载一个版本
解压,修改 php.json:

"url": "https://xxxx-xxxx.rhcloud.com",
            "password": "123456",
            "sslverify": true
        

默认监听8000端口,可以在main.json修改

提示:客户端r169版本以下:需要新建chrome快捷方式(否则提示证书不安全),附加命令
--ignore-certificate-errors

运行goagent.exe,在浏览器使用http代理127.0.0.1:8000即可
提示:openshift不适宜长期使用,容易被封,容易被停机。

使用体验

Shell909090的版本把所有流量封装成一个tcp流,以此逃避GFW检测。
带来的效果是看视频很流畅,但是刷推特不流畅,毕竟连续的流量才比较快。
整个代理是建立在tcp协议上的。
总体上部署shell909090,有一定难度,不适合大多数人使用。

phuslu版本是经典的goagent升级版,其实很好用
确缺点是在vps上无法部署,老是被reset重置。
免费的app空间有诸多限制
作者phuslu貌似不再维护了,以免跨省追捕。(项目有1000+的关注量)