deploy shell update

This commit is contained in:
WJQSERVER 2024-10-25 18:00:31 +08:00
parent b1c8658a1c
commit f80782b803
4 changed files with 79 additions and 20 deletions

View file

@ -5,10 +5,10 @@ sizeLimit = 125 # MB
[pages] [pages]
enabled = true enabled = true
staticDir = "/root/data/ghproxy/pages" staticDir = "/usr/local/ghproxy/pages"
[log] [log]
logFilePath = "/root/data/ghproxy/log/ghproxy.log" logFilePath = "/usr/local/ghproxy/log/ghproxy.log"
maxLogSize = 5 # MB maxLogSize = 5 # MB
[cors] [cors]
@ -19,9 +19,9 @@ authToken = "token"
enabled = false enabled = false
[blacklist] [blacklist]
blacklistFile = "/root/data/ghproxy/config/blacklist.json" blacklistFile = "/usr/local/ghproxy/config/blacklist.json"
enabled = false enabled = false
[whitelist] [whitelist]
enabled = false enabled = false
whitelistFile = "/root/data/ghproxy/config/whitelist.json" whitelistFile = "/usr/local/ghproxy/config/whitelist.json"

View file

@ -3,8 +3,8 @@ Description=Github Proxy Service
After=network.target After=network.target
[Service] [Service]
ExecStart=/bin/bash -c '/root/data/ghproxy/ghproxy -cfg /root/data/ghproxy/config/config.toml > /root/data/ghproxy/log/run.log 2>&1' ExecStart=/bin/bash -c '/usr/local/ghproxy/ghproxy -cfg /usr/local/ghproxy/config/config.toml > /usr/local/ghproxy/log/run.log 2>&1'
WorkingDirectory=/root/data/ghproxy WorkingDirectory=/usr/local/ghproxy
Restart=always Restart=always
User=root User=root
Group=root Group=root

View file

