Developer 297377b7c6 FIX: Critical startup flow issues - terminal crashes, inefficiency, inconsistency
CRITICAL FIXES:
- TERMINAL CRASH: Changed 'exit 1' to 'return 1' in library sourcing (lines 21-25)
  Cause: When launcher.sh sourced from run.sh, 'exit' terminated the parent shell
  Impact: Terminal no longer crashes when libraries fail to load

- CLEANUP FILE PATH: Simplified cleanup file creation to use consistent path
  Old: Created random temp file with mktemp (never checked by run.sh)
  New: Direct creation of /tmp/.cleanup_requested (checked by run.sh)
  Impact: Cleanup now works correctly on exit

HIGH PRIORITY:
- DATABASE QUERY OPTIMIZATION: Replaced 4 separate grep -c calls with single awk pass
  Old: 4 separate grep calls on same file (lines 666-669)
  New: Single awk pass with field counting (line 671)
  Impact: ~75% faster startup detection summary display

MEDIUM PRIORITY:
- CONSISTENT ERROR HANDLING: Standardized all read commands to use explicit failure checks
  Pattern: if ! read ... </dev/tty 2>/dev/null; then ... fi
  Applied to: startup detection prompt (line 681), main menu (line 705), cleanup prompt (line 720)
  Impact: Clearer error handling throughout launcher

- DIRECTORY INITIALIZATION: Moved init_directories out of main loop
  Old: Called on every main() invocation
  New: Called once at startup with error handling
  Impact: Fewer redundant directory creation attempts

- RUN.SH ERROR HANDLING: Added error handling for launcher.sh sourcing
  Added: Check for successful launcher.sh load with helpful error message
  Impact: Better failure diagnostics if launcher fails to load

VERIFICATION:
- Tested startup flow: Launcher initializes without crashes
- Verified menu displays correctly
- Confirmed cleanup file path consistency
- All error handling patterns standardized
2026-03-19 22:44:39 -04:00
2025-11-03 18:14:51 -05:00

🧪 Linux Server Toolkit - DEV Branch

STATUS: 🚀 Development & Testing Branch (Separate from Production)

This is the dev branch 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

S
Description
No description provided
Readme MIT 18 MiB
Languages
Shell 100%