gost安装脚本

安装gost

配置https

签发证书

合并证书

配置证书

gost安装脚本

gost项目站点 :​​https://v2.gost.run/​

#!/usr/bin/env bash

# !!!声明:该脚本仅适用于Centos7安装gost

# 定义gost版本
GOST_VERSION=2.11.2

# 暴露的端口
GOST_PORT=10808

# ifCMD函数,判断上一条命令(不等于0)没执行成就停止,成功就继续运行
function ifcmd() {
if [ $? -ne 0 ]; then
exit
fi
}

# 判断wget是否存在,如果不存在就安装wget
which wget || yum install wget -y

ifcmd

# 如果下载出错,就使用镜像站下载
if [ $? -ne 0 ]; then
# 下载二进制包
wget -cO /usr/local/src/gost-linux-amd64-$GOST_VERSION.gz https://github.com/ginuerzh/gost/releases/download/v$GOST_VERSION/gost-linux-amd64-$GOST_VERSION.gz --no-check-certificate

else
# 从镜像站下载
wget -cO /usr/local/src/gost-linux-amd64-$GOST_VERSION.gz https://ghproxy.com/https://github.com/ginuerzh/gost/releases/download/v$GOST_VERSION/gost-linux-amd64-$GOST_VERSION.gz --no-check-certificate
fi

# 如果二进制包没下载下来,退出
ifcmd

# 解压gost.gz
cd /usr/local/src/ || exit

# 如果gzip不支持-k参数就不执行-k参数了
gzip -dk gost-linux-amd64-$GOST_VERSION.gz || gzip -d gost-linux-amd64-$GOST_VERSION.gz

# 将源文件修改为gost,赋予gost可执行程序,
mv gost-linux-amd64-$GOST_VERSION gost && chmod +x gost

# 进入目录成功就返回原目录,进入目录失败就创建/usr/local/gost目录
(cd /usr/local/gost && cd -) || mkdir -p /usr/local/gost

# 将gost可执行文件移动到/usr/local/gost/
mv gost /usr/local/gost

# 进入/etc/gost,失败就创建目录再进入目录
cd /etc/gost || (mkdir -p /etc/gost && cd /etc/gost || exit)

# 将配置文件写入gost.json文件
echo '{
"Debug": false,
"Retries": 3,
"ServeNodes": [
"qiaofei:qiaofei123@:10808"
],
"ChainNodes": [
"socks5://:1080"
]
}' >/etc/gost/gost.json

# 创建gost.service文件
echo "
[Unit]
Description=gost service
After=network.target
Wants=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/gost/gost -C /etc/gost/gost.json
ExecReload=/bin/kill -HUP
KillMode=control-group
RestartSec=10s
Restart=always

[Install]
WantedBy=multi-user.target
" >/usr/lib/systemd/system/gost.service

# 重载systemctl 设置gost服务开机自启
systemctl daemon-reload && systemctl enable --now gost