From 1ac9029a99a71f912a4846b13b809dcb5b3bc421 Mon Sep 17 00:00:00 2001 From: Snowy-Fluffy Date: Sat, 6 Sep 2025 23:12:20 +0300 Subject: [PATCH] fix some slop + mrg pr --- README.md | 2 ++ files/config.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ files/menu.sh | 16 ++++++++++++---- installer.sh | 2 +- 4 files changed, 63 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2f09398..aa3fab9 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ zapret - Alt Linux - Void Linux - Gentoo Linux +- Redos Linux +- Oracle Linux - OpenSUSE - Aipline Linux - OpenWrt diff --git a/files/config.sh b/files/config.sh index d302778..cc26230 100755 --- a/files/config.sh +++ b/files/config.sh @@ -197,6 +197,54 @@ configure_zapret_list() { main_menu } +configure_custom_conf_path() { + echo -e "\e[36mУкажите путь к стратегии. (Enter и пустой ввод для отмены)\e[0m" + read -rp "Путь к стратегии (Пример: /home/user/folder/123): " CONFIG_PATH + + if [[ -z "$CONFIG_PATH" ]]; then + main_menu + fi + + if [[ ! -f "$CONFIG_PATH" ]]; then + echo -e "\e[31mФайл не найден: $CONFIG_PATH\e[0m" + sleep 2 + main_menu + fi + + manage_service stop + rm -f /opt/zapret/config + cp -r -- "$CONFIG_PATH" /opt/zapret/config || error_exit "не удалось скопировать стратегию из указанного пути" + get_fwtype + sed -i "s/^FWTYPE=.*/FWTYPE=$FWTYPE/" /opt/zapret/config + echo -e "\e[32mСтратегия установлена из: $CONFIG_PATH\e[0m" + manage_service start + sleep 2 + main_menu +} + +configure_custom_list_path() { + echo -e "\e[36mУкажите путь к хостлисту. (Enter и пустой ввод для отмены)\e[0m" + read -rp "Путь к хостлисту: " LIST_PATH + + if [[ -z "$LIST_PATH" ]]; then + main_menu + fi + + if [[ ! -f "$LIST_PATH" ]]; then + echo -e "\e[31mФайл не найден: $LIST_PATH\e[0m" + sleep 2 + main_menu + fi + + manage_service stop + rm -f /opt/zapret/ipset/zapret-hosts-user.txt + cp -r -- "$LIST_PATH" /opt/zapret/ipset/zapret-hosts-user.txt || error_exit "не удалось скопировать хостлист из указанного пути" + echo -e "\e[32mХостлист установлен из: $LIST_PATH\e[0m" + manage_service start + sleep 2 + main_menu +} + add_to_zapret() { read -p "Введите IP-адреса или домены для добавления в лист (разделяйте пробелами, запятыми или |)(Enter и пустой ввод для отмены): " input diff --git a/files/menu.sh b/files/menu.sh index 4f90d5f..9dcbb47 100755 --- a/files/menu.sh +++ b/files/menu.sh @@ -141,7 +141,9 @@ change_configuration() { echo -e " \e[1;34m3)\e[0m ➕ Добавить IP или домены в лист" echo -e " \e[1;34m4)\e[0m ➖ Удалить IP или домены из листа" echo -e " \e[1;34m5)\e[0m 🔍 Найти IP или домены в листе" - echo -e " \e[1;31m6)\e[0m 🚪 Выйти в меню" + echo -e " \e[1;34m6)\e[0m 📥 Установить стратегию из файла (путь)" + echo -e " \e[1;34m7)\e[0m 📥 Установить хостлист из файла (путь)" + echo -e " \e[1;31m8)\e[0m 🚪 Выйти в меню" echo "" echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m" echo "" @@ -153,7 +155,9 @@ change_configuration() { 3) add_to_zapret ;; 4) delete_from_zapret ;; 5) search_in_zapret ;; - 6) main_menu ;; + 6) configure_custom_conf_path ;; + 7) configure_custom_list_path ;; + 8) main_menu ;; *) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;; esac done @@ -174,7 +178,9 @@ change_configuration() { echo -e " \e[1;34m3)\e[0m Добавить IP или домены в лист" echo -e " \e[1;34m4)\e[0m Удалить IP или домены из листа" echo -e " \e[1;34m5)\e[0m Найти IP или домены в листе" - echo -e " \e[1;31m6)\e[0m Выйти в меню" + echo -e " \e[1;34m6)\e[0m Установить стратегию из файла (путь)" + echo -e " \e[1;34m7)\e[0m Установить лист обхода из файла (путь)" + echo -e " \e[1;31m8)\e[0m Выйти в меню" echo "" echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m" echo "" @@ -186,7 +192,9 @@ change_configuration() { 3) add_to_zapret ;; 4) delete_from_zapret ;; 5) search_in_zapret ;; - 6) main_menu ;; + 6) configure_custom_conf_path ;; + 7) configure_custom_list_path ;; + 8) main_menu ;; *) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;; esac done diff --git a/installer.sh b/installer.sh index 0432c44..0d929a8 100755 --- a/installer.sh +++ b/installer.sh @@ -14,7 +14,7 @@ install_dependencies() { case "$1" in arch|artix|cachyos|endeavouros|manjaro|garuda) echo "$SUDO pacman -Syu --noconfirm && $SUDO pacman -S --noconfirm --needed git" ;; debian|ubuntu|mint) echo "$SUDO apt update -y && $SUDO apt install -y git" ;; - fedora|almalinux|rocky) echo "$SUDO dnf check-update -y && $SUDO dnf install -y git" ;; + fedora|almalinux|rocky|rhel|centos|oracle|redos) echo "if command -v dnf >/dev/null 2>&1; then $SUDO dnf check-update -y && $SUDO dnf install -y git; else $SUDO yum makecache -y && $SUDO yum install -y git; fi" ;; void) echo "$SUDO xbps-install -S && $SUDO xbps-install -y git" ;; gentoo) echo "$SUDO emerge --sync --quiet && $SUDO emerge --ask=n dev-vcs/git app-shells/bash" ;; opensuse) echo "$SUDO zypper refresh && $SUDO zypper install git" ;;