#!/bin/bash
set -e
echo "DefendX Agent Installer for Linux"
echo "================================="
if [ "$EUID" -ne 0 ]; then echo "Please run as root (use sudo)"; exit 1; fi
if [ ! -f /etc/os-release ]; then echo "This script is for Linux only"; exit 1; fi
. /etc/os-release
echo "Detected: $NAME $VERSION_ID"
if ! ping -c 1 8.8.8.8 >/dev/null 2>&1; then echo "No internet connection"; exit 1; fi
TEMP_DIR=$(mktemp -d)
cd "$TEMP_DIR"
echo "Downloading source..."
if command -v wget >/dev/null 2>&1; then
wget --no-check-certificate -q https://packages.defendx.io/linux/source/defendx-source.tar.gz
elif command -v curl >/dev/null 2>&1; then
curl -k -s -O https://packages.defendx.io/linux/source/defendx-source.tar.gz
else
if command -v apt-get >/dev/null 2>&1; then apt-get update && apt-get install -y wget; wget --no-check-certificate -q https://packages.defendx.io/linux/source/defendx-source.tar.gz
elif command -v yum >/dev/null 2>&1; then yum install -y wget; wget --no-check-certificate -q https://packages.defendx.io/linux/source/defendx-source.tar.gz
elif command -v dnf >/dev/null 2>&1; then dnf install -y wget; wget --no-check-certificate -q https://packages.defendx.io/linux/source/defendx-source.tar.gz
else echo "Cannot install wget. Please install curl or wget manually."; exit 1; fi
fi
if [ ! -f defendx-source.tar.gz ]; then echo "Failed to download source"; exit 1; fi
tar -xzf defendx-source.tar.gz
echo "Source extracted"
echo "Installing build dependencies..."
if command -v apt-get >/dev/null 2>&1; then apt-get update 2>/dev/null || true; apt-get install -y build-essential make cmake gcc g++ python3 automake autoconf libtool openssl libssl-dev
elif command -v yum >/dev/null 2>&1; then yum install -y make cmake gcc gcc-c++ python3 automake autoconf libtool openssl-devel
elif command -v dnf >/dev/null 2>&1; then dnf install -y make cmake gcc gcc-c++ python3 automake autoconf libtool openssl-devel
else echo "Unknown package manager. Please install build tools manually."; fi
if [ -d "defendx/src" ]; then cd defendx/src; elif [ -d "src" ]; then cd src; else echo "Source directory not found"; exit 1; fi
echo "Building DefendX agent..."
make TARGET=agent deps
make TARGET=agent
cd ../..
if [ -f "install.sh" ]; then ./install.sh; elif [ -f "defendx/install.sh" ]; then ./defendx/install.sh; else echo "Install script not found"; exit 1; fi
cd /
rm -rf "$TEMP_DIR"
echo "DefendX Agent installed successfully"
echo "Start with: sudo systemctl start defendx-agent"
