Этот коммит содержится в:
stevefoxru
2025-02-28 00:02:41 +03:00
коммит произвёл GitHub
родитель 4be3e302e1
Коммит ca32a604b3
+10 -54
Просмотреть файл
@@ -125,26 +125,6 @@ check_updates() {
fi fi
} }
remove_amneziawg() {
echo -e "\n${YELLOW}Внимание: Это действие удалит AmneziaWG и связанные данные. Продолжить? (y/n)${NC}"
read confirm
if [[ "$confirm" =~ ^[Yy]$ ]]; then
# Остановка службы, если она активна
systemctl is-active --quiet "$SERVICE_NAME" && run_with_spinner "Остановка службы" "sudo systemctl stop $SERVICE_NAME -qq"
# Удаление Docker контейнеров и образов, связанных с AmneziaWG (предполагается использование Docker)
run_with_spinner "Удаление Docker контейнеров AmneziaWG" "docker ps -a -q -f name=amneziawg | xargs -r docker rm -f"
run_with_spinner "Удаление Docker образов AmneziaWG" "docker images -q amneziawg/amneziawg | uniq | xargs -r docker rmi -f"
# Удаление конфигурационных файлов (предполагается, что они в директории awg/files)
run_with_spinner "Удаление конфигураций AmneziaWG" "rm -rf $(pwd)/awg/files"
echo -e "${GREEN}AmneziaWG успешно удален${NC}"
else
echo -e "${YELLOW}Удаление отменено${NC}"
fi
}
service_control_menu() { service_control_menu() {
while true; do while true; do
echo -e "\n${BLUE}=== Управление службой $SERVICE_NAME ===${NC}" echo -e "\n${BLUE}=== Управление службой $SERVICE_NAME ===${NC}"
@@ -153,8 +133,7 @@ service_control_menu() {
echo -e "${GREEN}2${NC}. Перезапустить службу" echo -e "${GREEN}2${NC}. Перезапустить службу"
echo -e "${GREEN}3${NC}. Переустановить службу" echo -e "${GREEN}3${NC}. Переустановить службу"
echo -e "${RED}4${NC}. Удалить службу" echo -e "${RED}4${NC}. Удалить службу"
echo -e "${GREEN}5${NC}. Удалить AmneziaWG" echo -e "${YELLOW}5${NC}. Назад"
echo -e "${YELLOW}6${NC}. Назад"
echo -ne "\n${BLUE}Выберите действие:${NC} " echo -ne "\n${BLUE}Выберите действие:${NC} "
read action read action
@@ -163,48 +142,25 @@ service_control_menu() {
2) run_with_spinner "Перезапуск службы" "sudo systemctl restart $SERVICE_NAME -qq" ;; 2) run_with_spinner "Перезапуск службы" "sudo systemctl restart $SERVICE_NAME -qq" ;;
3) create_service ;; 3) create_service ;;
4) run_with_spinner "Удаление службы" "sudo systemctl stop $SERVICE_NAME -qq && sudo systemctl disable $SERVICE_NAME -qq && sudo rm /etc/systemd/system/$SERVICE_NAME.service && sudo systemctl daemon-reload -qq" ;; 4) run_with_spinner "Удаление службы" "sudo systemctl stop $SERVICE_NAME -qq && sudo systemctl disable $SERVICE_NAME -qq && sudo rm /etc/systemd/system/$SERVICE_NAME.service && sudo systemctl daemon-reload -qq" ;;
5) remove_amneziawg ;; 5) return 0 ;;
6) return 0 ;;
*) echo -e "${RED}Некорректный ввод${NC}" ;; *) echo -e "${RED}Некорректный ввод${NC}" ;;
esac esac
done done
} }
reinstall_bot() {
echo -e "\n${YELLOW}Внимание: Переустановка бота удалит текущие настройки и данные. Продолжить? (y/n)${NC}"
read confirm
if [[ "$confirm" =~ ^[Yy]$ ]]; then
# Остановка и удаление службы, если она существует
systemctl is-active --quiet "$SERVICE_NAME" && run_with_spinner "Остановка службы" "sudo systemctl stop $SERVICE_NAME -qq"
systemctl list-units --type=service --all | grep -q "$SERVICE_NAME.service" && run_with_spinner "Удаление службы" "sudo systemctl disable $SERVICE_NAME -qq && sudo rm /etc/systemd/system/$SERVICE_NAME.service && sudo systemctl daemon-reload -qq"
# Удаление старых файлов бота
run_with_spinner "Удаление старых файлов" "rm -rf python_bot_amnezia"
# Запуск полной установки заново
install_bot
echo -e "${GREEN}Бот успешно переустановлен${NC}"
else
echo -e "${YELLOW}Переустановка отменена${NC}"
fi
}
installed_menu() { installed_menu() {
while true; do while true; do
echo -e "\n${BLUE}=== AWG Docker Telegram Bot ===${NC}" echo -e "\n${BLUE}=== AWG Telegram Bot ===${NC}"
echo -e "${GREEN}1${NC}. Проверить обновления" echo -e "${GREEN}1${NC}. Проверить обновления"
echo -e "${GREEN}2${NC}. Управление службой" echo -e "${GREEN}2${NC}. Управление службой"
echo -e "${GREEN}3${NC}. Переустановить бота" echo -e "${YELLOW}3${NC}. Выход"
echo -e "${YELLOW}4${NC}. Выход"
echo -ne "\n${BLUE}Выберите действие:${NC} " echo -ne "\n${BLUE}Выберите действие:${NC} "
read action read action
case $action in case $action in
1) check_updates ;; 1) check_updates ;;
2) service_control_menu ;; 2) service_control_menu ;;
3) reinstall_bot ;; 3) exit 0 ;;
4) exit 0 ;;
*) echo -e "${RED}Некорректный ввод${NC}" ;; *) echo -e "${RED}Некорректный ввод${NC}" ;;
esac esac
done done
@@ -263,14 +219,14 @@ install_and_configure_needrestart() {
} }
clone_repository() { clone_repository() {
if [[ -d "python_bot_amnezia" ]]; then if [[ -d "awg_bot" ]]; then
echo -e "\n${YELLOW}Репозиторий существует${NC}" echo -e "\n${YELLOW}Репозиторий существует${NC}"
cd python_bot_amnezia || { echo -e "\n${RED}Ошибка перехода в директорию${NC}"; exit 1; } cd awg_bot || { echo -e "\n${RED}Ошибка перехода в директорию${NC}"; exit 1; }
return 0 return 0
fi fi
run_with_spinner "Клонирование репозитория" "git clone https://github.com/IgnatTOP/python_bot_amnezia.git >/dev/null 2>&1" run_with_spinner "Клонирование репозитория" "git clone https://github.com/JB-SelfCompany/awg_bot.git >/dev/null 2>&1"
cd python_bot_amnezia || { echo -e "\n${RED}Ошибка перехода в директорию${NC}"; exit 1; } cd awg_bot || { echo -e "\n${RED}Ошибка перехода в директорию${NC}"; exit 1; }
} }
setup_venv() { setup_venv() {
@@ -308,7 +264,7 @@ initialize_bot() {
create_service() { create_service() {
cat > /tmp/service_file << EOF cat > /tmp/service_file << EOF
[Unit] [Unit]
Description=AmneziaVPN Docker Telegram Bot Description=AmneziaWG Telegram Bot
After=network.target After=network.target
[Service] [Service]