diff --git a/nexusguard-install.sh b/nexusguard-install.sh index e81ae1d..ecc39cd 100644 --- a/nexusguard-install.sh +++ b/nexusguard-install.sh @@ -49,6 +49,7 @@ Prerequisites: - nginx installed and running - PostgreSQL installed and running - Redis installed and running + - WireGuard tools (will be auto-installed if missing) - Pre-built binaries in ./bin/ directory This script will: @@ -90,6 +91,29 @@ command -v systemctl >/dev/null 2>&1 || error "systemctl is not installed" command -v psql >/dev/null 2>&1 || error "PostgreSQL client (psql) is not installed" command -v redis-cli >/dev/null 2>&1 || error "Redis client (redis-cli) is not installed" +# Check and install WireGuard +if ! command -v wg >/dev/null 2>&1; then + warn "WireGuard tools not found. Installing..." + if command -v apt >/dev/null 2>&1; then + apt update -qq && apt install -y -qq wireguard-tools + elif command -v dnf >/dev/null 2>&1; then + dnf install -y -q wireguard-tools + elif command -v yum >/dev/null 2>&1; then + yum install -y -q wireguard-tools + elif command -v pacman >/dev/null 2>&1; then + pacman -S --noconfirm wireguard-tools + else + error "Cannot auto-install WireGuard. Please install wireguard-tools manually." + fi + info "WireGuard tools installed: $(wg --version)" +fi + +# Check WireGuard kernel module +if ! lsmod 2>/dev/null | grep -q wireguard; then + warn "WireGuard kernel module not loaded. Loading..." + modprobe wireguard 2>/dev/null || warn "Could not load wireguard module (may need manual load or reboot)" +fi + # Check for pre-built binaries SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SERVER_BINARY="$SCRIPT_DIR/bin/server-core"