@ -1,4 +1,7 @@
# /bin/bash # /bin/bash
# https://github.com/WJQSERVER-STUDIO/ghproxy
ghproxy_dir="/usr/local/ghproxy"
# install packages # install packages
install() { install() {
@ -27,6 +30,26 @@ install() {
return 0 return 0
} }
make_systemd_service() {
cat <<EOF > /etc/systemd/system/ghproxy.service
[Unit]
Description=Github Proxy Service
After=network.target
[Service]
ExecStart=/bin/bash -c '$ghproxy_dir/ghproxy -cfg $ghproxy_dir/config/config.toml > $ghproxy_dir/log/run.log 2>&1'
WorkingDirectory=$ghproxy_dir
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target
EOF
}
# 安装依赖包 # 安装依赖包
install curl wget sed install curl wget sed
@ -44,44 +67,66 @@ elif [ "$ARCH" == "aarch64" ]; then
ARCH="arm64" ARCH="arm64"
fi fi
# 获取监听端口
read -p "请输入程序监听的端口(默认8080): " PORT read -p "请输入程序监听的端口(默认8080): " PORT
if [ -z "$PORT" ]; then if [ -z "$PORT" ]; then
PORT=8080 PORT=8080
fi fi
# 本机监听/泛监听(127.0.0.1/0.0.0.0)
read -p "请键入程序监听的IP(默认127.0.0.1)(0.0.0.0为泛监听): " IP
if [ -z "$IP" ]; then
IP="127.0.0.1"
fi
# 安装目录
read -p "请输入安装目录(默认/usr/local/ghproxy): " ghproxy_dir
if [ -z "$ghproxy_dir" ]; then
ghproxy_dir="/usr/local/ghproxy"
fi
# 创建目录 # 创建目录
mkdir -p /root/data/ghproxy mkdir -p ${ghproxy_dir}
mkdir -p /root/data/ghproxy/config mkdir -p ${ghproxy_dir}/config
mkdir -p /root/data/ghproxy/log mkdir -p ${ghproxy_dir}/log
mkdir -p /root/data/ghproxy/pages mkdir -p ${ghproxy_dir}/pages
# 获取最新版本号 # 获取最新版本号
VERSION=$(curl -s https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/DEV-VERSION) VERSION=$(curl -s https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/DEV-VERSION)
wget -q -O /root/data/ghproxy/VERSION https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/DEV-VERSION wget -q -O ${ghproxy_dir}/VERSION https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/DEV-VERSION
# 下载ghproxy # 下载ghproxy
wget -q -O /root/data/ghproxy/ghproxy https://github.com/WJQSERVER-STUDIO/ghproxy/releases/download/$VERSION/ghproxy-linux-$ARCH wget -q -O ${ghproxy_dir}/ghproxy https://github.com/WJQSERVER-STUDIO/ghproxy/releases/download/$VERSION/ghproxy-linux-$ARCH
chmod +x /root/data/ghproxy/ghproxy chmod +x ${ghproxy_dir}/ghproxy
# 下载pages # 下载pages
wget -q -O /root/data/ghproxy/pages/index.html https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/pages/index.html wget -q -O ${ghproxy_dir}/pages/index.html https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/pages/index.html
wget -q -O /root/data/ghproxy/pages/favicon.ico https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/pages/favicon.ico wget -q -O ${ghproxy_dir}/pages/favicon.ico https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/pages/favicon.ico
# 下载配置文件 # 下载配置文件
if [ -f /root/data/ghproxy/config/config.toml ]; then if [ -f ${ghproxy_dir}/config/config.toml ]; then
echo "配置文件已存在, 跳过下载" echo "配置文件已存在, 跳过下载"
echo "[WARNING] 请检查配置文件是否正确DEV版本升级时请注意配置文件兼容性" echo "[WARNING] 请检查配置文件是否正确DEV版本升级时请注意配置文件兼容性"
sleep 2 sleep 2
else else
wget -q -O /root/data/ghproxy/config/config.toml https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/config.toml wget -q -O ${ghproxy_dir}/config/config.toml https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/config.toml
fi fi
# 替换 port = 8080 # 替换 port = 8080
sed -i "s/port = 8080/port = $PORT/g" /root/data/ghproxy/config/config.toml sed -i "s/port = 8080/port = $PORT/g" ${ghproxy_dir}/config/config.toml
sed -i 's/host = "127.0.0.1"/host = "'"$IP"'"/g' ${ghproxy_dir}/config/config.toml
sed -i "s|staticDir = \"/usr/local/ghproxy/pages\"|staticDir = \"${ghproxy_dir}/pages\"|g" ${ghproxy_dir}/config/config.toml
sed -i "s|logFilePath = \"/usr/local/ghproxy/log/ghproxy.log\"|logFilePath = \"${ghproxy_dir}/log/ghproxy.log\"|g" ${ghproxy_dir}/config/config.toml
sed -i "s|blacklistFile = \"/usr/local/ghproxy/config/blacklist.json\"|blacklistFile = \"${ghproxy_dir}/config/blacklist.json\"|g" ${ghproxy_dir}/config/config.toml
sed -i "s|whitelistFile = \"/usr/local/ghproxy/config/whitelist.json\"|whitelistFile = \"${ghproxy_dir}/config/whitelist.json\"|g" ${ghproxy_dir}/config/config.toml
# 下载systemd服务文件 # 下载systemd服务文件
wget -q -O /etc/systemd/system/ghproxy.service https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/ghproxy.service if [ "$ghproxy_dir" = "/usr/local/ghproxy" ]; then
wget -q -O /etc/systemd/system/ghproxy.service https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/main/deploy/ghproxy.service
else
make_systemd_service
fi
# 启动ghproxy # 启动ghproxy
systemctl daemon-reload systemctl daemon-reload

View file

@ -7,7 +7,21 @@ systemctl stop ghproxy
systemctl disable ghproxy systemctl disable ghproxy
rm /etc/systemd/system/ghproxy.service rm /etc/systemd/system/ghproxy.service
# 获取安装文件夹
read -p "请输入 ghproxy 安装文件夹路径(默认 /usr/local/ghproxy): " install_path
if [ -z "$install_path" ]; then
install_path="/usr/local/ghproxy"
fi
# 删除 ghproxy 文件夹 # 删除 ghproxy 文件夹
rm -r /root/data/ghproxy # 检查目录是否存在ghproxy文件
if [ -f "$install_path" ]; then
echo "ghproxy 未安装或安装路径错误"
exit 1
else
echo "ghproxy 安装目录已确认,正在卸载..."
rm -r $install_path
fi
echo "ghproxy 已成功卸载" echo "ghproxy 已成功卸载"