From ac34a9a3926181d931c3bb6768c91c4728874ab0 Mon Sep 17 00:00:00 2001 From: Snowy_Fluffy Date: Thu, 20 Mar 2025 03:53:56 +0300 Subject: [PATCH] script update + added middle script --- installer.sh | 117 ++-------------------------------------------- zapret-control.sh | 114 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 113 deletions(-) create mode 100644 zapret-control.sh diff --git a/installer.sh b/installer.sh index 5eb6ae3..a4323e9 100644 --- a/installer.sh +++ b/installer.sh @@ -1,114 +1,5 @@ #!/bin/bash - -set -e - -if [[ $EUID -ne 0 ]]; then - exec sudo "$0" "$@" -fi - - -check_zapret_status() { - systemctl is-active --quiet zapret && ZAPRET_ACTIVE=true || ZAPRET_ACTIVE=false - systemctl is-enabled --quiet zapret && ZAPRET_ENABLED=true || ZAPRET_ENABLED=false -} - - -main_menu() { - while true; do - clear - check_zapret_status - echo "===== Меню управления Запретом =====" - if [[ $ZAPRET_ACTIVE == true ]]; then echo "!Запрет запущен!"; fi - if [[ $ZAPRET_ACTIVE == false ]]; then echo "!Запрет выключен!"; fi - if [[ -d /opt/zapret ]]; then - echo "1) Проверить на обновления" - echo "2) Сменить конфигурацию" - echo "3) Перезапустить Запрет" - echo "4) Посмотреть статус Запрета" - if [[ $ZAPRET_ENABLED == false ]]; then echo "5) Добавить в автозагрузку"; fi - if [[ $ZAPRET_ACTIVE == false ]]; then echo "6) Включить Запрет"; fi - if [[ $ZAPRET_ENABLED == true ]]; then echo "7) Убрать из автозагрузки"; fi - if [[ $ZAPRET_ACTIVE == true ]]; then echo "8) Выключить Запрет"; fi - echo "9) Удалить Запрет" - echo "10) Выйти" - read -p "Выберите действие: " CHOICE - case "$CHOICE" in - 1) update_zapret;; - 2) configure_zapret;; - 3) systemctl restart zapret;; - 4) systemctl status zapret; read -p "Нажмите Enter для продолжения...";; - 5) systemctl enable zapret;; - 6) systemctl start zapret;; - 7) systemctl disable zapret;; - 8) systemctl stop zapret;; - 9) uninstall_zapret;; - 10) exit 0;; - *) echo "Неверный ввод!"; sleep 2;; - esac - else - echo "1) Установить Запрет" - echo "2) Выйти" - read -p "Выберите действие: " CHOICE - case "$CHOICE" in - 1) install_zapret; main_menu;; - 2) exit 0;; - *) echo "Неверный ввод!"; sleep 2;; - esac - fi - done -} - - -install_zapret() { - git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs || true - cp -r /opt/zapret/zapret.cfgs/binaries/binaries /opt/zapret/binaries/ - # Бинарники скомпилированные чтобы избежать лишних проблем у новичков, если боишься что с ними что то не так, сотри эту строчку и запусти скрипт еще раз, зависимости для компиляции устанавливаются - git clone https://github.com/bol-van/zapret /opt/zapret - cd /opt/zapret - yes "" | ./install_easy.sh - configure_zapret -} - - -update_zapret() { - if [[ -d /opt/zapret ]]; then - cd /opt/zapret && git pull - fi - if [[ -d /opt/zapret/zapret.cfgs ]]; then - cd /opt/zapret/zapret.cfgs && git pull - fi - systemctl restart zapret -} - -# Настройка конфигурации -configure_zapret() { - cp /opt/zapret/zapret.cfgs/lists/* /opt/zapret/ipset/ - cp /opt/zapret/zapret.cfgs/binaries/* /opt/zapret/files/fake/ - - echo "Выберите конфигурацию:" - select CONF in /opt/zapret/zapret.cfgs/configurations/*; do - rm -f /opt/zapret/config - cp "$CONF" /opt/zapret/config - break - done - - # Проверка firewall - if grep -q "nftables" /proc/modules; then - sed -i '11s/.*/FWTYPE=nftables/' /opt/zapret/config - fi - - systemctl restart zapret -} - - -uninstall_zapret() { - if [[ -f /opt/zapret/uninstall_easy.sh ]]; then - cd /opt/zapret - yes "" | ./uninstall_easy.sh - fi - rm -rf /opt/zapret -} - -# Запуск главного меню -main_menu - +cd /tmp +git clone https://github.com/Snowy-Fluffy/zapret.installer.git +cd zapret.installer +bash zapret-control.sh diff --git a/zapret-control.sh b/zapret-control.sh new file mode 100644 index 0000000..5eb6ae3 --- /dev/null +++ b/zapret-control.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +set -e + +if [[ $EUID -ne 0 ]]; then + exec sudo "$0" "$@" +fi + + +check_zapret_status() { + systemctl is-active --quiet zapret && ZAPRET_ACTIVE=true || ZAPRET_ACTIVE=false + systemctl is-enabled --quiet zapret && ZAPRET_ENABLED=true || ZAPRET_ENABLED=false +} + + +main_menu() { + while true; do + clear + check_zapret_status + echo "===== Меню управления Запретом =====" + if [[ $ZAPRET_ACTIVE == true ]]; then echo "!Запрет запущен!"; fi + if [[ $ZAPRET_ACTIVE == false ]]; then echo "!Запрет выключен!"; fi + if [[ -d /opt/zapret ]]; then + echo "1) Проверить на обновления" + echo "2) Сменить конфигурацию" + echo "3) Перезапустить Запрет" + echo "4) Посмотреть статус Запрета" + if [[ $ZAPRET_ENABLED == false ]]; then echo "5) Добавить в автозагрузку"; fi + if [[ $ZAPRET_ACTIVE == false ]]; then echo "6) Включить Запрет"; fi + if [[ $ZAPRET_ENABLED == true ]]; then echo "7) Убрать из автозагрузки"; fi + if [[ $ZAPRET_ACTIVE == true ]]; then echo "8) Выключить Запрет"; fi + echo "9) Удалить Запрет" + echo "10) Выйти" + read -p "Выберите действие: " CHOICE + case "$CHOICE" in + 1) update_zapret;; + 2) configure_zapret;; + 3) systemctl restart zapret;; + 4) systemctl status zapret; read -p "Нажмите Enter для продолжения...";; + 5) systemctl enable zapret;; + 6) systemctl start zapret;; + 7) systemctl disable zapret;; + 8) systemctl stop zapret;; + 9) uninstall_zapret;; + 10) exit 0;; + *) echo "Неверный ввод!"; sleep 2;; + esac + else + echo "1) Установить Запрет" + echo "2) Выйти" + read -p "Выберите действие: " CHOICE + case "$CHOICE" in + 1) install_zapret; main_menu;; + 2) exit 0;; + *) echo "Неверный ввод!"; sleep 2;; + esac + fi + done +} + + +install_zapret() { + git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs || true + cp -r /opt/zapret/zapret.cfgs/binaries/binaries /opt/zapret/binaries/ + # Бинарники скомпилированные чтобы избежать лишних проблем у новичков, если боишься что с ними что то не так, сотри эту строчку и запусти скрипт еще раз, зависимости для компиляции устанавливаются + git clone https://github.com/bol-van/zapret /opt/zapret + cd /opt/zapret + yes "" | ./install_easy.sh + configure_zapret +} + + +update_zapret() { + if [[ -d /opt/zapret ]]; then + cd /opt/zapret && git pull + fi + if [[ -d /opt/zapret/zapret.cfgs ]]; then + cd /opt/zapret/zapret.cfgs && git pull + fi + systemctl restart zapret +} + +# Настройка конфигурации +configure_zapret() { + cp /opt/zapret/zapret.cfgs/lists/* /opt/zapret/ipset/ + cp /opt/zapret/zapret.cfgs/binaries/* /opt/zapret/files/fake/ + + echo "Выберите конфигурацию:" + select CONF in /opt/zapret/zapret.cfgs/configurations/*; do + rm -f /opt/zapret/config + cp "$CONF" /opt/zapret/config + break + done + + # Проверка firewall + if grep -q "nftables" /proc/modules; then + sed -i '11s/.*/FWTYPE=nftables/' /opt/zapret/config + fi + + systemctl restart zapret +} + + +uninstall_zapret() { + if [[ -f /opt/zapret/uninstall_easy.sh ]]; then + cd /opt/zapret + yes "" | ./uninstall_easy.sh + fi + rm -rf /opt/zapret +} + +# Запуск главного меню +main_menu +