fc24beac94f5eeff837bea7bb47353f461d03dfa
CRITICAL ISSUES FIXED: 1. Grep pipefail errors (12 locations: lines 72, 81, 90, 100, 111, 803, 1030, 1038, 1069, 1126, 1212) - Added || true to all piped grep commands to prevent script exit on no-match - With set -o pipefail, grep returning 1 (no match) causes script exit - Fixed proper operator precedence with subshell nesting 2. Domain regex escaping vulnerability (Line 1210) - CRITICAL: sed escaping incomplete - missing & \ and other metacharacters - Attack vector: domains like "example.com:evil" could break pattern - Fix: Switched from grep + sed to awk with variable comparison (safer) 3. RKHUNTER pipefail logic error (Line 1499, 1038, 1030) - Used || false instead of || true with set -o pipefail - Caused script exit when EPEL check found no matches - Fixed: Changed to || true throughout 4. Domain matching false positives (Lines 2754-2757) - Glob patterns *"/$domain/"* matched partial domains - "example.com" matched in "/test/example-prod.com/" - Fix: Added regex escape and word boundary checking 5. Temporary file cleanup missing (Lines 527, 538) - Installation logs created but not cleaned on Ctrl+C - Added trap RETURN to ensure cleanup even on interrupt - Files now cleaned up safely on function exit 6. Inconsistent scanner detection (Lines 195-218, 171-192) - detect_scanners() bypassed cache, called detection functions directly - cache_scanner_detection() cached results but main() called in wrong order - Fix: Reordered main() to cache first, detect_scanners() now uses cache when available - Reduced redundant system calls on startup HIGH PRIORITY IMPROVEMENTS: - Added safety checks for all grep operations in pipes - Improved domain matching with escape handling - Better resource cleanup on interrupts - More efficient cache usage pattern TESTING: ✓ Syntax validation passed ✓ All grep pipefail patterns fixed ✓ Domain matching improved with word boundaries ✓ Cache integration optimized Code quality improvement: Better error handling, reduced system calls, improved security.
🧪 Linux Server Toolkit - DEV Branch
STATUS: 🚀 Development & Testing Branch (Separate from Production)
This is the
devbranch for testing, development, and experimentation. Changes here are isolated from production and can be safely tested before merging to main.
🚀 Quick Start
One command - pulls dev branch with YELLOW ⚠️ BETA banner:
curl -sL https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit/archive/dev.tar.gz | tar xz && source linux-server-management-toolkit/run.sh
When exiting (option 0), answer "yes" and cleanup happens automatically - no extra steps.
📍 Key Differences (Dev vs Production)
| Feature | Dev Branch | Production |
|---|---|---|
| Cache | .sysref.beta |
.sysref |
| Version | 2.1.0-BETA |
2.1.0 |
| Banner | 🟨 Yellow (⚠️) | 🔵 Cyan |
| Git Branch | dev |
main |
| Purpose | Testing & Development | Stable/Production |
📦 Features
Comprehensive multi-panel server management suite supporting cPanel, InterWorx, Plesk, and standalone Apache with:
- 🛡️ Security & Monitoring: Live attack monitor, bot blocker, malware scanner, IP reputation
- 💾 Backup & Recovery: Acronis management, MySQL database restore
- 🌐 Website Diagnostics: Error analysis, WordPress tools, Cloudflare detection
- 📧 Email Diagnostics: Mail queue, blacklist checker, SPF/DKIM/DMARC validation
- 📊 Performance Analysis: MySQL optimization, PHP tuning, hardware health, Varnish cache
- 🔍 System Diagnostics: Health checks, loadwatch analysis, bandwidth monitoring
📖 Documentation
For detailed documentation, see the main repository: https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit
Version: 2.1.0-BETA Repository: https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit Branch: dev
Languages
Shell
100%