Update status.sh

This commit is contained in:
jwstaceyOvO 2022-02-15 18:47:44 +08:00 committed by GitHub
parent 260b7b3a21
commit fcb4b3cdfe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

328
status.sh

@ -4,7 +4,7 @@ export PATH
#=================================================
# System Required: CentOS/Debian/Ubuntu/ArchLinux
# Description: ServerStatus client + server
# Description: $NAME client + server
# Version: Test v0.4.1
# Author: Toyo, Modified by APTX
#=================================================
@ -19,114 +19,97 @@ file="/usr/local/ServerStatus"
web_file="/usr/local/ServerStatus/web"
server_file="/usr/local/ServerStatus/server"
server_conf="/usr/local/ServerStatus/server/config.json"
server_conf_1="/usr/local/ServerStatus/server/config.conf"
client_file="/usr/local/ServerStatus/clients"
client_log_file="/tmp/serverstatus_client.log"
server_log_file="/tmp/serverstatus_server.log"
jq_file="${file}/jq"
[[ ! -e ${jq_file} ]] && jq_file="/usr/bin/jq"
github_prefix="https://raw.githubusercontent.com/jwstaceyOvO/ServerStatus/master"
coding_prefix="https://cokemine.coding.net/p/hotarunet/d/ServerStatus-Hotaru/git/raw/master"
link_prefix=${github_prefix}
NAME="ServerStatus"
Green_font_prefix="\033[32m" && Red_font_prefix="\033[31m" && Red_background_prefix="\033[41;37m" && Font_color_suffix="\033[0m"
Info="${Green_font_prefix}[信息]${Font_color_suffix}"
Error="${Red_font_prefix}[错误]${Font_color_suffix}"
Tip="${Green_font_prefix}[注意]${Font_color_suffix}"
check_installed_server_status() {
[[ ! -e "${server_file}/sergate" ]] && echo -e "${Error} ServerStatus 服务端没有安装,请检查 !" && exit 1
[[ ! -e "${server_file}/sergate" ]] && echo -e "${Error} $NAME 服务端没有安装,请检查 !" && exit 1
}
check_installed_client_status() {
[[ ! -e "${client_file}/client-linux.py" ]] && echo -e "${Error} ServerStatus 客户端没有安装,请检查 !" && exit 1
}
check_pid_server() {
#PID=$(ps -ef | grep "sergate" | grep -v grep | grep -v ".sh" | grep -v "init.d" | grep -v "service" | awk '{print $2}')
PID=$(pgrep -f "sergate")
}
check_pid_client() {
#PID=$(ps -ef | grep "client-linux.py" | grep -v grep | grep -v ".sh" | grep -v "init.d" | grep -v "service" | awk '{print $2}')
PID=$(pgrep -f "client-linux.py")
[[ ! -e "${client_file}/client-linux.py" ]] && echo -e "${Error} $NAME 客户端没有安装,请检查 !" && exit 1
}
Download_Server_Status_server() {
git clone https://github.com/cppla/ServerStatus.git "${file}"
git clone https://github.com/cppla/ServerStatus.git "${file}" && make
}
Download_Server_Status_client() {
git clone https://github.com/cppla/ServerStatus.git "${file}"
mkdir -p "${client_file}"
wget -N --no-check-certificate "${github_prefix}/clients/client-linux.py" -P "${client_file}"
}
Download_Server_Status_Service() {
mode=$1
[[ -z ${mode} ]] && mode="server"
local service_note="服务端"
[[ ${mode} == "client" ]] && service_note="客户端"
wget --no-check-certificate "${link_prefix}/service/status-${mode}.service" -O "/usr/lib/systemd/system/status-${mode}.service" ||
wget --no-check-certificate "${github_prefix}/service/status-${mode}.service" -O "/usr/lib/systemd/system/status-${mode}.service" ||
{
echo -e "${Error} ServerStatus ${service_note}服务管理脚本下载失败 !"
echo -e "${Error} $NAME ${service_note}服务管理脚本下载失败 !"
exit 1
}
echo -e "${Info} ServerStatus ${service_note}服务管理脚本下载完成 !"
echo -e "${Info} $NAME ${service_note}服务管理脚本下载完成 !"
}
Service_Server_Status_server() {
Download_Server_Status_Service "server"
}
Service_Server_Status_client() {
Download_Server_Status_Service "client"
}
Write_server_config() {
cat >${server_conf} <<-EOF
{"servers":
[
{
"username": "username01",
"password": "password",
"name": "Server 01",
"type": "KVM",
"host": "",
"location": "Hong Kong",
"disabled": false,
"region": "HK"
}
]
}
EOF
}
Write_server_config_conf() {
cat >${server_conf_1} <<-EOF
PORT = ${server_port_s}
[
{
"username": "s01",
"name": "vps-1",
"type": "kvm",
"host": "chengdu",
"location": "🇨🇳",
"password": "USER_DEFAULT_PASSWORD",
"monthstart": 1
},
]
}
EOF
}
Read_config_client() {
client_text="$(sed 's/\"//g;s/,//g;s/ //g' "${client_file}/client-linux.py") "
client_server="$(echo -e "${client_text}" | grep "SERVER =" | awk -F "=" '{print $2}')"
client_port="$(echo -e "${client_text}" | grep "PORT =" | awk -F "=" '{print $2}')"
client_user="$(echo -e "${client_text}" | grep "USER =" | awk -F "=" '{print $2}')"
client_password="$(echo -e "${client_text}" | grep "PASSWORD =" | awk -F "=" '{print $2}')"
client_server="$(echo -e "${client_text}" | grep "SERVER=" | awk -F "=" '{print $2;exit}')"
client_port="$(echo -e "${client_text}" | grep "PORT=" | awk -F "=" '{print $2;exit}')"
client_user="$(echo -e "${client_text}" | grep "USER=" | awk -F "=" '{print $2;exit}')"
client_password="$(echo -e "${client_text}" | grep "PASSWORD=" | awk -F "=" '{print $2;exit}')"
}
Read_config_server() {
if [[ ! -e "${server_conf_1}" ]]; then
server_port_s="35601"
Write_server_config_conf
server_port="35601"
else
server_port="$(grep "PORT = " ${server_conf_1} | awk '{print $3}')"
fi
}
Set_server() {
mode=$1
[[ -z ${mode} ]] && mode="server"
if [[ ${mode} == "server" ]]; then
echo -e "请输入 ServerStatus 服务端中网站要设置的 域名[server]
echo -e "请输入 $NAME 服务端中网站要设置的 域名[server]
默认为本机IP为域名例如输入: toyoo.pw 如果要使用本机IP请留空直接回车"
read -erp "(默认: 本机IP):" server_s
[[ -z "$server_s" ]] && server_s=""
else
echo -e "请输入 ServerStatus 服务端的 IP/域名[server]请注意如果你的域名使用了CDN请直接填写IP"
echo -e "请输入 $NAME 服务端的 IP/域名[server]请注意如果你的域名使用了CDN请直接填写IP"
read -erp "(默认: 127.0.0.1):" server_s
[[ -z "$server_s" ]] && server_s="127.0.0.1"
fi
@ -138,7 +121,7 @@ Set_server() {
Set_server_http_port() {
while true; do
echo -e "请输入 ServerStatus 服务端中网站要设置的 域名/IP的端口[1-65535](如果是域名的话,一般用 80 端口)"
echo -e "请输入 $NAME 服务端中网站要设置的 域名/IP的端口[1-65535](如果是域名的话,一般用 80 端口)"
read -erp "(默认: 8888):" server_http_port_s
[[ -z "$server_http_port_s" ]] && server_http_port_s="8888"
if [[ "$server_http_port_s" =~ ^[0-9]*$ ]]; then
@ -158,7 +141,7 @@ Set_server_http_port() {
Set_server_port() {
while true; do
echo -e "请输入 ServerStatus 服务端监听的端口[1-65535](用于服务端接收客户端消息的端口,客户端要填写这个端口)"
echo -e "请输入 $NAME 服务端监听的端口[1-65535](用于服务端接收客户端消息的端口,客户端要填写这个端口)"
read -erp "(默认: 35601):" server_port_s
[[ -z "$server_port_s" ]] && server_port_s="35601"
if [[ "$server_port_s" =~ ^[0-9]*$ ]]; then
@ -180,9 +163,9 @@ Set_username() {
mode=$1
[[ -z ${mode} ]] && mode="server"
if [[ ${mode} == "server" ]]; then
echo -e "请输入 ServerStatus 服务端要设置的用户名[username](字母/数字,不可与其他账号重复)"
echo -e "请输入 $NAME 服务端要设置的用户名[username](字母/数字,不可与其他账号重复)"
else
echo -e "请输入 ServerStatus 服务端中对应配置的用户名[username](字母/数字,不可与其他账号重复)"
echo -e "请输入 $NAME 服务端中对应配置的用户名[username](字母/数字,不可与其他账号重复)"
fi
read -erp "(默认: 取消):" username_s
[[ -z "$username_s" ]] && echo "已取消..." && exit 0
@ -195,9 +178,9 @@ Set_password() {
mode=$1
[[ -z ${mode} ]] && mode="server"
if [[ ${mode} == "server" ]]; then
echo -e "请输入 ServerStatus 服务端要设置的密码[password](字母/数字,可重复)"
echo -e "请输入 $NAME 服务端要设置的密码[password](字母/数字,可重复)"
else
echo -e "请输入 ServerStatus 服务端中对应配置的密码[password](字母/数字)"
echo -e "请输入 $NAME 服务端中对应配置的密码[password](字母/数字)"
fi
read -erp "(默认: doub.io):" password_s
[[ -z "$password_s" ]] && password_s="doub.io"
@ -207,7 +190,7 @@ Set_password() {
}
Set_name() {
echo -e "请输入 ServerStatus 服务端要设置的节点名称[name]支持中文前提是你的系统和SSH工具支持中文输入仅仅是个名字"
echo -e "请输入 $NAME 服务端要设置的节点名称[name]支持中文前提是你的系统和SSH工具支持中文输入仅仅是个名字"
read -erp "(默认: Server 01):" name_s
[[ -z "$name_s" ]] && name_s="Server 01"
echo && echo " ================================================"
@ -216,7 +199,7 @@ Set_name() {
}
Set_type() {
echo -e "请输入 ServerStatus 服务端要设置的节点虚拟化类型[type](例如 OpenVZ / KVM"
echo -e "请输入 $NAME 服务端要设置的节点虚拟化类型[type](例如 OpenVZ / KVM"
read -erp "(默认: KVM):" type_s
[[ -z "$type_s" ]] && type_s="KVM"
echo && echo " ================================================"
@ -225,7 +208,7 @@ Set_type() {
}
Set_location() {
echo -e "请输入 ServerStatus 服务端要设置的节点位置[location]支持中文前提是你的系统和SSH工具支持中文输入"
echo -e "请输入 $NAME 服务端要设置的节点位置[location]支持中文前提是你的系统和SSH工具支持中文输入"
read -erp "(默认: Hong Kong):" location_s
[[ -z "$location_s" ]] && location_s="Hong Kong"
echo && echo " ================================================"
@ -233,18 +216,6 @@ Set_location() {
echo " ================================================" && echo
}
Set_region() {
echo -e "请输入 ServerStatus 服务端要设置的节点地区[region](用于国家/地区的旗帜图标显示)"
read -erp "(默认: HK):" region_s
[[ -z "$region_s" ]] && region_s="HK"
while ! check_region; do
read -erp "你输入的节点地区不合法,请重新输入:" region_s
done
echo && echo " ================================================"
echo -e " 节点地区[region]: ${Red_background_prefix} ${region_s} ${Font_color_suffix}"
echo " ================================================" && echo
}
Set_config_server() {
Set_username "server"
Set_password "server"
@ -301,7 +272,6 @@ Set_ServerStatus_server() {
elif [[ ${server_num} == "10" ]]; then
Read_config_server
Set_server_port
Write_server_config_conf
else
echo -e "${Error} 请输入正确的数字[1-10]" && exit 1
fi
@ -321,7 +291,6 @@ List_ServerStatus_server() {
now_text_name=$(echo -e "${now_text}" | grep "name" | grep -v "username" | awk -F ": " '{print $2}')
now_text_type=$(echo -e "${now_text}" | grep "type" | awk -F ": " '{print $2}')
now_text_location=$(echo -e "${now_text}" | grep "location" | awk -F ": " '{print $2}')
now_text_region=$(echo -e "${now_text}" | grep "region" | awk -F ": " '{print $2}')
now_text_disabled=$(echo -e "${now_text}" | grep "disabled" | awk -F ": " '{print $2}')
if [[ ${now_text_disabled} == "false" ]]; then
now_text_disabled_status="${Green_font_prefix}启用${Font_color_suffix}"
@ -524,10 +493,10 @@ Set_ServerStatus_client() {
}
Modify_config_client() {
sed -i 's/SERVER = "'"${client_server}"'"/SERVER = "'"${server_s}"'"/' "${client_file}/client-linux.py"
sed -i "s/PORT = ${client_port}/PORT = ${server_port_s}/" "${client_file}/client-linux.py"
sed -i 's/USER = "'"${client_user}"'"/USER = "'"${username_s}"'"/' "${client_file}/client-linux.py"
sed -i 's/PASSWORD = "'"${client_password}"'"/PASSWORD = "'"${password_s}"'"/' "${client_file}/client-linux.py"
sed -i '0,/SERVER = "'"${client_server}"'"/s//SERVER = "'"${server_s}"'"/' "${client_file}/client-linux.py"
sed -i '0,/PORT = ${client_port}/s//PORT = ${server_port_s}/' "${client_file}/client-linux.py"
sed -i '0,/USER = "'"${client_user}"'"/s//USER = "'"${username_s}"'"/' "${client_file}/client-linux.py"
sed -i '0,/PASSWORD = "'"${client_password}"'"/s//PASSWORD = "'"${password_s}"'"/' "${client_file}/client-linux.py"
}
Install_caddy() {
@ -570,11 +539,9 @@ EOF
}
Install_ServerStatus_server() {
Set_Mirror
[[ -e "${server_file}/sergate" ]] && echo -e "${Error} 检测到 ServerStatus 服务端已安装 !" && exit 1
[[ -e "${server_file}/sergate" ]] && echo -e "${Error} 检测到 $NAME 服务端已安装 !" && exit 1
Set_server_port
echo -e "${Info} 开始安装/配置 依赖..."
Installation_dependency "server"
Install_caddy
echo -e "${Info} 开始下载/安装..."
Download_Server_Status_server
@ -583,14 +550,12 @@ Install_ServerStatus_server() {
Service_Server_Status_server
echo -e "${Info} 开始写入 配置文件..."
Write_server_config
Write_server_config_conf
echo -e "${Info} 所有步骤 安装完毕,开始启动..."
Start_ServerStatus_server
}
Install_ServerStatus_client() {
Set_Mirror
[[ -e "${client_file}/client-linux.py" ]] && echo -e "${Error} 检测到 ServerStatus 客户端已安装 !" && exit 1
[[ -e "${client_file}/client-linux.py" ]] && echo -e "${Error} 检测到 $NAME 客户端已安装 !" && exit 1
echo -e "${Info} 开始设置 用户配置..."
Set_config_client
echo -e "${Info} 开始下载/安装..."
@ -605,16 +570,7 @@ Install_ServerStatus_client() {
}
Update_ServerStatus_server() {
Set_Mirror
check_installed_server_status
check_pid_server
if [[ -n ${PID} ]]; then
if [[ ${release} == "archlinux" ]]; then
systemctl stop status-server
else
/etc/init.d/status-server stop
fi
fi
Download_Server_Status_server
rm -rf /etc/init.d/status-server
Service_Server_Status_server
@ -622,87 +578,50 @@ Update_ServerStatus_server() {
}
Update_ServerStatus_client() {
Set_Mirror
check_installed_client_status
check_pid_client
if [[ -n ${PID} ]]; then
if [[ ${release} == "archlinux" ]]; then
systemctl stop status-client
else
/etc/init.d/status-client stop
fi
fi
if [[ ! -e "${client_file}/client-linux.py" ]]; then
if [[ ! -e "${file}/client-linux.py" ]]; then
echo -e "${Error} ServerStatus 客户端文件不存在 !" && exit 1
else
client_text="$(sed 's/\"//g;s/,//g;s/ //g' "${file}/client-linux.py")"
rm -rf "${file}/client-linux.py"
fi
else
client_text="$(sed 's/\"//g;s/,//g;s/ //g' "${client_file}/client-linux.py")"
fi
server_s="$(echo -e "${client_text}" | grep "SERVER=" | awk -F "=" '{print $2}')"
server_port_s="$(echo -e "${client_text}" | grep "PORT=" | awk -F "=" '{print $2}')"
username_s="$(echo -e "${client_text}" | grep "USER=" | awk -F "=" '{print $2}')"
password_s="$(echo -e "${client_text}" | grep "PASSWORD=" | awk -F "=" '{print $2}')"
grep -q "NET_IN, NET_OUT = get_traffic_vnstat()" "${client_file}/client-linux.py" && client_vnstat_s="true" || client_vnstat_s="false"
service status-client stop
client_text="$(sed 's/\"//g;s/,//g;s/ //g' "${client_file}/client-linux.py") "
server_s="$(echo -e "${client_text}" | grep "SERVER=" | awk -F "=" '{print $2;exit}')"
server_port_s="$(echo -e "${client_text}" | grep "PORT=" | awk -F "=" '{print $2;exit}')"
username_s="$(echo -e "${client_text}" | grep "USER=" | awk -F "=" '{print $2;exit}')"
password_s="$(echo -e "${client_text}" | grep "PASSWORD=" | awk -F "=" '{print $2;exit}')"
Download_Server_Status_client
Read_config_client
Modify_config_client
rm -rf /etc/init.d/status-client
rm -rf /usr/lib/systemd/system/status-client.service
Service_Server_Status_client
Start_ServerStatus_client
}
Start_ServerStatus_server() {
check_installed_server_status
check_pid_server
[[ -n ${PID} ]] && echo -e "${Error} ServerStatus 正在运行,请检查 !" && exit 1
if [[ ${release} == "archlinux" ]]; then
systemctl start status-server.service
else
/etc/init.d/status-server start
fi
systemctl -q is-active status-server && echo -e "${Error} $NAME 正在运行,请检查 !" && exit 1
service status-server start
}
Stop_ServerStatus_server() {
check_installed_server_status
check_pid_server
[[ -z ${PID} ]] && echo -e "${Error} ServerStatus 没有运行,请检查 !" && exit 1
if [[ ${release} == "archlinux" ]]; then
systemctl stop status-server.service
else
/etc/init.d/status-server stop
fi
if (systemctl -q is-active status-server)
then
service status-server stop
else
echo -e "${Error} $NAME 没有运行,请检查 !" && exit 1
fi
}
Restart_ServerStatus_server() {
check_installed_server_status
check_pid_server
if [[ -n ${PID} ]]; then
if [[ ${release} == "archlinux" ]]; then
systemctl stop status-server.service
else
/etc/init.d/status-server stop
fi
fi
if [[ ${release} == "archlinux" ]]; then
systemctl start status-server.service
else
/etc/init.d/status-server start
fi
systemctl -q is-active status-client && service status-server stop
}
Uninstall_ServerStatus_server() {
check_installed_server_status
echo "确定要卸载 ServerStatus 服务端(如果同时安装了客户端,则只会删除服务端) ? [y/N]"
echo "确定要卸载 $NAME 服务端(如果同时安装了客户端,则只会删除服务端) ? [y/N]"
echo
read -erp "(默认: n):" unyn
[[ -z ${unyn} ]] && unyn="n"
if [[ ${unyn} == [Yy] ]]; then
check_pid_server
[[ -n $PID ]] && kill -9 "${PID}"
service status-server stop
Read_config_server
if [[ -e "${client_file}/client-linux.py" ]]; then
rm -rf "${server_file}"
@ -710,7 +629,6 @@ Uninstall_ServerStatus_server() {
else
rm -rf "${file}"
fi
rm -rf "/etc/init.d/status-server"
if [[ -e "/usr/bin/caddy" ]]; then
systemctl stop caddy
systemctl disable caddy
@ -718,15 +636,8 @@ Uninstall_ServerStatus_server() {
[[ ${release} == "centos" ]] && yum -y remove caddy
[[ ${release} == "archlinux" ]] && pacman -R caddy --noconfirm
fi
if [[ ${release} == "centos" ]]; then
chkconfig --del status-server
elif [[ ${release} == "debian" ]]; then
update-rc.d -f status-server remove
elif [[ ${release} == "archlinux" ]]; then
systemctl stop status-server
systemctl disable status-server
rm /usr/lib/systemd/system/status-server.service
fi
systemctl daemon-reload
echo && echo "ServerStatus 卸载完成 !" && echo
else
echo && echo "卸载已取消..." && echo
@ -734,54 +645,66 @@ Uninstall_ServerStatus_server() {
}
Start_ServerStatus_client() {
NAME="ServerStatus Client"
check_installed_client_status
check_pid_client
[[ -n ${PID} ]] && echo -e "${Error} ServerStatus 正在运行,请检查 !" && exit 1
systemctl enable status-client
service status-client start
if (systemctl -q is-active status-client)
then
echo -e "${Error} $NAME 正在运行,请检查 !" && exit 1
fi
systemctl daemon-reload
systemctl enable status-client
service status-client start
if (systemctl -q is-active status-client)
then
echo -e "${Info} $NAME 启动成功 !"
else
echo -e "${Error} $NAME 启动失败 !"
fi
}
Stop_ServerStatus_client() {
check_installed_client_status
check_pid_client
[[ -z ${PID} ]] && echo -e "${Error} ServerStatus 没有运行,请检查 !" && exit 1
service status-client stop
if (systemctl -q is-active status-client)
then service status-client stop
if (systemctl -q is-active status-client)
then
echo -e "${Error}} $NAME 停止失败 !"
else
echo -e "${Info} $NAME 停止成功 !"
fi
else
echo -e "${Error} $NAME 没有运行,请检查 !" && exit 1
fi
}
Restart_ServerStatus_client() {
check_installed_client_status
check_pid_client
if [[ -n ${PID} ]]; then
service status-client restart
fi
service status-client restart
if (systemctl -q is-active status-client)
then
echo -e "${Info} $NAME 重启成功 !"
else
echo -e "${Error} $NAME 重启失败 !" && exit 1
fi
}
Uninstall_ServerStatus_client() {
check_installed_client_status
echo "确定要卸载 ServerStatus 客户端(如果同时安装了服务端,则只会删除客户端) ? [y/N]"
echo "确定要卸载 $NAME 客户端(如果同时安装了服务端,则只会删除客户端) ? [y/N]"
echo
read -erp "(默认: n):" unyn
[[ -z ${unyn} ]] && unyn="n"
if [[ ${unyn} == [Yy] ]]; then
check_pid_client
[[ -n $PID ]] && kill -9 "${PID}"
service status-client stop
Read_config_client
if [[ -e "${server_file}/sergate" ]]; then
rm -rf "${client_file}"
else
rm -rf "${file}"
fi
rm -rf /etc/init.d/status-client
if [[ ${release} == "centos" ]]; then
chkconfig --del status-client
elif [[ ${release} == "debian" ]]; then
update-rc.d -f status-client remove
elif [[ ${release} == "archlinux" ]]; then
systemctl stop status-client
systemctl disable status-client
rm -rf "${client_file}"
rm /usr/lib/systemd/system/status-client.service
fi
systemctl daemon-reload
echo && echo "ServerStatus 卸载完成 !" && echo
else
echo && echo "卸载已取消..." && echo
@ -792,7 +715,7 @@ View_ServerStatus_client() {
check_installed_client_status
Read_config_client
clear && echo "————————————————————" && echo
echo -e " ServerStatus 客户端配置信息:
echo -e " $NAME 客户端配置信息:
IP \t: ${Green_font_prefix}${client_server}${Font_color_suffix}
端口 \t: ${Green_font_prefix}${client_port}${Font_color_suffix}
@ -812,26 +735,22 @@ View_server_Log() {
tail -f ${server_log_file}
}
Update_Shell() {
Set_Mirror
sh_new_ver=$(wget --no-check-certificate -qO- -t1 -T3 "${link_prefix}/status.sh" | grep 'sh_ver="' | awk -F "=" '{print $NF}' | sed 's/\"//g' | head -1)
sh_new_ver=$(wget --no-check-certificate -qO- -t1 -T3 "${github_prefix}/status.sh" | grep 'sh_ver="' | awk -F "=" '{print $NF}' | sed 's/\"//g' | head -1)
[[ -z ${sh_new_ver} ]] && echo -e "${Error} 无法链接到 Github !" && exit 0
if [[ -e "/etc/init.d/status-client" ]] || [[ -e "/usr/lib/systemd/system/status-client.service" ]]; then
rm -rf /etc/init.d/status-client
if [[ -e "/usr/lib/systemd/system/status-client.service" ]]; then
rm -rf /usr/lib/systemd/system/status-client.service
Service_Server_Status_client
fi
if [[ -e "/etc/init.d/status-server" ]] || [[ -e "/usr/lib/systemd/system/status-server.service" ]]; then
rm -rf /etc/init.d/status-server
if [[ -e "/usr/lib/systemd/system/status-server.service" ]]; then
rm -rf /usr/lib/systemd/system/status-server.service
Service_Server_Status_server
fi
wget -N --no-check-certificate "${link_prefix}/status.sh" && chmod +x status.sh
wget -N --no-check-certificate "${github_prefix}/status.sh"
echo -e "脚本已更新为最新版本[ ${sh_new_ver} ] !(注意:因为更新方式为直接覆盖当前运行的脚本,所以可能下面会提示一些报错,无视即可)" && exit 0
}
menu_client() {
echo && echo -e " ServerStatus 一键安装管理脚本 ${Red_font_prefix}[v${sh_ver}]${Font_color_suffix}
-- Toyo | doub.io/shell-jc3 --
-- Modified by APTX --
echo && echo -e " $NAME 一键安装管理脚本 ${Red_font_prefix}[v${sh_ver}]${Font_color_suffix}
${Green_font_prefix} 0.${Font_color_suffix} 升级脚本
————————————
${Green_font_prefix} 1.${Font_color_suffix} 安装 客户端
@ -848,23 +767,13 @@ menu_client() {
————————————
${Green_font_prefix}10.${Font_color_suffix} 切换为 服务端菜单" && echo
if [[ -e "${client_file}/client-linux.py" ]]; then
check_pid_client
if [[ -n "${PID}" ]]; then
if (systemctl -q is-active status-client); then
echo -e " 当前状态: 客户端 ${Green_font_prefix}已安装${Font_color_suffix}${Green_font_prefix}已启动${Font_color_suffix}"
else
echo -e " 当前状态: 客户端 ${Green_font_prefix}已安装${Font_color_suffix}${Red_font_prefix}未启动${Font_color_suffix}"
fi
else
if [[ -e "${file}/client-linux.py" ]]; then
check_pid_client
if [[ -n "${PID}" ]]; then
echo -e " 当前状态: 客户端 ${Green_font_prefix}已安装${Font_color_suffix}${Green_font_prefix}已启动${Font_color_suffix}"
else
echo -e " 当前状态: 客户端 ${Green_font_prefix}已安装${Font_color_suffix}${Red_font_prefix}未启动${Font_color_suffix}"
fi
else
echo -e " 当前状态: 客户端 ${Red_font_prefix}未安装${Font_color_suffix}"
fi
fi
echo
read -erp " 请输入数字 [0-10]:" num
@ -908,7 +817,7 @@ menu_client() {
esac
}
menu_server() {
echo && echo -e " ServerStatus 一键安装管理脚本 ${Red_font_prefix}[v${sh_ver}]${Font_color_suffix}
echo && echo -e " $NAME 一键安装管理脚本 ${Red_font_prefix}[v${sh_ver}]${Font_color_suffix}
-- Toyo | doub.io/shell-jc3 --
-- Modified by APTX --
${Green_font_prefix} 0.${Font_color_suffix} 升级脚本
@ -927,8 +836,7 @@ menu_server() {
————————————
${Green_font_prefix}10.${Font_color_suffix} 切换为 客户端菜单" && echo
if [[ -e "${server_file}/sergate" ]]; then
check_pid_server
if [[ -n "${PID}" ]]; then
if (systemctl -q is-active status-server) then
echo -e " 当前状态: 服务端 ${Green_font_prefix}已安装${Font_color_suffix}${Green_font_prefix}已启动${Font_color_suffix}"
else
echo -e " 当前状态: 服务端 ${Green_font_prefix}已安装${Font_color_suffix}${Red_font_prefix}未启动${Font_color_suffix}"
@ -978,14 +886,6 @@ menu_server() {
esac
}
Set_Mirror() {
echo -e "${Info} 请输入要选择的下载源默认使用GitHub中国大陆建议选择Coding.net但是不建议将服务端部署在中国大陆主机上
${Green_font_prefix} 1.${Font_color_suffix} GitHub
${Green_font_prefix} 2.${Font_color_suffix} Coding.net (部分资源通过 FastGit 提供服务下载, Thanks to FastGit.org for the service)"
read -erp "请输入数字 [1-2], 默认为 1:" mirror_num
[[ -z "${mirror_num}" ]] && mirror_num=1
[[ ${mirror_num} == 2 ]] && link_prefix=${coding_prefix} || link_prefix=${github_prefix}
}
action=$1
if [[ -n $action ]]; then
if [[ $action == "s" ]]; then