#!/bin/bash # ============================================================ # PCA Phobos — Web Panel Installer # Requires: Phobos already installed (/opt/Phobos) # # Usage: # bash <(curl -fsSL https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/install.sh) # # Custom port: # PANEL_PORT=39172 bash <(curl ...) # ============================================================ set -e PANEL_PASS="${PANEL_PASS:-OcAdmin2026!}" TG_TOKEN="${TG_TOKEN:-}" TG_CHAT="${TG_CHAT:-}" PANEL_DIR="/opt/phobos-panel" # Generate random 5-digit port (10000-59999) if not specified if [ -z "$PANEL_PORT" ]; then PANEL_PORT=$(shuf -i 10000-59999 -n 1 2>/dev/null || awk 'BEGIN{srand(); print int(10000+rand()*50000)}') fi # ── Check Phobos is installed ── if [ ! -d "/opt/Phobos" ]; then echo "ERROR: Phobos not found at /opt/Phobos" echo "Install Phobos first: https://git.zerrolabs.org/Ground-Zerro/Phobos" exit 1 fi echo "" echo "╔══════════════════════════════════════════════════════╗" echo "║ PCA Phobos Panel Installer ║" echo "╠══════════════════════════════════════════════════════╣" echo "║ Panel port : $PANEL_PORT" echo "║ Phobos dir : /opt/Phobos" echo "╚══════════════════════════════════════════════════════╝" echo "" # ── 1. Install dependencies ── echo "[1/3] Installing dependencies..." apt-get update -qq DEBIAN_FRONTEND=noninteractive apt-get install -y -qq python3 python3-flask gunicorn # ── 2. Install panel ── echo "[2/3] Installing web panel..." mkdir -p "$PANEL_DIR" SERVER_IP=$(curl -s https://api.ipify.org || hostname -I | awk '{print $1}') curl -fsSL "https://raw.githubusercontent.com/andrey271192/PCA_Phobos/main/app.py" \ | sed "s|SERVER_IP = .*|SERVER_IP = \"$SERVER_IP\"|g" \ > "$PANEL_DIR/app.py" # Create initial settings if [ ! -f "$PANEL_DIR/settings.json" ]; then cat > "$PANEL_DIR/settings.json" < "$PANEL_DIR/.port" # ── 3. Setup systemd service ── echo "[3/3] Setting up service..." cat > /etc/systemd/system/phobos-panel.service <