diff --git a/launcher.sh b/launcher.sh index 2ce371f..b79671d 100755 --- a/launcher.sh +++ b/launcher.sh @@ -54,15 +54,15 @@ run_module() { if [ ! -f "$MODULES_DIR/$category/$module" ]; then echo "" - echo -e "${RED}✗ Module not found: $category/$module${NC}" + echo -e "✗ Module not found: $category/$module" echo "" read -p "Press Enter to continue..." return 1 fi echo "" - echo -e "${CYAN}Launching: $category/$module${NC}" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "Launching: $category/$module" + echo -e "──────────────────────────────────────────────────────────────" # Run module directly - keep SYS_ variables cached for performance # Modules will use cached detection instead of re-detecting on every run @@ -70,11 +70,11 @@ run_module() { local exit_code=$? echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" if [ "${exit_code:-0}" -eq 0 ]; then - echo -e "${GREEN}✓ Completed successfully${NC}" + echo -e "✓ Completed successfully" else - echo -e "${RED}✗ Exited with code: $exit_code${NC}" + echo -e "✗ Exited with code: $exit_code" fi echo "" read -p "Press Enter to continue..." @@ -178,18 +178,18 @@ show_main_menu() { # Threat Analysis Sub-Menu show_threat_analysis_menu() { show_banner - echo -e "${GREEN}${BOLD}📊 Threat Analysis${NC}" + echo -e "📊 Threat Analysis" echo "" - echo -e " ${CYAN}1)${NC} 🤖 Bot & Traffic Analyzer - Full analysis (all logs)" - echo -e " ${CYAN}2)${NC} 🤖 Quick Scan (1 hour) - Recent activity only" - echo -e " ${CYAN}3)${NC} 📊 IP Reputation Manager - Query/manage IP database" - echo -e " ${CYAN}4)${NC} 🔐 Suspicious Login Monitor - SSH/Panel login analysis" - echo -e " ${CYAN}5)${NC} 🦠 Malware Scanner - ImunifyAV, ClamAV, Maldet" - echo -e " ${CYAN}6)${NC} 🛡️ Historical Attack Analysis - Scan past logs (ET Open)" + echo -e " 1) 🤖 Bot & Traffic Analyzer - Full analysis (all logs)" + echo -e " 2) 🤖 Quick Scan (1 hour) - Recent activity only" + echo -e " 3) 📊 IP Reputation Manager - Query/manage IP database" + echo -e " 4) 🔐 Suspicious Login Monitor - SSH/Panel login analysis" + echo -e " 5) 🦠 Malware Scanner - ImunifyAV, ClamAV, Maldet" + echo -e " 6) 🛡️ Historical Attack Analysis - Scan past logs (ET Open)" echo "" - echo -e " ${RED}0)${NC} Back to Security Menu" + echo -e " 0) Back to Security Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -198,7 +198,7 @@ handle_threat_analysis_menu() { show_threat_analysis_menu read -r choice - case $choice in + case "$choice" in 1) run_module "security" "bot-analyzer.sh" ;; 2) run_module "security" "bot-analyzer.sh" -H 1 ;; 3) run_module "security" "ip-reputation-manager.sh" ;; @@ -206,7 +206,7 @@ handle_threat_analysis_menu() { 5) run_module "security" "malware-scanner.sh" ;; 6) bash "$BASE_DIR/tools/analyze-historical-attacks.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -214,16 +214,16 @@ handle_threat_analysis_menu() { # Live Monitoring Sub-Menu show_live_monitoring_menu() { show_banner - echo -e "${MAGENTA}${BOLD}🔴 Live Monitoring${NC}" + echo -e "🔴 Live Monitoring" echo "" - echo -e " ${MAGENTA}1)${NC} 📡 Live Attack Monitor - Unified threat intelligence" - echo -e " ${MAGENTA}2)${NC} 🔐 SSH Attack Monitor - SSH brute force detection" - echo -e " ${MAGENTA}3)${NC} 🌐 Web Traffic Monitor - HTTP attack detection" - echo -e " ${MAGENTA}4)${NC} 🔥 Firewall Activity Monitor - CSF/iptables monitoring" + echo -e " 1) 📡 Live Attack Monitor - Unified threat intelligence" + echo -e " 2) 🔐 SSH Attack Monitor - SSH brute force detection" + echo -e " 3) 🌐 Web Traffic Monitor - HTTP attack detection" + echo -e " 4) 🔥 Firewall Activity Monitor - CSF/iptables monitoring" echo "" - echo -e " ${RED}0)${NC} Back to Security Menu" + echo -e " 0) Back to Security Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -232,13 +232,13 @@ handle_live_monitoring_menu() { show_live_monitoring_menu read -r choice - case $choice in + case "$choice" in 1) run_module "security" "live-attack-monitor.sh" ;; 2) run_module "security" "ssh-attack-monitor.sh" ;; 3) run_module "security" "web-traffic-monitor.sh" ;; 4) run_module "security" "firewall-activity-monitor.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -246,16 +246,16 @@ handle_live_monitoring_menu() { # Log Viewers Sub-Menu show_log_viewers_menu() { show_banner - echo -e "${BLUE}${BOLD}📋 Log Viewers${NC}" + echo -e "📋 Log Viewers" echo "" - echo -e " ${BLUE}1)${NC} 🌐 Apache Access Log - Live web access" - echo -e " ${BLUE}2)${NC} ❌ Apache Error Log - Live web errors" - echo -e " ${BLUE}3)${NC} 📧 Mail Log - Live email activity" - echo -e " ${BLUE}4)${NC} 🔐 Security Log - Live auth attempts" + echo -e " 1) 🌐 Apache Access Log - Live web access" + echo -e " 2) ❌ Apache Error Log - Live web errors" + echo -e " 3) 📧 Mail Log - Live email activity" + echo -e " 4) 🔐 Security Log - Live auth attempts" echo "" - echo -e " ${RED}0)${NC} Back to Security Menu" + echo -e " 0) Back to Security Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -264,13 +264,13 @@ handle_log_viewers_menu() { show_log_viewers_menu read -r choice - case $choice in + case "$choice" in 1) run_module "security" "tail-apache-access.sh" ;; 2) run_module "security" "tail-apache-error.sh" ;; 3) run_module "security" "tail-mail-log.sh" ;; 4) run_module "security" "tail-secure-log.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -278,15 +278,15 @@ handle_log_viewers_menu() { # Security Actions Sub-Menu show_security_actions_menu() { show_banner - echo -e "${YELLOW}${BOLD}🔒 Security Actions${NC}" + echo -e "🔒 Security Actions" echo "" - echo -e " ${YELLOW}1)${NC} 🔒 Enable cPHulk Protection - Brute force protection" - echo -e " ${YELLOW}2)${NC} ⚙️ Optimize CT_LIMIT - Connection tracking tuning" - echo -e " ${YELLOW}3)${NC} 🤖 Block Malicious Bots - User-Agent blocking (Apache)" + echo -e " 1) 🔒 Enable cPHulk Protection - Brute force protection" + echo -e " 2) ⚙️ Optimize CT_LIMIT - Connection tracking tuning" + echo -e " 3) 🤖 Block Malicious Bots - User-Agent blocking (Apache)" echo "" - echo -e " ${RED}0)${NC} Back to Security Menu" + echo -e " 0) Back to Security Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -295,12 +295,12 @@ handle_security_actions_menu() { show_security_actions_menu read -r choice - case $choice in + case "$choice" in 1) run_module "security" "enable-cphulk.sh" ;; 2) run_module "security" "optimize-ct-limit.sh" ;; 3) run_module "security" "bot-blocker.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -311,16 +311,16 @@ handle_security_actions_menu() { show_security_menu() { show_banner - echo -e "${GREEN}${BOLD}🛡️ Security & Monitoring${NC}" + echo -e "🛡️ Security & Monitoring" echo "" - echo -e " ${CYAN}1)${NC} 📊 Threat Analysis → Analyze threats & reputation" - echo -e " ${MAGENTA}2)${NC} 🔴 Live Monitoring → Real-time attack detection" - echo -e " ${BLUE}3)${NC} 📋 Log Viewers → Tail system/security logs" - echo -e " ${YELLOW}4)${NC} 🔒 Security Actions → Hardening & protection" + echo -e " 1) 📊 Threat Analysis → Analyze threats & reputation" + echo -e " 2) 🔴 Live Monitoring → Real-time attack detection" + echo -e " 3) 📋 Log Viewers → Tail system/security logs" + echo -e " 4) 🔒 Security Actions → Hardening & protection" echo "" - echo -e " ${RED}0)${NC} Back to Main Menu" + echo -e " 0) Back to Main Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -329,13 +329,13 @@ handle_security_menu() { show_security_menu read -r choice - case $choice in + case "$choice" in 1) handle_threat_analysis_menu ;; 2) handle_live_monitoring_menu ;; 3) handle_log_viewers_menu ;; 4) handle_security_actions_menu ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -346,29 +346,29 @@ handle_security_menu() { show_website_menu() { show_banner - echo -e "${BLUE}${BOLD}🌐 Website Diagnostics${NC}" + echo -e "🌐 Website Diagnostics" echo "" - echo -e "${BOLD}Error Analysis:${NC}" + echo -e "Error Analysis:" echo "" - echo -e " ${BLUE}1)${NC} 🔍 Website Error Analyzer - Find 500/config errors (filters bots)" - echo -e " ${RED}2)${NC} 🔥 Fast 500 Error Tracker - ONLY 500s + root cause diagnosis" + echo -e " 1) 🔍 Website Error Analyzer - Find 500/config errors (filters bots)" + echo -e " 2) 🔥 Fast 500 Error Tracker - ONLY 500s + root cause diagnosis" echo "" - echo -e "${BOLD}Performance & Slowness:${NC}" + echo -e "Performance & Slowness:" echo "" - echo -e " ${MAGENTA}3)${NC} 🐢 Website Slowness Diagnostics - Multi-framework analysis" + echo -e " 3) 🐢 Website Slowness Diagnostics - Multi-framework analysis" echo " └─ WordPress, Drupal, Joomla, Magento, Laravel, Node.js, etc." echo "" - echo -e "${BOLD}WordPress Management:${NC}" + echo -e "WordPress Management:" echo "" - echo -e " ${BLUE}4)${NC} 📦 WordPress Tools → WP-Cron manager & more tools" + echo -e " 4) 📦 WordPress Tools → WP-Cron manager & more tools" echo "" - echo -e "${BOLD}Domain Analysis:${NC}" + echo -e "Domain Analysis:" echo "" - echo -e " ${BLUE}5)${NC} 🔶 Cloudflare Detector - Which domains use Cloudflare + location" + echo -e " 5) 🔶 Cloudflare Detector - Which domains use Cloudflare + location" echo "" - echo -e " ${RED}0)${NC} Back to Main Menu" + echo -e " 0) Back to Main Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -377,14 +377,14 @@ handle_website_menu() { show_website_menu read -r choice - case $choice in + case "$choice" in 1) run_module "website" "website-error-analyzer.sh" ;; 2) run_module "website" "500-error-tracker.sh" ;; 3) run_module "website" "website-slowness-diagnostics.sh" ;; 4) bash "$MODULES_DIR/website/wordpress-menu.sh" ;; 5) run_module "website" "cloudflare-detector.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -395,33 +395,33 @@ handle_website_menu() { show_performance_menu() { show_banner - echo -e "${MAGENTA}${BOLD}🔧 Performance & Maintenance${NC}" + echo -e "🔧 Performance & Maintenance" echo "" - echo -e "${BOLD}Database:${NC}" + echo -e "Database:" echo "" - echo -e " ${MAGENTA}1)${NC} 🗄️ MySQL Query Analyzer - Find slow queries & optimize" + echo -e " 1) 🗄️ MySQL Query Analyzer - Find slow queries & optimize" echo "" - echo -e "${BOLD}Network & Resources:${NC}" + echo -e "Network & Resources:" echo "" - echo -e " ${MAGENTA}2)${NC} 🌐 Network & Bandwidth - Traffic & top consumers" - echo -e " ${MAGENTA}3)${NC} 💻 Hardware Health Check - SMART, memory, CPU sensors" + echo -e " 2) 🌐 Network & Bandwidth - Traffic & top consumers" + echo -e " 3) 💻 Hardware Health Check - SMART, memory, CPU sensors" echo "" - echo -e "${BOLD}PHP Optimization:${NC}" + echo -e "PHP Optimization:" echo "" - echo -e " ${MAGENTA}4)${NC} ⚙️ PHP Configuration Optimizer - Per-domain PHP tuning" + echo -e " 4) ⚙️ PHP Configuration Optimizer - Per-domain PHP tuning" echo "" - echo -e "${BOLD}System Health:${NC}" + echo -e "System Health:" echo "" - echo -e " ${MAGENTA}5)${NC} 📊 Loadwatch Health Analyzer - Historical system analysis" - echo -e " ${MAGENTA}6)${NC} 💿 Disk Space Analyzer - Find space issues & cleanup files" + echo -e " 5) 📊 Loadwatch Health Analyzer - Historical system analysis" + echo -e " 6) 💿 Disk Space Analyzer - Find space issues & cleanup files" echo "" - echo -e "${BOLD}Caching Solutions:${NC}" + echo -e "Caching Solutions:" echo "" - echo -e " ${MAGENTA}7)${NC} ⚡ Nginx + Varnish Manager - Setup/manage caching stack" + echo -e " 7) ⚡ Nginx + Varnish Manager - Setup/manage caching stack" echo "" - echo -e " ${RED}0)${NC} Back to Main Menu" + echo -e " 0) Back to Main Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -430,7 +430,7 @@ handle_performance_menu() { show_performance_menu read -r choice - case $choice in + case "$choice" in 1) run_module "performance" "mysql-query-analyzer.sh" ;; 2) run_module "performance" "network-bandwidth-analyzer.sh" ;; 3) run_module "performance" "hardware-health-check.sh" ;; @@ -439,26 +439,26 @@ handle_performance_menu() { 6) run_module "maintenance" "disk-space-analyzer.sh" ;; 7) run_module "performance" "nginx-varnish-manager.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } handle_loadwatch_analyzer() { show_banner - echo -e "${MAGENTA}${BOLD}📊 Loadwatch Health Analyzer${NC}" + echo -e "📊 Loadwatch Health Analyzer" echo "" echo -e "Select time range for analysis:" echo "" - echo -e " ${CYAN}1)${NC} Last 1 Hour - Recent activity" - echo -e " ${CYAN}2)${NC} Last 6 Hours - Mid-term trending" - echo -e " ${CYAN}3)${NC} Last 24 Hours - Full day analysis" - echo -e " ${CYAN}4)${NC} Last 7 Days - Weekly patterns" - echo -e " ${CYAN}5)${NC} Last 30 Days - Monthly overview" + echo -e " 1) Last 1 Hour - Recent activity" + echo -e " 2) Last 6 Hours - Mid-term trending" + echo -e " 3) Last 24 Hours - Full day analysis" + echo -e " 4) Last 7 Days - Weekly patterns" + echo -e " 5) Last 30 Days - Monthly overview" echo "" - echo -e " ${RED}0)${NC} Back" + echo -e " 0) Back" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select time range: " read -r range_choice < /dev/tty @@ -470,7 +470,7 @@ handle_loadwatch_analyzer() { 4) run_module "diagnostics" "loadwatch-analyzer.sh" "-r" "7d" ;; 5) run_module "diagnostics" "loadwatch-analyzer.sh" "-r" "30d" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac } @@ -480,54 +480,54 @@ handle_loadwatch_analyzer() { show_backup_menu() { show_banner - echo -e "${YELLOW}${BOLD}💾 Backup & Recovery${NC}" + echo -e "💾 Backup & Recovery" echo "" - echo -e "${BOLD}Acronis Cyber Protect:${NC}" + echo -e "Acronis Cyber Protect:" echo "" - echo -e " ${YELLOW}1)${NC} 🔷 Acronis Management → Complete backup management" + echo -e " 1) 🔷 Acronis Management → Complete backup management" echo "" - echo -e "${BOLD}Database Tools:${NC}" + echo -e "Database Tools:" echo "" - echo -e " ${CYAN}2)${NC} 🔄 MySQL File Restore - Convert restored DB files to .sql" + echo -e " 2) 🔄 MySQL File Restore - Convert restored DB files to .sql" echo "" - echo -e "${BOLD}Maintenance:${NC}" + echo -e "Maintenance:" echo "" - echo -e " ${RED}3)${NC} 🗑️ Cleanup Toolkit Data - Remove IP reputation & temp files" + echo -e " 3) 🗑️ Cleanup Toolkit Data - Remove IP reputation & temp files" echo "" - echo -e " ${RED}0)${NC} Back to Main Menu" + echo -e " 0) Back to Main Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } show_acronis_menu() { show_banner - echo -e "${YELLOW}${BOLD}🔷 Acronis Cyber Protect${NC}" + echo -e "🔷 Acronis Cyber Protect" echo "" - echo -e "${BOLD}Installation & Setup:${NC}" + echo -e "Installation & Setup:" echo "" - echo -e " ${YELLOW}1)${NC} Install Acronis Agent - Download and install" - echo -e " ${YELLOW}2)${NC} Register with Cloud - Connect to Acronis Cloud" - echo -e " ${YELLOW}3)${NC} Configure Agent - Adjust settings" + echo -e " 1) Install Acronis Agent - Download and install" + echo -e " 2) Register with Cloud - Connect to Acronis Cloud" + echo -e " 3) Configure Agent - Adjust settings" echo "" - echo -e "${BOLD}Backup Management:${NC}" + echo -e "Backup Management:" echo "" - echo -e " ${GREEN}4)${NC} 📊 Manage Backups - Complete backup interface" + echo -e " 4) 📊 Manage Backups - Complete backup interface" echo "" - echo -e "${BOLD}Status & Monitoring:${NC}" + echo -e "Status & Monitoring:" echo "" - echo -e " ${CYAN}5)${NC} Check Agent Status - Verify Acronis is running" - echo -e " ${CYAN}6)${NC} View Logs - Check Acronis logs" - echo -e " ${CYAN}7)${NC} Troubleshoot - Diagnose backup failures" + echo -e " 5) Check Agent Status - Verify Acronis is running" + echo -e " 6) View Logs - Check Acronis logs" + echo -e " 7) Troubleshoot - Diagnose backup failures" echo "" - echo -e "${BOLD}Maintenance:${NC}" + echo -e "Maintenance:" echo "" - echo -e " ${YELLOW}8)${NC} Update Agent - Upgrade to latest version" - echo -e " ${RED}9)${NC} Uninstall Acronis - Remove agent" + echo -e " 8) Update Agent - Upgrade to latest version" + echo -e " 9) Uninstall Acronis - Remove agent" echo "" - echo -e " ${RED}0)${NC} Back to Backup Menu" + echo -e " 0) Back to Backup Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -536,12 +536,12 @@ handle_backup_menu() { show_backup_menu read -r choice - case $choice in + case "$choice" in 1) handle_acronis_menu ;; 2) run_module "backup" "mysql-restore-to-sql.sh" ;; 3) run_module "maintenance" "cleanup-toolkit-data.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -551,7 +551,7 @@ handle_acronis_menu() { show_acronis_menu read -r choice - case $choice in + case "$choice" in 1) run_module "backup" "acronis-install.sh" ;; 2) run_module "backup" "acronis-register.sh" ;; 3) run_module "backup" "acronis-configure.sh" ;; @@ -562,7 +562,7 @@ handle_acronis_menu() { 8) run_module "backup" "acronis-update.sh" ;; 9) run_module "backup" "acronis-uninstall.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -573,30 +573,30 @@ handle_acronis_menu() { show_email_menu() { show_banner - echo -e "${CYAN}${BOLD}📧 Email Troubleshooting & Maintenance${NC}" + echo -e "📧 Email Troubleshooting & Maintenance" echo "" - echo -e "${BOLD}Diagnostics:${NC}" + echo -e "Diagnostics:" echo "" - echo -e " ${CYAN}1)${NC} 🔍 Email Diagnostics - Verify email/domain is working ⭐" - echo -e " ${CYAN}2)${NC} 📬 Email Deliverability Test - Test sending/receiving" - echo -e " ${CYAN}3)${NC} 🔍 Mail Queue Inspector - View stuck emails" - echo -e " ${CYAN}4)${NC} 📊 SMTP Connection Test - Verify mail server" - echo -e " ${CYAN}5)${NC} 🔐 SPF/DKIM/DMARC Check - Email authentication" + echo -e " 1) 🔍 Email Diagnostics - Verify email/domain is working ⭐" + echo -e " 2) 📬 Email Deliverability Test - Test sending/receiving" + echo -e " 3) 🔍 Mail Queue Inspector - View stuck emails" + echo -e " 4) 📊 SMTP Connection Test - Verify mail server" + echo -e " 5) 🔐 SPF/DKIM/DMARC Check - Email authentication" echo "" - echo -e "${BOLD}Troubleshooting:${NC}" + echo -e "Troubleshooting:" echo "" - echo -e " ${YELLOW}6)${NC} 🚫 Blacklist Check - Check IP reputation" - echo -e " ${YELLOW}7)${NC} 📧 Mail Log Analyzer - Search mail logs" - echo -e " ${YELLOW}8)${NC} 🔄 Flush Mail Queue - Clear stuck emails" + echo -e " 6) 🚫 Blacklist Check - Check IP reputation" + echo -e " 7) 📧 Mail Log Analyzer - Search mail logs" + echo -e " 8) 🔄 Flush Mail Queue - Clear stuck emails" echo "" - echo -e "${BOLD}Maintenance:${NC}" + echo -e "Maintenance:" echo "" - echo -e " ${GREEN}9)${NC} 🧹 Clean Mailboxes - Remove old emails" - echo -e " ${GREEN}10)${NC} 📈 Mailbox Size Report - Show usage per account" + echo -e " 9) 🧹 Clean Mailboxes - Remove old emails" + echo -e " 10) 📈 Mailbox Size Report - Show usage per account" echo "" - echo -e " ${RED}0)${NC} Back to Main Menu" + echo -e " 0) Back to Main Menu" echo "" - echo -e "${CYAN}──────────────────────────────────────────────────────────────${NC}" + echo -e "──────────────────────────────────────────────────────────────" echo -n "Select option: " } @@ -605,7 +605,7 @@ handle_email_menu() { show_email_menu read -r choice - case $choice in + case "$choice" in 1) run_module "email" "email-diagnostics.sh" ;; 2) run_module "email" "deliverability-test.sh" ;; 3) run_module "email" "mail-queue-inspector.sh" ;; @@ -617,7 +617,7 @@ handle_email_menu() { 9) run_module "email" "clean-mailboxes.sh" ;; 10) run_module "email" "mailbox-size-report.sh" ;; 0) return ;; - *) echo -e "${RED}Invalid option${NC}"; sleep 1 ;; + *) echo -e "Invalid option"; sleep 1 ;; esac done } @@ -652,7 +652,7 @@ startup_detection() { print_section "Detection Summary" echo "" - echo -e "${BOLD}System:${NC}" + echo -e "System:" echo " Control Panel: $SYS_CONTROL_PANEL $SYS_CONTROL_PANEL_VERSION" echo " OS: $SYS_OS_TYPE $SYS_OS_VERSION" echo " Web Server: $SYS_WEB_SERVER $SYS_WEB_SERVER_VERSION" @@ -664,7 +664,7 @@ startup_detection() { local db_count=$(grep -c "^DB|" "$SYSREF_DB" 2>/dev/null || echo 0) local wp_count=$(grep -c "^WP|" "$SYSREF_DB" 2>/dev/null || echo 0) - echo -e "${BOLD}Server Content:${NC}" + echo -e "Server Content:" echo " Users: $user_count" echo " Domains: $domain_count" echo " Databases: $db_count" @@ -696,7 +696,7 @@ main() { return 0 fi - case $choice in + case "$choice" in 1) run_module "diagnostics" "system-health-check.sh" ;; 2) handle_security_menu ;; 3) handle_website_menu ;; @@ -709,7 +709,9 @@ main() { read -p "Clean history and remove traces? (yes/no): " clean_hist < /dev/tty if [ "$clean_hist" = "yes" ]; then - touch /tmp/.cleanup_requested + # Use secure temp file creation to prevent symlink attacks + CLEANUP_FILE=$(mktemp -t server-toolkit-cleanup.XXXXXX 2>/dev/null) || CLEANUP_FILE="/tmp/.cleanup_requested" + touch "$CLEANUP_FILE" 2>/dev/null || true echo "" echo "Cleanup will happen automatically..." echo "" @@ -721,7 +723,7 @@ main() { return 0 ;; *) - echo -e "${RED}Invalid option${NC}" + echo -e "Invalid option" sleep 1 ;; esac