You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

62 lines
2.3 KiB

#!/bin/sh
# Установщик zapret с автоматическим скачиванием latest релиза
# Работает на OpenWrt и других Linux с sh, wget/curl, tar
set -e # Выходим при любой ошибке
REPO="commensal/zapret-commensal"
TARGET_DIR="/data/zapret"
TMP_DIR="/tmp/zapret_install_$$"
echo "Создаём временные и целевые директории..."
mkdir -p "$TMP_DIR" "$TARGET_DIR"
cd "$TMP_DIR"
echo "Получаем URL последней версии tar.gz архива с GitHub..."
# Получаем URL на обычный tar.gz (не embedded, чтобы были все скрипты)
ARCHIVE_URL=$(curl -s https://api.github.com/repos/$REPO/releases/latest | \
grep "browser_download_url.*tar.gz" | \
grep -v "embedded" | \
cut -d '"' -f 4)
if [ -z "$ARCHIVE_URL" ]; then
echo "Ошибка: не найден tar.gz архив в последнем релизе!"
echo "Проверьте https://github.com/$REPO/releases"
exit 1
fi
echo "Скачиваем latest релиз: $ARCHIVE_URL"
wget "$ARCHIVE_URL" -O zapret_latest.tar.gz || curl -fsSL "$ARCHIVE_URL" -o zapret_latest.tar.gz
echo "Распаковываем с перезаписью в $TARGET_DIR..."
tar -xzf zapret_latest.tar.gz -C "$TARGET_DIR" --strip-components=1 --overwrite
echo "Устанавливаем права 755 на все файлы и папки рекурсивно..."
chmod -R 755 "$TARGET_DIR"
cd "$TARGET_DIR"
echo "Запускаем install_easy.sh..."
if [ -f "./install_easy.sh" ]; then
./install_easy.sh
else
echo "Предупреждение: install_easy.sh не найден!"
fi
echo "Запускаем install_patch.sh..."
if [ -f "./install_patch.sh" ]; then
./install_patch.sh
else
echo "Предупреждение: install_patch.sh не найден!"
fi
echo ""
echo "zapret установлен. Конфигурация находится в файле /data/zapret/config"
echo "после редактирования конфига и/или листов не забывайте делать перезапуск командой"
echo "service zapret restart"
# Очистка временных файлов
cd /
rm -rf "$TMP_DIR"
echo "Готово!"