Files
zapret.installer/installer.sh
Snowy-Fluffy 4310eb1f15 Update installer.sh
Updated OpenWRT support
2024-12-27 17:06:20 +03:00

91 lines
3.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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"
elif command -v apt &> /dev/null; then
PKG_MANAGER="apt"
INSTALL_CMD="$SUDO apt-get install -y"
elif command -v dnf &> /dev/null; then
PKG_MANAGER="dnf"
INSTALL_CMD="$SUDO dnf install -y"
elif command -v zypper &> /dev/null; then
PKG_MANAGER="zypper"
INSTALL_CMD="$SUDO zypper install -y"
elif command -v opkg &> /dev/null; then
PKG_MANAGER="opkg"
INSTALL_CMD="$SUDO opkg install"
elif command -v apk &> /dev/null; then
PKG_MANAGER="apk"
INSTALL_CMD="$SUDO apk add"
else
echo "Не удалось определить пакетный менеджер. Убедитесь, что ваш дистрибутив поддерживается."
exit 1
fi
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
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 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 | $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
fi
if command -v systemctl &> /dev/null; then
$SUDO systemctl restart zapret
elif [ "$PKG_MANAGER" == "opkg" ]; then
$SUDO /etc/init.d/zapret restart
else
echo "Не удалось автоматически перезапустить zapret. Проверьте службу вручную."
fi
echo "Установка завершена."