diff --git a/launcher.sh b/launcher.sh index be42858..5f37f61 100755 --- a/launcher.sh +++ b/launcher.sh @@ -53,7 +53,7 @@ run_module() { echo "" echo -e "${RED}✗ Module not found: $category/$module${NC}" echo "" - read -p "Press Enter to continue..." + read -p "Press Enter to continue..." < /dev/tty 2>/dev/null || true return 1 fi @@ -74,7 +74,7 @@ run_module() { echo -e "${RED}✗ Exited with code: $exit_code${NC}" fi echo "" - read -p "Press Enter to continue..." + read -p "Press Enter to continue..." < /dev/tty 2>/dev/null || true } ############################################################################# @@ -135,7 +135,9 @@ show_threat_analysis_menu() { handle_threat_analysis_menu() { while true; do show_threat_analysis_menu - read -r choice + if ! read -r choice 2>/dev/null /dev/null /dev/null /dev/null /dev/null /dev/null /dev/null /dev/null /dev/null /dev/null /dev/null || true fi } @@ -622,7 +647,12 @@ main() { while true; do show_main_menu - read -r choice + + # Read from terminal (use /dev/tty directly for interaction) + if ! read -r choice 2>/dev/null /dev/null' EXIT INT TERM diff --git a/lib/reference-db.sh b/lib/reference-db.sh index 06adc68..97a0cfe 100755 --- a/lib/reference-db.sh +++ b/lib/reference-db.sh @@ -162,8 +162,8 @@ build_databases_section() { # Build MySQL command with credentials if needed local mysql_cmd="mysql" if [ "$SYS_CONTROL_PANEL" = "plesk" ] && [ -f /etc/psa/.psa.shadow ]; then - local plesk_mysql_pass=$(cat /etc/psa/.psa.shadow) - mysql_cmd="mysql -uadmin -p${plesk_mysql_pass}" + export MYSQL_PWD=$(cat /etc/psa/.psa.shadow) + mysql_cmd="mysql -uadmin" fi local total_dbs=$($mysql_cmd -Ns -e "SHOW DATABASES" 2>/dev/null | grep -v "^information_schema$\|^mysql$\|^performance_schema$\|^sys$" | wc -l) @@ -180,7 +180,7 @@ build_databases_section() { local size_mb=$($mysql_cmd -Ns -e "SELECT ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) FROM information_schema.TABLES - WHERE table_schema='$db'" 2>/dev/null) + WHERE table_schema=\`$db\`" 2>/dev/null) [ -z "$size_mb" ] && size_mb=0 local table_count=$($mysql_cmd -Ns "$db" -e "SHOW TABLES" 2>/dev/null | wc -l) @@ -190,6 +190,9 @@ build_databases_section() { finish_progress echo "" >> "$SYSREF_DB" + + # Clean up password environment variable + unset MYSQL_PWD } # Check domain HTTP/HTTPS status codes