From 4310eb1f152ca51ea7de392e4b606bbfe712cb3a Mon Sep 17 00:00:00 2001 From: Snowy-Fluffy <167016619+Snowy-Fluffy@users.noreply.github.com> Date: Fri, 27 Dec 2024 17:06:20 +0300 Subject: [PATCH] Update installer.sh Updated OpenWRT support --- installer.sh | 71 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/installer.sh b/installer.sh index 86e0993..adf6710 100644 --- a/installer.sh +++ b/installer.sh @@ -1,57 +1,88 @@ #!/bin/bash +if [ "$EUID" -eq 0 ]; then + SUDO="" +else + SUDO="sudo" +fi + if command -v pacman &> /dev/null; then PKG_MANAGER="pacman" - INSTALL_CMD="sudo pacman -S --noconfirm" + INSTALL_CMD="$SUDO pacman -S --noconfirm" elif command -v apt &> /dev/null; then PKG_MANAGER="apt" - INSTALL_CMD="sudo apt-get install -y" + INSTALL_CMD="$SUDO apt-get install -y" elif command -v dnf &> /dev/null; then PKG_MANAGER="dnf" - INSTALL_CMD="sudo dnf install -y" + INSTALL_CMD="$SUDO dnf install -y" elif command -v zypper &> /dev/null; then PKG_MANAGER="zypper" - INSTALL_CMD="sudo zypper install -y" + INSTALL_CMD="$SUDO zypper install -y" elif command -v opkg &> /dev/null; then PKG_MANAGER="opkg" - INSTALL_CMD="sudo opkg install" + INSTALL_CMD="$SUDO opkg install" elif command -v apk &> /dev/null; then PKG_MANAGER="apk" - INSTALL_CMD="sudo apk add" + INSTALL_CMD="$SUDO apk add" else echo "Не удалось определить пакетный менеджер. Убедитесь, что ваш дистрибутив поддерживается." exit 1 fi -$INSTALL_CMD git libnetfilter_queue + +read -p "Вы хотите видеть логи установки? (y/n): " show_logs +if [ "$show_logs" == "y" ]; then + LOG_CMD="cat" +else + LOG_CMD="grep --line-buffered \"^\"" +fi + +$INSTALL_CMD git libnetfilter_queue | $LOG_CMD + +echo "Выберите режим установки:" +echo "1) Автоматическая установка" +echo "2) Ручная установка (выбор параметров самостоятельно)" +read -p "Введите номер выбора (1 или 2): " install_mode echo "Выберите вариант установки:" echo "1) Установить чистый zapret" echo "2) Установить zapret с конфигами" read -p "Введите номер выбора (1 или 2): " choice -sudo git clone https://github.com/bol-van/zapret /opt/zapret +if [ -d /opt/zapret ]; then + $SUDO mv /opt/zapret /opt/zapret.old +fi + +$SUDO git clone https://github.com/bol-van/zapret /opt/zapret | $LOG_CMD cd /opt/zapret || exit 1 -sudo sh ./install_bin.sh -sudo sh ./install_prereq.sh -sudo sh ./install_easy.sh +$SUDO chmod -R 777 /opt/zapret + +if [ "$install_mode" -eq 1 ]; then + yes "" | $SUDO sh ./install_bin.sh | $LOG_CMD + yes "" | $SUDO sh ./install_prereq.sh | $LOG_CMD + yes "" | $SUDO sh ./install_easy.sh | $LOG_CMD +else + $SUDO sh ./install_bin.sh + $SUDO sh ./install_prereq.sh + $SUDO sh ./install_easy.sh +fi if [ "$choice" -eq 2 ]; then cd /tmp || exit 1 - git clone https://github.com/Snowy-Fluffy/zapret.cfgs.git + git clone https://github.com/Snowy-Fluffy/zapret.cfgs.git | $LOG_CMD cd zapret.cfgs || exit 1 - sudo cp -r config /opt/zapret/config - sudo cp -r zapret-hosts-user.txt /opt/zapret/ipset/zapret-hosts-user.txt - sudo cp -r zapret-hosts-auto.txt /opt/zapret/ipset/zapret-hosts-auto.txt - sudo cp -r ipset-discord.txt /opt/zapret/ipset/ipset-discord.txt - sudo cp -r quic_initial_www_google_com.bin /opt/zapret/files/fake/quic_initial_www_google_com.bin - sudo cp -r tls_clienthello_www_google_com.bin /opt/zapret/files/fake/tls_clienthello_www_google_com.bin + $SUDO cp -r config /opt/zapret/config + $SUDO cp -r zapret-hosts-user.txt /opt/zapret/ipset/zapret-hosts-user.txt + $SUDO cp -r zapret-hosts-auto.txt /opt/zapret/ipset/zapret-hosts-auto.txt + $SUDO cp -r ipset-discord.txt /opt/zapret/ipset/ipset-discord.txt + $SUDO cp -r quic_initial_www_google_com.bin /opt/zapret/files/fake/quic_initial_www_google_com.bin + $SUDO cp -r tls_clienthello_www_google_com.bin /opt/zapret/files/fake/tls_clienthello_www_google_com.bin fi if command -v systemctl &> /dev/null; then - sudo systemctl restart zapret + $SUDO systemctl restart zapret elif [ "$PKG_MANAGER" == "opkg" ]; then - echo "Перезапустите zapret вручную: /etc/init.d/zapret restart" + $SUDO /etc/init.d/zapret restart else echo "Не удалось автоматически перезапустить zapret. Проверьте службу вручную." fi