okaa

通过Gost快速搭建http/socks代理服务端

 Gost是一款简单易用的安全隧道工具,既能作为正反向代理使用、也可以用于端口转发用途,目前已迭代至Gost v3版本、虽尚未正式发布、但已可提前尝鲜。本文记录下通过Gost搭建http/socks协议代理的方式,比较其它的代理搭建脚本通用性更强、部署更简单,由于属于明文代理、不建议直接在大陆用于科学上网,其它网络环境另说。

 Gost项目地址:https://github.com/ginuerzh/gost
 Gost v3项目地址: https://github.com/go-gost/gost
 Gost官方文档:https://gost.run/

安装Gost

 1、在Linux服务器中下载解压Gost压缩包,本文基于Gost v2演示,根据需要修改版本;

##AMD架构
wget https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-amd64-2.11.5.gz
tar -zxvf gost-linux-amd64-2.11.5.gz
mv gost-linux-amd64/gost /usr/bin/gost
chmod +x /usr/bin/gost

##ARM架构
wget https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-armv7-2.11.5.gz
tar -zxvf gost-linux-armv7-2.11.5.gz
mv gost-linux-armv7/gost /usr/bin/gost
chmod +x /usr/bin/gost

##Gost v3安装脚本
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh)

 2、Gost支持通过命令行运行、也支持json配置文件运行,这里演示在命令行启动一条代理,http或socks代理根据需求选择;

## 无需认证(修改端口号即可)
gost -L http://:8080
gost -L socks://:1080

## 开启认证(其中的 “账号” “密码” “端口” 自行修改)
gost -L http://账号:密码@:端口
gost -L socks://账号:密码@:端口

## 开启socks的UDP中转功能
gost -L socks://账号:密码@:端口?udp=true

 3、命令行启动的方式在关闭SSH窗口时会导致代理失效,可以采用 nohup 挂载至后台运行;

##挂载启动、重启服务器失效,再次运行即可恢复
nohup gost -L socks://账号:密码@:端口?udp=true > /dev/null 2>&1 &
##关闭挂载的gost进程
kill -9 $(ps aux | grep "gost" | sed '/grep/d' | awk '{print $2}')

 4、nohub命令在服务器重启后会失效,也可以做成系统服务运行,命令行输入 nano /etc/systemd/system/gost.service ,写入以下内容并替换其中的代理参数;

[Unit]
Description=gost
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/usr/bin/
ExecStart=/usr/bin/gost -L socks://账号:密码@:端口?udp=true

[Install]
WantedBy=multi-user.target

 5、启动Gost并添加开机自启

systemctl start gost
systemctl enable gost
退出移动版