#!/bin/bash # ============================================================================ # install.sh — ЕДИНАЯ КОМАНДА установки BBox из репозитория # ---------------------------------------------------------------------------- # Запускается одной командой прямо из репозитория: # # bash <(curl -s https://git.softuniq.eu/OpenDoor/opendoor-base-install/raw/branch/main/install.sh) # # Последовательно выполняет: # 1. init_system.sh — первичная инициализация (обновление, утилиты, # Docker, hostname, баннер BBox, сброс ID) # 2. cleanup_system.sh — очистка системы от мусора # 3. install_scripts.sh — установка скриптов в /usr/local/bin # + сервис автозапуска bbox-firstboot.service # # Все диалоги имеют автовыбор по умолчанию через 5 секунд (BBOX_TIMEOUT). # Флаг --yes выполняет всё без вопросов. # # Аргументы: # --yes|-y полный автозапуск без диалогов # --init-only только инициализация (без чистки) # --cleanup-only только чистка # --scripts-only только установка скриптов/автозапуска # --timeout=N таймер подтверждения (сек), по умолчанию 5 # --repo=URL альтернативный репозиторий (по умолчанию OpenDoor) # ============================================================================ set -uo pipefail RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' log() { echo -e "${GREEN}[install]${NC} $*"; } warn() { echo -e "${YELLOW}[install][warn]${NC} $*"; } fail() { echo -e "${RED}[install][error]${NC} $*"; exit 1; } # Параметры по умолчанию REPO_URL="https://git.softuniq.eu/OpenDoor/opendoor-base-install" BRANCH="main" WORK_DIR="/tmp/bbox-install-$$" DO_INIT=1 DO_CLEANUP=1 DO_SCRIPTS=1 ALL_YES=0 TIMEOUT=5 usage() { cat <>> Шаг 1/3: первичная инициализация (init_system.sh)" if [ $ALL_YES -eq 1 ]; then "$WORK_DIR/init_system.sh" --yes else "$WORK_DIR/init_system.sh" fi fi if [ $DO_CLEANUP -eq 1 ]; then echo log ">>> Шаг 2/3: очистка системы (cleanup_system.sh)" "$WORK_DIR/cleanup_system.sh" fi if [ $DO_SCRIPTS -eq 1 ]; then echo log ">>> Шаг 3/3: установка скриптов и автозапуска (install_scripts.sh)" "$WORK_DIR/install_scripts.sh" fi rm -rf "$WORK_DIR" echo log "=== Установка завершена. Добро пожаловать в BBox (bbox.wtf) ===" log "Свободные люди для свободного мира, во имя приватности и безопасности." } main "$@"