bug fix + low end system fix

This commit is contained in:
Snowy-Fluffy
2025-07-14 15:40:29 +03:00
parent 068f1bd126
commit 62f19aac26
4 changed files with 263 additions and 125 deletions

View File

@@ -30,9 +30,12 @@ zapret
- Alt Linux
- Void Linux
- Gentoo Linux
- OpenWrt
- OpenSUSE
- Aipline Linux
- OpenWrt
> [!IMPORTANT]
> На Openwrt также советую попробовать (zapret-openwrt)[https://github.com/remittor/zapret-openwrt]
> [!IMPORTANT]
> Системы инициализации *runit*, *OpenRC* и *SysVinit* поддерживаются только частично.

View File

@@ -65,28 +65,47 @@ install_zapret() {
;;
esac
fi
echo "Клонирую репозиторий..."
sleep 2
git clone https://github.com/bol-van/zapret /opt/zapret
echo "Клонирую репозиторий..."
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
echo "Клонирование успешно завершено."
rm -rf /opt/zapret/binaries
echo -e "\e[45mКлонирую релиз запрета...\e[0m"
if [[ ! -d /opt/zapret.installer/zapret.binaries/ ]]; then
rm -rf /opt/zapret.installer/zapret.binaries/
if [ SYSTEM = openwrt ]; then
echo "Получаю релиз запрета..."
sleep 2
mkdir -p /tmp/zapret_download
cd /tmp/zapret_download || error_exit "Не удалось перейти в /tmp/zapret_download"
if ! curl -L -o https://github.com/bol-van/zapret/releases/download/v71.1.1/zapret-v71.1.1.tar.gz; then
rm -rf /tmp/zapret_download
error_exit "Не удалось получить релиз запрета."
fi
mkdir -p /opt/zapret
if ! tar -xzf zapret-v71.1.1.tar.gz -C /opt/zapret --strip-components=1; then
rm -rf /tmp/zapret_download /opt/zapret
error_exit "Не удалось разархивировать архив с релизом запрета."
fi
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
rm -rf /tmp/zapret_download
else
echo "Клонирую репозиторий..."
sleep 2
git clone https://github.com/bol-van/zapret /opt/zapret
echo "Клонирую репозиторий..."
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
echo "Клонирование успешно завершено."
rm -rf /opt/zapret/binaries
echo -e "\e[45mКлонирую релиз запрета...\e[0m"
if [[ ! -d /opt/zapret.installer/zapret.binaries/ ]]; then
rm -rf /opt/zapret.installer/zapret.binaries/
fi
mkdir -p /opt/zapret.installer/zapret.binaries/zapret
if ! curl -L -o /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz https://github.com/bol-van/zapret/releases/download/v71.1.1/zapret-v71.1.1.tar.gz; then
rm -rf /opt/zapret /tmp/zapret
error_exit "не удалось получить релиз запрета."
fi
echo "Получение запрета завершено."
if ! tar -xzf /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz -C /opt/zapret.installer/zapret.binaries/zapret/; then
rm -rf /opt/zapret.installer/
error_exit "не удалось разархивировать архив с релизом запрета."
fi
cp -r /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1/binaries/ /opt/zapret/binaries
fi
mkdir -p /opt/zapret.installer/zapret.binaries/zapret
if ! curl -L -o /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz https://github.com/bol-van/zapret/releases/download/v71.1.1/zapret-v71.1.1.tar.gz; then
rm -rf /opt/zapret /tmp/zapret
error_exit "не удалось получить релиз запрета."
fi
echo "Получение запрета завершено."
if ! tar -xzf /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1.tar.gz -C /opt/zapret.installer/zapret.binaries/zapret/; then
rm -rf /opt/zapret.installer/
error_exit "не удалось разархивировать архив с релизом запрета."
fi
cp -r /opt/zapret.installer/zapret.binaries/zapret/zapret-v71.1.1/binaries/ /opt/zapret/binaries
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./install_easy.sh

View File

@@ -2,119 +2,235 @@
main_menu() {
while true; do
clear
check_zapret_status
check_zapret_exist
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
echo -e "║ ⚙️ Меню управления Запретом ║"
echo -e "╚════════════════════════════════════════════╝\e[0m"
if [[ SYSTEM != openwrt ]]; then
while true; do
clear
check_zapret_status
check_zapret_exist
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
echo -e "║ ⚙️ Меню управления Запретом ║"
echo -e "╚════════════════════════════════════════════╝\e[0m"
if [[ $ZAPRET_ACTIVE == true ]]; then
echo -e " \e[1;32m✔ Запрет запущен\e[0m"
else
echo -e " \e[1;31m❌ Запрет выключен\e[0m"
fi
if [[ $ZAPRET_ACTIVE == true ]]; then
echo -e " \e[1;32m✔ Запрет запущен\e[0m"
else
echo -e " \e[1;31m❌ Запрет выключен\e[0m"
fi
if [[ $ZAPRET_ENABLED == true ]]; then
echo -e " \e[1;32m🔁 Запрет в автозагрузке\e[0m"
else
echo -e " \e[1;33m⏹ Запрет не в автозагрузке\e[0m"
fi
if [[ $ZAPRET_ENABLED == true ]]; then
echo -e " \e[1;32m🔁 Запрет в автозагрузке\e[0m"
else
echo -e " \e[1;33m⏹ Запрет не в автозагрузке\e[0m"
fi
echo ""
echo ""
if [[ $ZAPRET_EXIST == true ]]; then
echo -e " \e[1;33m1)\e[0m 🔄 Проверить на обновления и обновить"
echo -e " \e[1;36m2)\e[0m ⚙️ Сменить конфигурацию запрета"
echo -e " \e[1;35m3)\e[0m 🛠️ Управление сервисом запрета"
echo -e " \e[1;31m4)\e[0m 🗑️ Удалить Запрет"
echo -e " \e[1;34m5)\e[0m 🚪 Выйти"
else
echo -e " \e[1;32m1)\e[0m 📥 Установить Запрет"
echo -e " \e[1;36m2)\e[0m 📜 Проверить скрипт на обновления"
echo -e " \e[1;34m3)\e[0m 🚪 Выйти"
fi
if [[ $ZAPRET_EXIST == true ]]; then
echo -e " \e[1;33m1)\e[0m 🔄 Проверить на обновления и обновить"
echo -e " \e[1;36m2)\e[0m ⚙️ Сменить конфигурацию запрета"
echo -e " \e[1;35m3)\e[0m 🛠️ Управление сервисом запрета"
echo -e " \e[1;31m4)\e[0m 🗑️ Удалить Запрет"
echo -e " \e[1;34m5)\e[0m 🚪 Выйти"
else
echo -e " \e[1;32m1)\e[0m 📥 Установить Запрет"
echo -e " \e[1;36m2)\e[0m 📜 Проверить скрипт на обновления"
echo -e " \e[1;34m3)\e[0m 🚪 Выйти"
fi
echo ""
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
echo ""
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
if [[ $ZAPRET_EXIST == true ]]; then
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) update_zapret_menu;;
2) change_configuration;;
3) toggle_service;;
4) uninstall_zapret;;
5) $TPUT_E; exit 0;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
else
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) install_zapret; main_menu;;
2) update_script;;
3) tput rmcup; exit 0;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
fi
done
if [[ $ZAPRET_EXIST == true ]]; then
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) update_zapret_menu;;
2) change_configuration;;
3) toggle_service;;
4) uninstall_zapret;;
5) $TPUT_E; exit 0;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
else
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) install_zapret; main_menu;;
2) update_script;;
3) tput rmcup; exit 0;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
fi
done
else
while true; do
clear
check_zapret_status
check_zapret_exist
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
echo -e "║ Меню управления Запретом ║"
echo -e "╚════════════════════════════════════════════╝\e[0m"
if [[ $ZAPRET_ACTIVE == true ]]; then
echo -e " \e[1;32m Запрет запущен\e[0m"
else
echo -e " \e[1;31m Запрет выключен\e[0m"
fi
if [[ $ZAPRET_ENABLED == true ]]; then
echo -e " \e[1;32m Запрет в автозагрузке\e[0m"
else
echo -e " \e[1;33m Запрет не в автозагрузке\e[0m"
fi
echo ""
if [[ $ZAPRET_EXIST == true ]]; then
echo -e " \e[1;33m1)\e[0m Проверить на обновления и обновить"
echo -e " \e[1;36m2)\e[0m Сменить конфигурацию запрета"
echo -e " \e[1;35m3)\e[0m Управление сервисом запрета"
echo -e " \e[1;31m4)\e[0m Удалить Запрет"
echo -e " \e[1;34m5)\e[0m Выйти"
else
echo -e " \e[1;32m1)\e[0m Установить Запрет"
echo -e " \e[1;36m2)\e[0m Проверить скрипт на обновления"
echo -e " \e[1;34m3)\e[0m Выйти"
fi
echo ""
echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
if [[ $ZAPRET_EXIST == true ]]; then
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) update_zapret_menu;;
2) change_configuration;;
3) toggle_service;;
4) uninstall_zapret;;
5) $TPUT_E; exit 0;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
else
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) install_zapret; main_menu;;
2) update_script;;
3) tput rmcup; exit 0;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
fi
done
fi
}
change_configuration() {
while true; do
clear
cur_conf
cur_list
if [[ SYSTEM != openwrt ]]; then
while true; do
clear
cur_conf
cur_list
echo -e "\e[1;36m╔══════════════════════════════════════════════╗"
echo -e "║ ⚙️ Управление конфигурацией Запрета ║"
echo -e "╚══════════════════════════════════════════════╝\e[0m"
echo -e " \e[1;33m📌 Используемая стратегия:\e[0m \e[1;32m$cr_cnf\e[0m"
echo -e " \e[1;33m📜 Используемый хостлист:\e[0m \e[1;32m$cr_lst\e[0m"
echo ""
echo -e " \e[1;34m1)\e[0m 🔁 Сменить стратегию"
echo -e " \e[1;34m2)\e[0m 📄 Сменить лист обхода"
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 ""
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
echo -e "\e[1;36m╔══════════════════════════════════════════════╗"
echo -e "║ ⚙️ Управление конфигурацией Запрета ║"
echo -e "╚══════════════════════════════════════════════╝\e[0m"
echo -e " \e[1;33m📌 Используемая стратегия:\e[0m \e[1;32m$cr_cnf\e[0m"
echo -e " \e[1;33m📜 Используемый хостлист:\e[0m \e[1;32m$cr_lst\e[0m"
echo ""
echo -e " \e[1;34m1)\e[0m 🔁 Сменить стратегию"
echo -e " \e[1;34m2)\e[0m 📄 Сменить лист обхода"
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 ""
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) configure_zapret_conf ;;
2) configure_zapret_list ;;
3) add_to_zapret ;;
4) delete_from_zapret ;;
5) search_in_zapret ;;
6) main_menu ;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
esac
done
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) configure_zapret_conf ;;
2) configure_zapret_list ;;
3) add_to_zapret ;;
4) delete_from_zapret ;;
5) search_in_zapret ;;
6) main_menu ;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
esac
done
else
while true; do
clear
cur_conf
cur_list
echo -e "\e[1;36m╔══════════════════════════════════════════════╗"
echo -e "║ Управление конфигурацией Запрета ║"
echo -e "╚══════════════════════════════════════════════╝\e[0m"
echo -e " \e[1;33m Используемая стратегия:\e[0m \e[1;32m$cr_cnf\e[0m"
echo -e " \e[1;33m Используемый хостлист:\e[0m \e[1;32m$cr_lst\e[0m"
echo ""
echo -e " \e[1;34m1)\e[0m Сменить стратегию"
echo -e " \e[1;34m2)\e[0m Сменить лист обхода"
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 ""
echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) configure_zapret_conf ;;
2) configure_zapret_list ;;
3) add_to_zapret ;;
4) delete_from_zapret ;;
5) search_in_zapret ;;
6) main_menu ;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
esac
done
fi
}
update_zapret_menu(){
while true; do
clear
echo -e "\e[1;36m╔════════════════════════════════════╗"
echo -e "║ 🔄 Обновление Запрета ║"
echo -e "╚════════════════════════════════════╝\e[0m"
echo -e " \e[1;33m1)\e[0m 🔧 Обновить \e[33mzapret и скрипт\e[0m \e[2m(не рекомендуется)\e[0m"
echo -e " \e[1;32m2)\e[0m 📜 Обновить только \e[32mскрипт\e[0m"
echo -e " \e[1;31m3)\e[0m 🚪 Выйти в меню"
echo ""
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) update_zapret;;
2) update_installed_script;;
3) main_menu;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
done
}
if [[ SYSTEM != openwrt ]]; then
while true; do
clear
echo -e "\e[1;36m╔════════════════════════════════════╗"
echo -e "║ 🔄 Обновление Запрета ║"
echo -e "╚════════════════════════════════════╝\e[0m"
echo -e " \e[1;33m1)\e[0m 🔧 Обновить \e[33mzapret и скрипт\e[0m \e[2m(не рекомендуется)\e[0m"
echo -e " \e[1;32m2)\e[0m 📜 Обновить только \e[32mскрипт\e[0m"
echo -e " \e[1;31m3)\e[0m 🚪 Выйти в меню"
echo ""
echo -e "\e[1;96m✨ Сделано с любовью 💙\e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) update_zapret;;
2) update_installed_script;;
3) main_menu;;
*) echo -e "\e[1;31m❌ Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
done
else
while true; do
clear
echo -e "\e[1;36m╔════════════════════════════════════╗"
echo -e "║ Обновление Запрета ║"
echo -e "╚════════════════════════════════════╝\e[0m"
echo -e " \e[1;32m1)\e[0m Обновить \e[32mскрипт\e[0m"
echo -e " \e[1;31m2)\e[0m Выйти в меню"
echo ""
echo -e "\e[1;96m Сделано с любовью \e[0m by: \e[4;94mhttps://t.me/linux_hi\e[0m"
echo ""
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) update_installed_script;;
2) main_menu;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
done
fi
}

View File

@@ -70,4 +70,4 @@ try_again() {
done
(( success == 0 )) && error_exit "$error_message"
}
}