#!/bin/bash # Script de fix automat pentru stealth oper - setează display=no în Operator block CONFIG_FILE="/home/ircd/ircd/lib/ircd.conf" echo "=== FIX STEALTH OPER - display = no în Operator block ===" echo "" # Backup cp "$CONFIG_FILE" "${CONFIG_FILE}.backup.$(date +%Y%m%d_%H%M%S)" echo "✅ Backup creat: ${CONFIG_FILE}.backup.$(date +%Y%m%d_%H%M%S)" # Găsește și modifică Operator block-urile # Adaugă display = no; după admin = yes; dacă nu există deja awk ' /^Operator \{/ { in_operator = 1 has_display = 0 buffer = $0 "\n" next } in_operator { buffer = buffer $0 "\n" # Verifică dacă există deja display if ($0 ~ /display = /) { has_display = 1 } # Dacă găsim admin = yes; și nu avem display, adaugă-l if ($0 ~ /admin = yes;/ && !has_display) { buffer = buffer " display = no; # Stealth mode - NU apare în WHOIS\n" has_display = 1 } # Sfârșit de block if ($0 ~ /^\};/) { print buffer in_operator = 0 buffer = "" next } next } !in_operator { print } ' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE" echo "✅ Operator block modificat - display = no; adăugat" echo "" # Verifică configurația echo "=== Verificare configurație ===" /home/ircd/ircd/bin/ircd -k "$CONFIG_FILE" if [ $? -eq 0 ]; then echo "" echo "✅ Configurație OK!" echo "" echo "=== Restart IRCd ===" killall -9 ircd 2>/dev/null sleep 2 /home/ircd/ircd/bin/ircd -f "$CONFIG_FILE" sleep 2 if pgrep -x ircd > /dev/null; then echo "✅ IRCd pornit cu succes!" echo "" echo "=== Test WHOIS ===" echo "Conectează-te cu IRC client și fă:" echo "/oper YourOper password" echo "/whois YourNick" echo "" echo "NU ar trebui să apară 'is an IRC Administrator'!" else echo "❌ IRCd nu a pornit! Verifică logs:" echo "tail -50 /home/ircd/ircd/log/ircd.log" fi else echo "" echo "❌ Eroare în configurație!" echo "Restaurează backup:" echo "cp ${CONFIG_FILE}.backup.* $CONFIG_FILE" fi