fef30e1781
USER REQUEST: "are we missing anything with it? can it be smarter" ADDED 5 MAJOR INTELLIGENCE LAYERS: ═══════════════════════════════════════════════════════════════════════ 1. CDN DETECTION & ADJUSTMENT ═══════════════════════════════════════════════════════════════════════ NEW: detect_cdn_usage() - Checks DNS records for Cloudflare, Akamai, Fastly, CloudFront, Sucuri - Checks nameservers for CDN providers - REDUCES complexity score by -2 if CDN detected - Reason: CDN handles static assets = fewer direct server connections IMPACT: Before: WordPress site = complexity 7 After (with CDN): complexity 5 Result: Lower CT_LIMIT needed, better security ═══════════════════════════════════════════════════════════════════════ 2. CACHING LAYER DETECTION & ADJUSTMENT ═══════════════════════════════════════════════════════════════════════ NEW: detect_caching() - Checks for Redis running (systemctl/pgrep) - Checks for Memcached running - Detects WordPress caching plugins: • WP Rocket • W3 Total Cache • WP Super Cache • LiteSpeed Cache • WP Fastest Cache - Checks .htaccess for cache headers - REDUCES complexity by -(caching_score/2) IMPACT: Site with Redis + WP Rocket: -3 complexity Result: Well-cached sites need lower CT_LIMIT ═══════════════════════════════════════════════════════════════════════ 3. TIME-OF-DAY TRAFFIC PATTERN ANALYSIS ═══════════════════════════════════════════════════════════════════════ NEW: Hourly traffic tracking in AWK script - Extracts hour from timestamps - Tracks requests per hour - Identifies peak hour - Calculates peak vs average ratio DISPLAYS: ``` Traffic Patterns: Peak hour: 14:00 (8,542 requests) Average: 2,845 requests/hour Peak is 300% above average → CT_LIMIT should handle peak, not average ``` INTELLIGENCE: - If peak >200% of average, shows warning - Reminds: Set CT_LIMIT for peak, not average traffic - Prevents blocking during legitimate traffic spikes ═══════════════════════════════════════════════════════════════════════ 4. SERVER RESOURCE LIMITS CHECKING ═══════════════════════════════════════════════════════════════════════ NEW: check_server_resources() - Reads total RAM (free -m) - Counts CPU cores (nproc) - Calculates max safe connections: • RAM-based: total_mb / 2 (reserve 50% for OS) • CPU-based: cores * 50 (rough max per core) • Takes lower of the two DISPLAYS: ``` Server Resource Limits: RAM: 4096MB | CPU: 4 cores Max safe connections (hardware): 200 ``` SAFETY: - Caps recommendations at server maximum - Prevents recommending CT_LIMIT=500 on 1GB VPS - Shows "Note: Capped at server max" if needed ═══════════════════════════════════════════════════════════════════════ 5. SITE-SPECIFIC OPTIMIZATION RECOMMENDATIONS ═══════════════════════════════════════════════════════════════════════ NEW: Actionable advice per site DISPLAYS: ``` Optimization Opportunities: 📦 CDN Recommended for: • shop.example.com (would reduce CT_LIMIT need) • blog.example.com (would reduce CT_LIMIT need) ⚡ Caching Recommended for: • wordpress.example.com (WP Rocket, Redis, or W3 Total Cache) • site2.com (WP Rocket, Redis, or W3 Total Cache) Or if optimized: ✅ Sites are well-optimized (CDN + caching in place) ``` INTELLIGENCE: - Only suggests CDN for high-complexity sites (≥6) - Only suggests caching for WordPress without it - Shows top 3 sites needing each optimization - Explains benefit: "would reduce CT_LIMIT need" ═══════════════════════════════════════════════════════════════════════ ENHANCED RECOMMENDATION LOGIC: ═══════════════════════════════════════════════════════════════════════ Now factors in: ✅ Site type (WordPress/ecommerce/static) ✅ Plugin count ✅ Ajax complexity ✅ CDN usage (reduces needs) ✅ Caching layer (reduces needs) ✅ Ecommerce presence (+15 buffer) ✅ Average site complexity ✅ Peak hour traffic patterns ✅ Server hardware limits EXAMPLE CALCULATION: Base: max_legit = 45 Complexity buffer: +14 (avg complexity 7) Ecommerce bonus: +10 Subtotal: 69 With Redis + CDN: -3 Final: CT_LIMIT = 66 Capped at server max: 200 (OK, no cap needed) ═══════════════════════════════════════════════════════════════════════ FUNCTIONS ADDED: ═══════════════════════════════════════════════════════════════════════ - detect_cdn_usage() - DNS/NS checking for CDN (lines 54-74) - detect_caching() - Redis/Memcached/WP plugins (lines 76-110) - check_server_resources() - RAM/CPU limits (lines 260-283) - Enhanced AWK script - Hourly traffic tracking (lines 319-336) - Enhanced generate_recommendation() - All new displays (lines 547-617) ═══════════════════════════════════════════════════════════════════════ RESULT: ═══════════════════════════════════════════════════════════════════════ BEFORE: "Set CT_LIMIT=100 (generic guess)" AFTER: "Set CT_LIMIT=66 because: • Your peak traffic is 14:00 (300% above average) • 2 sites have ecommerce (need headroom) • 1 site has Redis (can be lower) • 1 site has CDN (can be lower) • Your server can handle max 200 connections • Recommendation fits your specific setup" Plus: "Install Redis on wordpress.com to reduce CT_LIMIT by 15%" SMARTER: Yes. Much smarter.