Files
s-hy2/scripts/service.sh
T
sindricn 88bb23115a 修复
2025-09-25 23:29:03 +08:00

162 lines
4.2 KiB
Bash

#!/bin/bash
# Hysteria2 服务管理脚本 - 简化版本
# 定义颜色变量
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# 启动服务
start_service() {
echo -e "${BLUE}启动 Hysteria2 服务...${NC}"
if systemctl start hysteria-server.service; then
echo -e "${GREEN}服务启动成功${NC}"
else
echo -e "${RED}服务启动失败${NC}"
fi
}
# 停止服务
stop_service() {
echo -e "${BLUE}停止 Hysteria2 服务...${NC}"
if systemctl stop hysteria-server.service; then
echo -e "${GREEN}服务停止成功${NC}"
else
echo -e "${RED}服务停止失败${NC}"
fi
}
# 重启服务
restart_service() {
echo -e "${BLUE}重启 Hysteria2 服务...${NC}"
if systemctl restart hysteria-server.service; then
echo -e "${GREEN}服务重启成功${NC}"
else
echo -e "${RED}服务重启失败${NC}"
fi
}
# 启用服务
enable_service() {
echo -e "${BLUE}启用 Hysteria2 服务 (开机自启)...${NC}"
if systemctl enable hysteria-server.service; then
echo -e "${GREEN}服务已设置为开机自启${NC}"
else
echo -e "${RED}服务启用失败${NC}"
fi
}
# 禁用服务
disable_service() {
echo -e "${BLUE}禁用 Hysteria2 服务 (取消开机自启)...${NC}"
if systemctl disable hysteria-server.service; then
echo -e "${GREEN}服务已取消开机自启${NC}"
else
echo -e "${RED}服务禁用失败${NC}"
fi
}
# 查看服务状态
check_service_status() {
echo -e "${CYAN}=== 服务状态 ===${NC}"
if systemctl is-active --quiet hysteria-server.service; then
echo -e "${GREEN}✅ 服务状态: 运行中${NC}"
else
echo -e "${RED}❌ 服务状态: 已停止${NC}"
fi
if systemctl is-enabled --quiet hysteria-server.service; then
echo -e "${GREEN}✅ 开机自启: 已启用${NC}"
else
echo -e "${YELLOW}⚠️ 开机自启: 已禁用${NC}"
fi
echo ""
echo -e "${BLUE}服务详细状态:${NC}"
systemctl status hysteria-server.service --no-pager -l
}
# 主服务管理函数
manage_hysteria_service() {
while true; do
clear
echo -e "${CYAN}=== Hysteria2 服务管理 ===${NC}"
echo ""
# 显示当前服务状态
if systemctl is-active --quiet hysteria-server.service; then
echo -e "${GREEN}✅ 服务状态: 运行中${NC}"
else
echo -e "${RED}❌ 服务状态: 已停止${NC}"
fi
if systemctl is-enabled --quiet hysteria-server.service; then
echo -e "${GREEN}✅ 开机自启: 已启用${NC}"
else
echo -e "${YELLOW}⚠️ 开机自启: 已禁用${NC}"
fi
echo ""
echo -e "${YELLOW}服务操作:${NC}"
echo -e "${GREEN}1.${NC} 启动服务"
echo -e "${GREEN}2.${NC} 停止服务"
echo -e "${GREEN}3.${NC} 重启服务"
echo -e "${GREEN}4.${NC} 启用开机自启"
echo -e "${GREEN}5.${NC} 禁用开机自启"
echo -e "${GREEN}6.${NC} 查看详细状态"
echo -e "${RED}0.${NC} 返回主菜单"
echo ""
echo -n -e "${BLUE}请选择操作 [0-6]: ${NC}"
read -r choice
case $choice in
1)
start_service
echo ""
;;
2)
stop_service
echo ""
;;
3)
restart_service
echo ""
;;
4)
enable_service
echo ""
;;
5)
disable_service
echo ""
;;
6)
check_service_status
echo ""
;;
0)
break
;;
*)
echo -e "${RED}无效选项${NC}"
sleep 1
;;
esac
if [[ $choice -ne 0 ]]; then
echo ""
echo -e "${YELLOW}按回车键继续...${NC}"
read -r
fi
done
}