diff --git a/ghostcrew/interface/tui.py b/ghostcrew/interface/tui.py index 91f48ba..ef69a13 100644 --- a/ghostcrew/interface/tui.py +++ b/ghostcrew/interface/tui.py @@ -76,85 +76,6 @@ def wrap_text_lines(text: str, width: int = 80) -> List[str]: ) result.extend(wrapped if wrapped else [""]) return result - return result - - -# ASCII Art from utils.py -ASCII_BANNER = r""" - ('-. .-. .-') .-') _ _ .-') ('-. (`\ .-') /` - ( OO ) / ( OO ). ( OO) ) ( \( -O ) _( OO) `.( OO ),' - ,----. ,--. ,--. .-'),-----. (_)---\_)/ '._ .-----. ,------. (,------.,--./ .--. - ' .-./-') | | | |( OO' .-. '/ _ | |'--...__)' .--./ | /`. ' | .---'| | | - | |_( O- )| .| |/ | | | |\ :` `. '--. .--'| |('-. | / | | | | | | | |, - | | .--, \| |\_) | |\| | '..`''.) | | /_) |OO )| |_.' |(| '--. | |.'.| |_) -(| | '. (_/| .-. | \ | | | |.-._) \ | | || |`-'| | . '.' | .--' | | - | '--' | | | | | `' '-' '\ / | | (_' '--'\ | |\ \ | `---.| ,'. | - `------' `--' `--' `-----' `-----' `--' `-----' `--' '--' `------''--' '--' -""" - - -# ----- Splash Screen ----- - - -class SplashScreen(Screen): - """Animated splash screen with GhostCrew branding""" - - BINDINGS = [ - Binding("enter", "dismiss", "Continue"), - Binding("escape", "dismiss", "Skip"), - ] - - CSS = """ - SplashScreen { - background: #0a0a0a; - } - - #splash-container { - width: 100%; - height: 100%; - align: center middle; - } - - #splash-inner { - width: 96; - height: auto; - align: center middle; - } - - #splash-logo { - width: 96; - color: #d4d4d4; - text-style: bold; - } - - #splash-tagline { - width: 96; - text-align: center; - margin-top: 1; - color: #6b6b6b; - } - - #splash-prompt { - width: 96; - text-align: center; - margin-top: 2; - color: #525252; - } - """ - - def compose(self) -> ComposeResult: - yield Container( - Container( - Static(ASCII_BANNER, id="splash-logo"), - Static("AI Penetration Testing Agents v0.2.0", id="splash-tagline"), - Static("Press ENTER to continue...", id="splash-prompt"), - id="splash-inner", - ), - id="splash-container", - ) - - def action_dismiss(self) -> None: - self.app.pop_screen() # ----- Help Screen ----- @@ -710,10 +631,6 @@ class GhostCrewTUI(App): async def on_mount(self) -> None: """Initialize on mount""" - # Show splash - await self.push_screen(SplashScreen()) - - # Start initialization self._initialize_agent() @work(thread=False) diff --git a/scripts/run.sh b/scripts/run.sh index 849099b..a4d758f 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -16,7 +16,6 @@ fi # Parse arguments MODE="cli" TARGET="" -VPN_CONFIG="" while [[ $# -gt 0 ]]; do case $1 in @@ -28,10 +27,6 @@ while [[ $# -gt 0 ]]; do TARGET="$2" shift 2 ;; - --vpn) - VPN_CONFIG="$2" - shift 2 - ;; --help) echo "GhostCrew - AI Penetration Testing" echo "" @@ -40,7 +35,6 @@ while [[ $# -gt 0 ]]; do echo "Options:" echo " --tui Run in TUI mode" echo " --target Set initial target" - echo " --vpn Connect to VPN before starting" echo " --help Show this help message" exit 0 ;; @@ -51,13 +45,6 @@ while [[ $# -gt 0 ]]; do esac done -# Connect to VPN if specified -if [ -n "$VPN_CONFIG" ]; then - echo "Connecting to VPN..." - sudo openvpn --config "$VPN_CONFIG" --daemon - sleep 5 -fi - # Build command CMD="python -m ghostcrew" diff --git a/scripts/setup.ps1 b/scripts/setup.ps1 index 2bb1e12..98f52c5 100644 --- a/scripts/setup.ps1 +++ b/scripts/setup.ps1 @@ -1,57 +1,61 @@ # GhostCrew PowerShell Setup Script -Write-Host "GhostCrew Setup" -ForegroundColor Blue -Write-Host "AI Penetration Testing" -ForegroundColor Green +Write-Host "==================================================================" +Write-Host " GHOSTCREW" +Write-Host " AI Penetration Testing" +Write-Host "==================================================================" +Write-Host "" +Write-Host "Setup" Write-Host "" # Check Python version -Write-Host "Checking Python version..." -ForegroundColor Yellow +Write-Host "Checking Python version..." try { $pythonVersion = python --version 2>&1 if ($pythonVersion -match "Python (\d+)\.(\d+)") { $major = [int]$Matches[1] $minor = [int]$Matches[2] if ($major -lt 3 -or ($major -eq 3 -and $minor -lt 10)) { - Write-Host "Error: Python 3.10 or higher is required" -ForegroundColor Red + Write-Host "Error: Python 3.10 or higher is required" exit 1 } - Write-Host "[OK] $pythonVersion" -ForegroundColor Green + Write-Host "[OK] $pythonVersion" } } catch { - Write-Host "Error: Python not found. Please install Python 3.10+" -ForegroundColor Red + Write-Host "Error: Python not found. Please install Python 3.10+" exit 1 } # Create virtual environment -Write-Host "Creating virtual environment..." -ForegroundColor Yellow +Write-Host "Creating virtual environment..." if (-not (Test-Path "venv")) { python -m venv venv - Write-Host "[OK] Virtual environment created" -ForegroundColor Green + Write-Host "[OK] Virtual environment created" } else { - Write-Host "[OK] Virtual environment exists" -ForegroundColor Green + Write-Host "[OK] Virtual environment exists" } # Activate virtual environment -Write-Host "Activating virtual environment..." -ForegroundColor Yellow +Write-Host "Activating virtual environment..." & .\venv\Scripts\Activate.ps1 # Upgrade pip -Write-Host "Upgrading pip..." -ForegroundColor Yellow +Write-Host "Upgrading pip..." pip install --upgrade pip # Install dependencies -Write-Host "Installing dependencies..." -ForegroundColor Yellow +Write-Host "Installing dependencies..." pip install -e ".[all]" -Write-Host "[OK] Dependencies installed" -ForegroundColor Green +Write-Host "[OK] Dependencies installed" # Install playwright browsers -Write-Host "Installing Playwright browsers..." -ForegroundColor Yellow +Write-Host "Installing Playwright browsers..." playwright install chromium -Write-Host "[OK] Playwright browsers installed" -ForegroundColor Green +Write-Host "[OK] Playwright browsers installed" # Create .env file if not exists if (-not (Test-Path ".env")) { - Write-Host "Creating .env file..." -ForegroundColor Yellow + Write-Host "Creating .env file..." @" # GhostCrew Configuration # Add your API keys here @@ -71,16 +75,16 @@ GHOSTCREW_DEBUG=false # Max Iterations GHOSTCREW_MAX_ITERATIONS=50 "@ | Set-Content -Path ".env" -Encoding UTF8 - Write-Host "[OK] .env file created" -ForegroundColor Green - Write-Host "[!] Please edit .env and add your API keys" -ForegroundColor Yellow + Write-Host "[OK] .env file created" + Write-Host "[!] Please edit .env and add your API keys" } # Create loot directory for reports New-Item -ItemType Directory -Force -Path "loot" | Out-Null -Write-Host "[OK] Loot directory created" -ForegroundColor Green +Write-Host "[OK] Loot directory created" Write-Host "" -Write-Host "Setup complete!" -ForegroundColor Green +Write-Host "Setup complete!" Write-Host "" Write-Host "To get started:" Write-Host " 1. Edit .env and add your API keys" diff --git a/scripts/setup.sh b/scripts/setup.sh index aa41cd7..0ae4f38 100644 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -3,57 +3,53 @@ set -e -# Colors -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -NC='\033[0m' - -echo -e "${BLUE}GhostCrew${NC} - AI Penetration Testing" +echo "==================================================================" +echo " GHOSTCREW" +echo " AI Penetration Testing" +echo "==================================================================" echo "" # Check Python version -echo -e "${YELLOW}Checking Python version...${NC}" +echo "Checking Python version..." python_version=$(python3 --version 2>&1 | cut -d' ' -f2 | cut -d'.' -f1,2) required_version="3.10" if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" != "$required_version" ]; then - echo -e "${RED}Error: Python $required_version or higher is required (found $python_version)${NC}" + echo "Error: Python $required_version or higher is required (found $python_version)" exit 1 fi -echo -e "${GREEN}✓ Python $python_version${NC}" +echo "[OK] Python $python_version" # Create virtual environment -echo -e "${YELLOW}Creating virtual environment...${NC}" +echo "Creating virtual environment..." if [ ! -d "venv" ]; then python3 -m venv venv - echo -e "${GREEN}✓ Virtual environment created${NC}" + echo "[OK] Virtual environment created" else - echo -e "${GREEN}✓ Virtual environment exists${NC}" + echo "[OK] Virtual environment exists" fi # Activate virtual environment -echo -e "${YELLOW}Activating virtual environment...${NC}" +echo "Activating virtual environment..." source venv/bin/activate # Upgrade pip -echo -e "${YELLOW}Upgrading pip...${NC}" +echo "Upgrading pip..." pip install --upgrade pip # Install dependencies -echo -e "${YELLOW}Installing dependencies...${NC}" +echo "Installing dependencies..." pip install -e ".[all]" -echo -e "${GREEN}✓ Dependencies installed${NC}" +echo "[OK] Dependencies installed" # Install playwright browsers -echo -e "${YELLOW}Installing Playwright browsers...${NC}" +echo "Installing Playwright browsers..." playwright install chromium -echo -e "${GREEN}✓ Playwright browsers installed${NC}" +echo "[OK] Playwright browsers installed" # Create .env file if not exists if [ ! -f ".env" ]; then - echo -e "${YELLOW}Creating .env file...${NC}" + echo "Creating .env file..." cat > .env << EOF # GhostCrew Configuration # Add your API keys here @@ -73,25 +69,25 @@ GHOSTCREW_DEBUG=false # Max Iterations GHOSTCREW_MAX_ITERATIONS=50 EOF - echo -e "${GREEN}✓ .env file created${NC}" - echo -e "${YELLOW}⚠️ Please edit .env and add your API keys${NC}" + echo "[OK] .env file created" + echo "[!] Please edit .env and add your API keys" fi # Create loot directory for reports mkdir -p loot -echo -e "${GREEN}✓ Loot directory created${NC}" +echo "[OK] Loot directory created" echo "" -echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" -echo -e "${GREEN}Setup complete!${NC}" +echo "==================================================================" +echo "Setup complete!" echo "" -echo -e "To get started:" -echo -e " 1. Edit ${YELLOW}.env${NC} and add your API keys" -echo -e " 2. Activate the virtual environment: ${YELLOW}source venv/bin/activate${NC}" -echo -e " 3. Run GhostCrew: ${YELLOW}ghostcrew${NC} or ${YELLOW}python -m ghostcrew${NC}" +echo "To get started:" +echo " 1. Edit .env and add your API keys" +echo " 2. Activate the virtual environment: source venv/bin/activate" +echo " 3. Run GhostCrew: ghostcrew or python -m ghostcrew" echo "" -echo -e "For Docker usage:" -echo -e " ${YELLOW}docker-compose up ghostcrew${NC}" -echo -e " ${YELLOW}docker-compose --profile kali up ghostcrew-kali${NC}" +echo "For Docker usage:" +echo " docker-compose up ghostcrew" +echo " docker-compose --profile kali up ghostcrew-kali" echo "" -echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" +echo "=================================================================="