mirror of
https://github.com/CyberSecurityUP/NeuroSploit.git
synced 2026-02-12 14:02:45 +00:00
105 lines
3.2 KiB
Bash
105 lines
3.2 KiB
Bash
#!/bin/bash
|
|
|
|
# NeuroSploit v3 Startup Script
|
|
|
|
echo "================================================"
|
|
echo " NeuroSploit v3 - AI-Powered Penetration Testing"
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# Check for .env file
|
|
if [ ! -f ".env" ]; then
|
|
echo "[!] No .env file found. Creating from .env.example..."
|
|
cp .env.example .env
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " IMPORTANT: Configure your API key!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "Edit the .env file and add your Claude API key:"
|
|
echo " ANTHROPIC_API_KEY=sk-ant-..."
|
|
echo ""
|
|
echo "Get your API key at: https://console.anthropic.com/"
|
|
echo ""
|
|
read -p "Press Enter to continue (or Ctrl+C to exit and configure)..."
|
|
echo ""
|
|
fi
|
|
|
|
# Check if API key is configured
|
|
if grep -q "^ANTHROPIC_API_KEY=$" .env 2>/dev/null || grep -q "^ANTHROPIC_API_KEY=your-" .env 2>/dev/null; then
|
|
echo "[WARNING] ANTHROPIC_API_KEY not configured in .env"
|
|
echo "The AI agent will not work without an API key!"
|
|
echo ""
|
|
fi
|
|
|
|
# Check for lite mode
|
|
COMPOSE_FILE="docker-compose.yml"
|
|
if [ "$1" = "--lite" ] || [ "$1" = "-l" ]; then
|
|
echo "[INFO] Using LITE mode (faster build, no security tools)"
|
|
COMPOSE_FILE="docker-compose.lite.yml"
|
|
fi
|
|
|
|
# Check if docker-compose is available
|
|
if command -v docker-compose &> /dev/null; then
|
|
echo "Starting with Docker Compose..."
|
|
docker-compose -f $COMPOSE_FILE up -d
|
|
echo ""
|
|
echo "NeuroSploit is starting..."
|
|
echo " - Backend API: http://localhost:8000"
|
|
echo " - Web Interface: http://localhost:3000"
|
|
echo " - API Docs: http://localhost:8000/api/docs"
|
|
echo " - LLM Status: http://localhost:8000/api/v1/agent/status"
|
|
echo ""
|
|
echo "Run 'docker-compose logs -f' to view logs"
|
|
echo ""
|
|
echo "To check if LLM is configured:"
|
|
echo " curl http://localhost:8000/api/v1/agent/status"
|
|
elif command -v docker &> /dev/null && command -v docker compose &> /dev/null; then
|
|
echo "Starting with Docker Compose (v2)..."
|
|
docker compose -f $COMPOSE_FILE up -d
|
|
echo ""
|
|
echo "NeuroSploit is starting..."
|
|
echo " - Backend API: http://localhost:8000"
|
|
echo " - Web Interface: http://localhost:3000"
|
|
echo " - API Docs: http://localhost:8000/api/docs"
|
|
echo " - LLM Status: http://localhost:8000/api/v1/agent/status"
|
|
else
|
|
echo "Docker not found. Starting manually..."
|
|
echo ""
|
|
|
|
# Start backend
|
|
echo "Starting backend..."
|
|
cd backend
|
|
if [ ! -d "venv" ]; then
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
pip install -r requirements.txt
|
|
else
|
|
source venv/bin/activate
|
|
fi
|
|
python -m uvicorn backend.main:app --host 0.0.0.0 --port 8000 &
|
|
BACKEND_PID=$!
|
|
cd ..
|
|
|
|
# Start frontend
|
|
echo "Starting frontend..."
|
|
cd frontend
|
|
if [ ! -d "node_modules" ]; then
|
|
npm install
|
|
fi
|
|
npm run dev &
|
|
FRONTEND_PID=$!
|
|
cd ..
|
|
|
|
echo ""
|
|
echo "NeuroSploit is running:"
|
|
echo " - Backend API: http://localhost:8000"
|
|
echo " - Web Interface: http://localhost:3000"
|
|
echo ""
|
|
echo "Press Ctrl+C to stop"
|
|
|
|
# Wait for Ctrl+C
|
|
trap "kill $BACKEND_PID $FRONTEND_PID 2>/dev/null" EXIT
|
|
wait
|
|
fi
|