new ver + add option to install via git + game mode support + still todo check configurations + still todo add zapret2 support

This commit is contained in:
Snowy-Fluffy
2026-01-02 21:01:19 +03:00
parent 4c525e96b9
commit 203377e4aa
4 changed files with 258 additions and 250 deletions

View File

@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
zapret.installer Copyright (C) 2026 Snowy-Fluffy
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

View File

@@ -111,6 +111,30 @@ cur_list() {
done
fi
}
game_mode_check() {
if [ ! -f "/opt/zapret/ipset/ipset-game.txt" ]; then
touch /opt/zapret/ipset/ipset-game.txt || error_exit "не удалось создать ipset для игрвого режима"
fi
if grep -q "^0\.0\.0\.0/0$" /opt/zapret/ipset/ipset-game.txt; then
game_mode_status="включен"
else
game_mode_status="выключен"
fi
}
toggle_game_mode() {
game_mode_check
if [[ $game_mode_status == "включен" ]]; then
rm -f /opt/zapret/ipset/ipset-game.txt
touch /opt/zapret/ipset/ipset-game.txt || error_exit "не удалось создать ipset для игрвого режима"
else
echo "0.0.0.0/0" >> /opt/zapret/ipset/ipset-game.txt
fi
manage_service restart
sleep 2
}
configure_zapret_conf() {
if [[ ! -d /opt/zapret/zapret.cfgs ]]; then

View File

@@ -31,7 +31,7 @@ get_latest_version() {
# fi
#
#}
download_zapret()
download_zapret_release()
{
rm -rf /opt/zapret
@@ -56,14 +56,23 @@ download_zapret()
mv /opt/zapret-v$(get_latest_version) /opt/zapret
get_latest_version > /opt/zapret-ver
echo "Клонирую репозиторий конфигураций..."
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs || error_exit "не удалось получить репозиторий конфигураций. Вероятно это сетевая ошибка, попробуйте снова."
echo "Клонирование успешно завершено."
}
download_zapret_git() {
rm -rf /opt/zapret
rm -rf /opt/zapret-v$(get_latest_version)
echo "Клонирую репозиторий bol-van/zapret..."
git clone https://github.com/bol-van/zapret /opt/zapret || error_exit "не удалось получить запрет. Вероятно это сетевая ошибка, попробуйте снова."
echo "git" > /opt/zapret-ver
echo "Клонирую репозиторий конфигураций..."
git clone https://github.com/Snowy-Fluffy/zapret.cfgs /opt/zapret/zapret.cfgs || error_exit "не удалось получить репозиторий конфигураций. Вероятно это сетевая ошибка, попробуйте снова."
echo "Клонирование успешно завершено."
}
install_dependencies() {
@@ -107,7 +116,7 @@ install_dependencies() {
fi
}
install_zapret() {
install_zapret_release() {
install_dependencies
if [[ $dir_exists == true ]]; then
read -p "На вашем компьютере был найден запрет (/opt/zapret). Для продолжения его необходимо удалить. Вы действительно хотите удалить запрет (/opt/zapret) и продолжить? (y/N): " answer
@@ -129,7 +138,7 @@ install_zapret() {
;;
esac
fi
download_zapret
download_zapret_release
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./install_easy.sh
@@ -137,7 +146,67 @@ install_zapret() {
rm -f /bin/zapret
rm -f /opt/zapret/config
cp -r /opt/zapret/zapret.cfgs/configurations/general /opt/zapret/config || error_exit "не удалось автоматически скопировать конфиг"
cp -r /opt/zapret/zapret.cfgs/bin/* /opt/zapret/files/fake || error_exit "не удалось автоматически скопировать fake bin"
rm -f /opt/zapret/ipset/zapret-hosts-user.txt
touch /opt/zapret/ipset/ipset-game.txt || error_exit "не удалось автоматически создать game ipset"
cp -r /opt/zapret/zapret.cfgs/lists/list-basic.txt /opt/zapret/ipset/zapret-hosts-user.txt || error_exit "не удалось автоматически скопировать хостлист"
cp -r /opt/zapret/zapret.cfgs/lists/ipset-discord.txt /opt/zapret/ipset/ipset-discord.txt || error_exit "не удалось автоматически скопировать ипсет"
ln -s /opt/zapret.installer/zapret-control.sh /bin/zapret || error_exit "не удалось создать символическую ссылку"
if [[ INIT_SYSTEM = systemd ]]; then
systemctl daemon-reload
fi
if [[ INIT_SYSTEM = runit ]]; then
read -p "Для окончания установки необходимо перезапустить ваше устройство. Перезапустить его сейчас? (Y/n): " answer
case "$answer" in
[Yy]* )
reboot
;;
[Nn]* )
$TPUT_E
exit 1
;;
* )
reboot
;;
esac
else
manage_service restart
configure_zapret_conf
fi
}
install_zapret_git() {
install_dependencies
if [[ $dir_exists == true ]]; then
read -p "На вашем компьютере был найден запрет (/opt/zapret). Для продолжения его необходимо удалить. Вы действительно хотите удалить запрет (/opt/zapret) и продолжить? (y/N): " answer
case "$answer" in
[Yy]* )
if [[ -f /opt/zapret/uninstall_easy.sh ]]; then
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./uninstall_easy.sh
sed -i '238s/ask_yes_no Y/ask_yes_no N/' /opt/zapret/common/installer.sh
fi
rm -rf /opt/zapret
echo "Удаляю zapret..."
cd /
sleep 3
;;
* )
main_menu
;;
esac
fi
download_zapret_git
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./install_easy.sh
sed -i '238s/ask_yes_no Y/ask_yes_no N/' /opt/zapret/common/installer.sh
rm -f /bin/zapret
rm -f /opt/zapret/config
cp -r /opt/zapret/zapret.cfgs/configurations/general /opt/zapret/config || error_exit "не удалось автоматически скопировать конфиг"
cp -r /opt/zapret/zapret.cfgs/bin/* /opt/zapret/files/fake || error_exit "не удалось автоматически скопировать fake bin"
rm -f /opt/zapret/ipset/zapret-hosts-user.txt
touch /opt/zapret/ipset/ipset-game.txt || error_exit "не удалось автоматически создать game ipset"
cp -r /opt/zapret/zapret.cfgs/lists/list-basic.txt /opt/zapret/ipset/zapret-hosts-user.txt || error_exit "не удалось автоматически скопировать хостлист"
cp -r /opt/zapret/zapret.cfgs/lists/ipset-discord.txt /opt/zapret/ipset/ipset-discord.txt || error_exit "не удалось автоматически скопировать ипсет"
ln -s /opt/zapret.installer/zapret-control.sh /bin/zapret || error_exit "не удалось создать символическую ссылку"
@@ -164,6 +233,7 @@ install_zapret() {
fi
}
update_zapret() {
LIST_EXISTS=0
CONF_EXISTS=0
@@ -180,14 +250,27 @@ update_zapret() {
# echo "Актуальная версия уже установлена: нечего обновлять."
# bash -c 'read -p "Нажмите Enter для продолжения..."'
download_zapret || error_exit "не удалось обновить запрет"
echo -e "Запрет обновлен до версии $(cat /opt/zapret-ver)"
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./install_easy.sh
sed -i '238s/ask_yes_no Y/ask_yes_no N/' /opt/zapret/common/installer.sh
if [ -f /opt/zapret-ver ]; then
#cat /opt/zapret-ver | tr -d '[:space:]' - useful
if [ -z $(cat /opt/zapret-ver) ] || [ $(cat /opt/zapret-ver) != "git" ]; then
download_zapret || error_exit "не удалось обновить запрет"
echo -e "Запрет обновлен до версии $(cat /opt/zapret-ver)"
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./install_easy.sh
sed -i '238s/ask_yes_no Y/ask_yes_no N/' /opt/zapret/common/installer.sh
else
cd /opt/zapret/ && git fetch origin master; git reset --hard origin/master || error_exit "не удалось обновить zapret с помощью git. Попробуйте снова, вероятно это сетевая ошибка. Если не помогло - переустановите zapret."
echo -e "Репозиторий запрета был обновлен."
fi
else
download_zapret || error_exit "не удалось обновить zapret"
echo -e "Запрет обновлен до версии $(cat /opt/zapret-ver)"
cd /opt/zapret
sed -i '238s/ask_yes_no N/ask_yes_no Y/' /opt/zapret/common/installer.sh
yes "" | ./install_easy.sh
sed -i '238s/ask_yes_no Y/ask_yes_no N/' /opt/zapret/common/installer.sh
fi
if [[ -d /opt/zapret/zapret.cfgs ]]; then
cd /opt/zapret/zapret.cfgs && git fetch origin main; git reset --hard origin/main
@@ -209,9 +292,11 @@ update_zapret() {
rm -rf $TEMP_DIR_BIN
rm -f /opt/zapret/config
cp -r /opt/zapret/zapret.cfgs/configurations/general /opt/zapret/config || error_exit "не удалось автоматически скопировать конфиг"
cp -r /opt/zapret/zapret.cfgs/bin/* /opt/zapret/files/fake || error_exit "не удалось автоматически скопировать fake bin"
rm -f /opt/zapret/ipset/zapret-hosts-user.txt
touch /opt/zapret/ipset/ipset-game.txt || error_exit "не удалось автоматически создать game ipset"
cp -r /opt/zapret/zapret.cfgs/lists/list-basic.txt /opt/zapret/ipset/zapret-hosts-user.txt || error_exit "не удалось автоматически скопировать хостлист"
cp -r /opt/zapret/zapret.cfgs/lists/ipset-discord.txt /opt/zapret/ipset/ipset-discord.txt || error_exit "не удалось автоматически скопировать ипсет"
cp -r /opt/zapret/zapret.cfgs/lists/ipset-discord.txt /opt/zapret/ipset/ipset-discord.txt || error_exit "не удалось автоматически скопировать discord ipset"
configure_zapret_conf
manage_service restart
bash -c 'read -p "Нажмите Enter для продолжения..."'

View File

@@ -2,253 +2,152 @@
main_menu() {
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"
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;34m0)\e[0m 🚪 Выйти"
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 🗑️ Удалить Запрет"
else
echo -e " \e[1;34m0)\e[0m 🚪 Выйти"
echo -e " \e[1;32m1)\e[0m 📥 Установить Запрет"
echo -e " \e[1;36m2)\e[0m 📜 Проверить скрипт на обновления"
fi
if [[ $ZAPRET_EXIST == true ]]; then
echo -e " \e[1;34m0)\e[0m Выйти"
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 Удалить Запрет"
else
echo -e " \e[1;34m0)\e[0m Выйти"
echo -e " \e[1;32m1)\e[0m Установить Запрет"
echo -e " \e[1;36m2)\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;;
0) $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;;
0) 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;34m0)\e[0m Выйти"
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 Удалить Запрет"
else
echo -e " \e[1;34m0)\e[0m Выйти"
echo -e " \e[1;32m1)\e[0m Установить Запрет"
echo -e " \e[1;36m2)\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;;
0) $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;;
0) tput rmcup; exit 0;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
fi
done
fi
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;;
0) $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_menu; main_menu;;
2) update_script;;
0) tput rmcup; exit 0;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
fi
done
}
install_zapret_menu() {
while true; do
clear
echo -e "\e[1;36m╔════════════════════════════════════════════╗"
echo -e "║ Меню управления Запретом ║"
echo -e "╚════════════════════════════════════════════╝\e[0m"
echo -e " \e[1;31m0)\e[0m Выйти в меню"
echo -e " \e[1;34m1)\e[0m Установить zapret как релиз (рекомендуется)"
echo -e " \e[1;34m2)\e[0m Установить zapret через git"
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) install_zapret_release ;;
2) install_zapret_git ;;
0) main_menu ;;
*) echo -e "\e[1;31mНеверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
esac
done
}
change_configuration() {
if [[ SYSTEM != openwrt ]]; then
while true; do
clear
cur_conf
cur_list
while true; do
clear
cur_conf
cur_list
game_mode_check
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;31m0)\e[0m 🚪 Выйти в меню"
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;34m6)\e[0m 📥 Установить стратегию из файла (путь)"
echo -e " \e[1;34m7)\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 -e " \e[1;33m Игровой режим:\e[0m \e[1;32m$game_mode_status\e[0m"
echo ""
echo -e " \e[1;31m0)\e[0m Выйти в меню"
if [[ $game_mode_status == "включен" ]]; then
echo -e " \e[1;34m1)\e[0m Выключить игровой режим"
else
echo -e " \e[1;34m1)\e[0m Включить игровой режим"
fi
echo -e " \e[1;34m2)\e[0m Сменить стратегию"
echo -e " \e[1;34m3)\e[0m Сменить лист обхода"
echo -e " \e[1;34m4)\e[0m Добавить IP или домены в лист"
echo -e " \e[1;34m5)\e[0m Удалить IP или домены из листа"
echo -e " \e[1;34m6)\e[0m Найти IP или домены в листе"
echo -e " \e[1;34m7)\e[0m Установить стратегию из файла (путь)"
echo -e " \e[1;34m8)\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) configure_custom_conf_path ;;
7) configure_custom_list_path ;;
0) 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;31m0)\e[0m Выйти в меню"
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;34m6)\e[0m Установить стратегию из файла (путь)"
echo -e " \e[1;34m7)\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) configure_custom_conf_path ;;
7) configure_custom_list_path ;;
0) main_menu ;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
esac
done
fi
read -p $'\e[1;36mВыберите действие: \e[0m' CHOICE
case "$CHOICE" in
1) toggle_game_mode ;;
2) configure_zapret_conf ;;
3) configure_zapret_list ;;
4) add_to_zapret ;;
5) delete_from_zapret ;;
6) search_in_zapret ;;
7) configure_custom_conf_path ;;
8) configure_custom_list_path ;;
0) main_menu ;;
*) echo -e "\e[1;31mНеверный ввод! Попробуйте снова.\e[0m"; sleep 2 ;;
esac
done
}
update_zapret_menu(){
if [[ SYSTEM != openwrt ]]; then
while true; do
clear
echo -e "\e[1;36m╔════════════════════════════════════╗"
echo -e "║ 🔄 Обновление Запрета ║"
echo -e "║ Текущая версия: $(if [ -f /opt/zapret-ver ]; then cat /opt/zapret-ver; else echo "Неизвестно";fi)"
while true; do
clear
echo -e "\e[1;36m╔════════════════════════════════════╗"
echo -e "║ Обновление Запрета ║"
echo -e " Текущая версия: $(if [ -f /opt/zapret-ver ]; then cat /opt/zapret-ver; else echo "Неизвестно";fi)"
echo -e "║ Последняя версия: $(get_latest_version)"
echo -e "╚════════════════════════════════════╝\e[0m"
echo -e " \e[1;31m0)\e[0m 🚪 Выйти в меню"
echo -e " \e[1;33m1)\e[0m 🔧 Обновить \e[33mвсё\e[0m"
echo -e " \e[1;32m2)\e[0m 📜 Обновить только \e[32mскрипт\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;;
0) 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 "║ Текущая версия: $(if [ -f /opt/zapret-ver ]; then cat /opt/zapret-ver; else echo "Неизвестно";fi)"
echo -e "║ Последняя версия: $(get_latest_version)"
echo -e "╚════════════════════════════════════╝\e[0m"
echo -e " \e[1;31m0)\e[0m Выйти в меню"
echo -e " \e[1;33m1)\e[0m Обновить \e[33mвсё\e[0m"
echo -e " \e[1;32m2)\e[0m Обновить только \e[32mскрипт\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;;
0) main_menu;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
done
fi
}
echo -e "║ Последняя версия: $(get_latest_version)"
echo -e "╚════════════════════════════════════╝\e[0m"
echo -e " \e[1;31m0)\e[0m Выйти в меню"
echo -e " \e[1;33m1)\e[0m Обновить \e[33mвсё\e[0m"
echo -e " \e[1;32m2)\e[0m Обновить только \e[32mскрипт\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;;
0) main_menu;;
*) echo -e "\e[1;31m Неверный ввод! Попробуйте снова.\e[0m"; sleep 2;;
esac
done
}