Aplood / setup.sh
Hosdroid's picture
Update setup.sh
57823b2 verified
Raw History Blame Contribute Delete
12 kB
#!/usr/bin/env bash
set -Eeuo pipefail
# ============================================================
# ULTIMATE GOD-MODE ENVIRONMENT ORCHESTRATOR (v4.0 Infinite)
# Ubuntu/Debian - Python, Node, Java, Android, APK, ROOT, AI, Wine
# No Limits. AI-Driven Fallback. Modular Expansion.
# ============================================================
export DEBIAN_FRONTEND=noninteractive
# -----------------------------
# Configuration (1=Enable, 0=Disable)
# -----------------------------
INSTALL_ANDROID="${INSTALL_ANDROID:-1}"
INSTALL_APK_TOOLS="${INSTALL_APK_TOOLS:-1}"
INSTALL_DOCKER="${INSTALL_DOCKER:-1}"
INSTALL_ROOT_CERN="${INSTALL_ROOT_CERN:-1}"
INSTALL_PYTHON_TOOLS="${INSTALL_PYTHON_TOOLS:-1}"
INSTALL_NODE_TOOLS="${INSTALL_NODE_TOOLS:-1}"
INSTALL_WINDOWS_ALGO="${INSTALL_WINDOWS_ALGO:-1}"
INSTALL_AI_ML="${INSTALL_AI_ML:-1}"
INSTALL_MEDIA_DOWNLOADER="${INSTALL_MEDIA_DOWNLOADER:-1}"
INSTALL_SCRAPING="${INSTALL_SCRAPING:-1}"
UPGRADE_SYSTEM="${UPGRADE_SYSTEM:-0}"
ANDROID_HOME="${ANDROID_HOME:-$HOME/Android/Sdk}"
TOOLS_DIR="${TOOLS_DIR:-$HOME/.local/bin}"
mkdir -p "$TOOLS_DIR"
mkdir -p "$ANDROID_HOME"
export PATH="$TOOLS_DIR:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
# -----------------------------
# Logging & AI Heuristic Engine
# -----------------------------
log() { echo -e "\n[+] $1"; }
warn() { echo -e "\n[!] $1"; }
fail() { echo -e "\n[ERROR] $1" >&2; exit 1; }
# AI Smart Installer: Tries command, if fails, applies heuristic fallback
ai_install() {
local cmd="$1"
log "AI-Executing: $cmd"
if ! eval "$cmd" 2>/tmp/ai_err.log; then
warn "Primary install failed. Triggering AI Heuristic Fallback..."
echo "[FAIL LOG: $cmd]" >> /var/log/ai_boot.log
cat /tmp/ai_err.log >> /var/log/ai_boot.log
if [[ "$cmd" == *"pip install"* || "$cmd" == *"pip3 install"* ]]; then
eval "${cmd/pip install/pip3 install --no-deps --force-reinstall --break-system-packages}" || warn "AI Fallback failed for pip"
elif [[ "$cmd" == *"apt-get install"* ]]; then
eval "sudo apt-get install -y --fix-broken ${cmd#*install}" || warn "AI Fallback failed for apt"
elif [[ "$cmd" == *"npm install"* || "$cmd" == *"npm i"* ]]; then
eval "${cmd/npm install/npm install --legacy-peer-deps --force}" || warn "AI Fallback failed for npm"
fi
else
echo "[OK] $cmd" >> /var/log/ai_boot.log
fi
}
trap 'fail "خطا در خط شماره $LINENO. لاگ را در /var/log/ai_boot.log بررسی کنید."' ERR
# -----------------------------
# Root & OS Check
# -----------------------------
if [[ "${EUID}" -eq 0 ]]; then
fail "این اسکریپت را با کاربر معمولی اجرا کنید؛ sudo در زمان لازم استفاده می‌شود."
fi
if ! command -v sudo >/dev/null 2>&1 || ! command -v apt-get >/dev/null 2>&1; then
fail "این اسکریپت برای Ubuntu/Debian با دسترسی sudo نوشته شده است."
fi
# -----------------------------
# System Core Packages
# -----------------------------
log "به‌روزرسانی فهرست بسته‌ها و نصب هسته سیستم..."
sudo apt-get update -y -qq
if [[ "$UPGRADE_SYSTEM" == "1" ]]; then
sudo apt-get upgrade -y -qq
fi
sudo apt-get install -y -qq \
ca-certificates curl wget git git-lfs unzip zip p7zip-full tar gzip bzip2 xz-utils jq \
tree file lsof net-tools iproute2 iputils-ping dnsutils rsync \
make cmake ninja-build pkg-config build-essential gcc g++ clang llvm gdb strace \
tmux screen vim nano htop shellcheck xclip software-properties-common apt-transport-https gnupg lsb-release
# -----------------------------
# Windows Algorithm Emulation Layer
# -----------------------------
if [[ "$INSTALL_WINDOWS_ALGO" == "1" ]]; then
log "نصب لایه شبیه‌سازی و کامپایل الگوریتم‌های ویندوز (Wine & MinGW)..."
sudo dpkg --add-architecture i386
sudo apt-get update -y -qq
sudo apt-get install -y -qq wine wine64 winetricks mingw-w64 mingw-w64-tools
log "لایه ویندوز آماده شد. برای اجرا از دستور 'wine <file.exe>' استفاده کنید."
fi
# -----------------------------
# Python & AI/ML Ecosystem
# -----------------------------
if [[ "$INSTALL_PYTHON_TOOLS" == "1" ]]; then
log "نصب Python و اکوسیستم هوش مصنوعی..."
sudo apt-get install -y -qq python3 python3-dev python3-pip python3-venv python3-setuptools python3-wheel
ai_install "python3 -m pip install --user --upgrade pip setuptools wheel"
ai_install "python3 -m pip install --user virtualenv pipx poetry uv ipython jupyterlab"
if [[ "$INSTALL_AI_ML" == "1" ]]; then
log "نصب کتابخانه‌های سنگین AI (PyTorch, Transformers)..."
ai_install "python3 -m pip install --user --break-system-packages torch torchvision torchaudio transformers accelerate huggingface_hub"
# نصب Ollama برای اجرای مدل‌های زبانی محلی
curl -fsSL https://ollama.com/install.sh | sh
fi
ai_install "python3 -m pip install --user --break-system-packages numpy pandas scipy matplotlib requests httpx flask fastapi uvicorn sqlalchemy pydantic"
python3 -m pipx ensurepath || true
fi
# -----------------------------
# Java & Build Tools
# -----------------------------
log "نصب Java و ابزارهای ساخت..."
sudo apt-get install -y -qq openjdk-17-jdk openjdk-17-jre maven gradle ant
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
# -----------------------------
# Node.js and JavaScript
# -----------------------------
if [[ "$INSTALL_NODE_TOOLS" == "1" ]]; then
log "نصب Node.js و ابزارهای JavaScript..."
if ! command -v node >/dev/null 2>&1; then
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y -qq nodejs
fi
ai_install "sudo npm install -g npm yarn pnpm typescript ts-node eslint prettier nodemon pm2 vite create-vite http-server"
fi
# -----------------------------
# Docker Containerization
# -----------------------------
if [[ "$INSTALL_DOCKER" == "1" ]]; then
log "نصب Docker..."
sudo apt-get install -y -qq docker.io docker-compose-v2
sudo systemctl enable docker || true
sudo systemctl start docker || true
if ! groups "$USER" | grep -q '\bdocker\b'; then
sudo usermod -aG docker "$USER"
warn "برای اعمال دسترسی Docker، یک‌بار از حساب کاربری خارج و دوباره وارد شوید."
fi
fi
# -----------------------------
# Android SDK & APK Reverse Engineering
# -----------------------------
if [[ "$INSTALL_ANDROID" == "1" ]] || [[ "$INSTALL_APK_TOOLS" == "1" ]]; then
log "نصب Android SDK و ابزارهای مهندسی معکوس APK..."
sudo apt-get install -y -qq libc6-i386 lib32z1 libstdc++6 lib32stdc++6 aapt apktool smali radare2
SDK_TEMP="/tmp/android-commandline-tools.zip"
if [[ ! -x "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" ]]; then
curl -fsSL -o "$SDK_TEMP" "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip"
rm -rf "$ANDROID_HOME/cmdline-tools"
mkdir -p "$ANDROID_HOME/cmdline-tools"
unzip -q "$SDK_TEMP" -d "$ANDROID_HOME/cmdline-tools"
mv "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
rm -f "$SDK_TEMP"
fi
yes | sdkmanager --licenses >/dev/null 2>&1 || true
sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" "cmdline-tools;latest"
# JADX Setup
JADX_ARCHIVE="/tmp/jadx.zip"
curl -fsSL -o "$JADX_ARCHIVE" "https://github.com/skylot/jadx/releases/download/v1.5.0/jadx-1.5.0.zip"
rm -rf "$HOME/.local/jadx"
mkdir -p "$HOME/.local/jadx"
unzip -q "$JADX_ARCHIVE" -d "$HOME/.local/jadx"
ln -sf "$HOME/.local/jadx/bin/jadx" "$TOOLS_DIR/jadx"
ln -sf "$HOME/.local/jadx/bin/jadx-gui" "$TOOLS_DIR/jadx-gui"
rm -f "$JADX_ARCHIVE"
log "ابزارهای APK (apktool, JADX, AAPT, smali, radare2) نصب شدند."
fi
# -----------------------------
# CERN ROOT Framework
# -----------------------------
if [[ "$INSTALL_ROOT_CERN" == "1" ]]; then
log "نصب CERN ROOT..."
sudo apt-get install -y -qq root-system root-system-bin root-system-common python3-root libroot-dev || warn "بسته CERN ROOT در مخزن یافت نشد."
if command -v root-config >/dev/null 2>&1; then
log "ROOT Version: $(root-config --version)"
fi
fi
# -----------------------------
# Media & Advanced Downloaders
# -----------------------------
if [[ "$INSTALL_MEDIA_DOWNLOADER" == "1" ]]; then
log "نصب ماتریس مدیا و دانلودرهای پیشرفته..."
sudo apt-get install -y -qq ffmpeg vlc mpv yt-dlp aria2 transmission-cli
ai_install "sudo npm install -g local-tunnel ngrok"
fi
# -----------------------------
# Web Scraping & Automation
# -----------------------------
if [[ "$INSTALL_SCRAPING" == "1" ]]; then
log "نصب ابزارهای اسکرپینگ و اتوماسیون..."
ai_install "python3 -m pip install --user --break-system-packages scrapy playwright selenium beautifulsoup4"
log "در حال دانلود مرورگرهای Playwright (این مرحله ممکن است زمان‌بر باشد)..."
playwright install chromium firefox webkit || warn "Playwright browsers install skipped/failed"
fi
# -----------------------------
# Environment Persistence
# -----------------------------
log "تنظیم و پایدارسازی متغیرهای محیطی..."
PROFILE_FILE="$HOME/.bashrc"
touch "$PROFILE_FILE"
add_env() {
local line="$1"
if ! grep -Fqx "$line" "$PROFILE_FILE"; then
echo "$line" >> "$PROFILE_FILE"
fi
}
add_env 'export PATH="$HOME/.local/bin:$PATH"'
add_env 'export ANDROID_HOME="$HOME/Android/Sdk"'
add_env 'export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"'
add_env 'export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"'
add_env 'export PYTHONUNBUFFERED=1'
add_env 'alias ai-fix="sudo apt-get --fix-broken install && pip3 install --upgrade pip --break-system-packages"'
# -----------------------------
# Project Directories
# -----------------------------
log "ساخت پوشه‌های استاندارد پروژه..."
mkdir -p "$HOME/projects" "$HOME/tools" "$HOME/.cache/builds" "$HOME/.config"
# -----------------------------
# Final Validation Matrix
# -----------------------------
log "بررسی نهایی و اعتبارسنجی نصب‌ها..."
echo "--------------------------------------------------"
command -v python3 && echo "🐍 Python : $(python3 --version)" || echo "🐍 Python : MISSING"
command -v java && echo "☕ Java : $(java -version 2>&1 | head -n 1)" || echo "☕ Java : MISSING"
command -v node && echo "🟢 Node : $(node --version)" || echo "🟢 Node : MISSING"
command -v docker && echo "🐳 Docker : $(docker --version)" || echo "🐳 Docker : MISSING"
command -v wine && echo "🍷 Wine : $(wine --version)" || echo "🍷 Wine : MISSING"
command -v adb && echo "📱 ADB : $(adb version | head -n 1)" || echo "📱 ADB : MISSING"
command -v jadx && echo "🛠️ JADX : $(jadx --version)" || echo "🛠️ JADX : MISSING"
command -v root-config && echo "⚛️ ROOT : $(root-config --version)" || echo "⚛️ ROOT : MISSING"
command -v ollama && echo "🤖 Ollama: $(ollama --version)" || echo "🤖 Ollama: MISSING"
echo "--------------------------------------------------"
log "🚀 نصب با موفقیت پایان یافت. محیط God-Mode فعال است."
echo "برای بارگذاری تنظیمات جدید اجرا کنید: source ~/.bashrc"
echo "لاگ کامل عملیات هوشمند در: /var/log/ai_boot.log"