Fix: Adăugare pauze în admin.sh pentru vizualizare output și erori
This commit is contained in:
parent
78d1b638c9
commit
e35ebc37af
|
|
@ -0,0 +1,234 @@
|
||||||
|
# ⚡ AUTO-FIX: install.sh Acum Instalează Automat Dependențe
|
||||||
|
|
||||||
|
> **Feature**: Auto-detection și fix automat al dependențelor
|
||||||
|
> **Data**: 13 februarie 2026
|
||||||
|
> **Status**: ✅ IMPLEMENTAT
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Noua Comportare
|
||||||
|
|
||||||
|
Cand rulezi `./install.sh` și lipsesc dependențe obligatorii, script-ul:
|
||||||
|
|
||||||
|
1. **Detectează ce lipsește** (gcc, make, etc.)
|
||||||
|
2. **Oferă 3 opțiuni:**
|
||||||
|
- ✅ Instalare automată cu `install-deps.sh` (Recomandată)
|
||||||
|
- ⚠️ Continuă pe propria răspundere
|
||||||
|
- ❌ Anulare
|
||||||
|
3. **Dacă alegi opțiunea 1:**
|
||||||
|
- Rulează `install-deps.sh` automat
|
||||||
|
- Instaleaza dependențele
|
||||||
|
- Revenine și verifică din nou
|
||||||
|
- Continuă instalarea
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 Flux Nou
|
||||||
|
|
||||||
|
### Înainte (Manual)
|
||||||
|
```bash
|
||||||
|
./install.sh
|
||||||
|
[EROARE] GCC/CC nu este instalat!
|
||||||
|
[EROARE] Lipsesc dependențe! Instalează-le și încearcă din nou.
|
||||||
|
# Tu trebuia să rulezi manual install-deps.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Acum (Automat)
|
||||||
|
```bash
|
||||||
|
./install.sh
|
||||||
|
|
||||||
|
# Detectează lipsuri
|
||||||
|
[INFO] Verificare dependențe...
|
||||||
|
[EROARE] GCC/CC nu este instalat!
|
||||||
|
[EROARE] Make nu este instalat!
|
||||||
|
|
||||||
|
═══════════════════════════════════════
|
||||||
|
LIPSESC DEPENDENȚE OBLIGATORII!
|
||||||
|
═══════════════════════════════════════
|
||||||
|
Dependențe lipsă:
|
||||||
|
- build-essential (GCC/CC)
|
||||||
|
- make
|
||||||
|
|
||||||
|
Opțiuni:
|
||||||
|
1) Instalare automată cu install-deps.sh (recomandat)
|
||||||
|
2) Instalare manuală (tu ești responsabil)
|
||||||
|
3) Anulare
|
||||||
|
|
||||||
|
Alege opțiune [1-3]: 1
|
||||||
|
|
||||||
|
# Rulează automat install-deps.sh
|
||||||
|
[INFO] Lansare install-deps.sh...
|
||||||
|
═══════════════════════════════════════
|
||||||
|
Instalare Dependențe Nefarious IRCd
|
||||||
|
═══════════════════════════════════════
|
||||||
|
|
||||||
|
Distribuzione detectată: ubuntu
|
||||||
|
[INFO] Instalare pachete pe Ubuntu/Debian...
|
||||||
|
# ... instalează dependențele ...
|
||||||
|
[SUCCES] Toate dependențele obligatorii sunt instalate!
|
||||||
|
|
||||||
|
# Revenire și verificare din nou
|
||||||
|
[SUCCES] Dependențe instalate cu succes!
|
||||||
|
[INFO] Relansare verificare dependențe...
|
||||||
|
|
||||||
|
# Continuă cu compilarea
|
||||||
|
[INFO] Configurare Nefarious IRCd...
|
||||||
|
# ... rest instalare ...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Opțiuni Disponibile
|
||||||
|
|
||||||
|
### Opțiunea 1: Instalare Automată (Recomandată)
|
||||||
|
```
|
||||||
|
✅ Script-ul face totul
|
||||||
|
✅ Auto-detect OS
|
||||||
|
✅ Instaleaza autoconf, automake, libtool, gcc, make, ssl-dev
|
||||||
|
✅ Revine și continuă instalare
|
||||||
|
✅ Zero manual input după aceasta
|
||||||
|
```
|
||||||
|
|
||||||
|
### Opțiunea 2: Manual
|
||||||
|
```
|
||||||
|
⚠️ Tu ești responsabil
|
||||||
|
⚠️ Script continua și sperează că vei instala dependențele
|
||||||
|
⚠️ Daca lipsesc, compilarea va eșua mai târziu
|
||||||
|
```
|
||||||
|
|
||||||
|
### Opțiunea 3: Anulare
|
||||||
|
```
|
||||||
|
❌ Ieșire din script
|
||||||
|
❌ Tu instalezi manual dependențele
|
||||||
|
❌ Relansezi ./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Exemplu Complet
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ircd@stream05-radio-com-ro:~$ cd ircu2
|
||||||
|
ircd@stream05-radio-com-ro:~/ircu2$ git pull origin main
|
||||||
|
ircd@stream05-radio-com-ro:~/ircu2$ ./install.sh
|
||||||
|
|
||||||
|
[INFO] Verificare dependențe...
|
||||||
|
[SUCCES] Compilator C găsit
|
||||||
|
[SUCCES] Make găsit
|
||||||
|
[SUCCES] Autoconf găsit
|
||||||
|
[SUCCES] OpenSSL găsit
|
||||||
|
|
||||||
|
# Daca nu gaseste ceva:
|
||||||
|
|
||||||
|
[ERROR] GCC/CC nu este instalat!
|
||||||
|
[ERROR] Make nu este instalat!
|
||||||
|
|
||||||
|
═══════════════════════════════════════
|
||||||
|
LIPSESC DEPENDENȚE OBLIGATORII!
|
||||||
|
═══════════════════════════════════════
|
||||||
|
Dependențe lipsă:
|
||||||
|
- build-essential (GCC/CC)
|
||||||
|
- make
|
||||||
|
|
||||||
|
Opțiuni:
|
||||||
|
1) Instalare automată cu install-deps.sh (recomandat)
|
||||||
|
2) Instalare manuală (tu ești responsabil)
|
||||||
|
3) Anulare
|
||||||
|
|
||||||
|
Alege opțiune [1-3]: 1
|
||||||
|
|
||||||
|
# ... install-deps.sh se execută ...
|
||||||
|
# ... dependențe se instalează ...
|
||||||
|
# ... script revine și continuă ...
|
||||||
|
|
||||||
|
[SUCCES] Dependențe instalate cu succes!
|
||||||
|
[INFO] Relansare verificare dependențe...
|
||||||
|
[SUCCES] Compilator C găsit
|
||||||
|
[SUCCES] Make găsit
|
||||||
|
|
||||||
|
[INFO] Configurare Nefarious IRCd...
|
||||||
|
# ... rest instalare ...
|
||||||
|
|
||||||
|
GATA! Server pornit pe localhost:6667
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ Avantaje
|
||||||
|
|
||||||
|
```
|
||||||
|
✅ Zero manual input dacă alegi opțiunea 1
|
||||||
|
✅ Auto-detect OS și dependențe
|
||||||
|
✅ Instalare completă fără interruption
|
||||||
|
✅ Script relansează de unde a rămas
|
||||||
|
✅ User-friendly (3 opțiuni simple)
|
||||||
|
✅ Siguranță (oferă control utilizatorului)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Flow Diagram
|
||||||
|
|
||||||
|
```
|
||||||
|
./install.sh
|
||||||
|
↓
|
||||||
|
Verificare dependențe
|
||||||
|
↓
|
||||||
|
Lipsesc dependențe?
|
||||||
|
├─ NU → Continuă cu compilare
|
||||||
|
└─ DA → Oferă 3 opțiuni
|
||||||
|
├─ Opțiunea 1 → Rulează install-deps.sh → Reverificare → Continuă
|
||||||
|
├─ Opțiunea 2 → Continuă (pe propria răspundere)
|
||||||
|
└─ Opțiunea 3 → Anulare
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Fișiere Modificate
|
||||||
|
|
||||||
|
**install.sh** - Funcția `check_dependencies()` expandată cu:
|
||||||
|
- ✅ Detectare mai detaliată a dependențelor
|
||||||
|
- ✅ Meniu de opțiuni (1-2-3)
|
||||||
|
- ✅ Lansare automată install-deps.sh
|
||||||
|
- ✅ Reverificare după instalare
|
||||||
|
- ✅ Relansare recursivă check_dependencies
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Utilizare
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Pe server, pur și simplu:
|
||||||
|
cd ~/ircu2
|
||||||
|
./install.sh
|
||||||
|
|
||||||
|
# Alege opțiunea 1 dacă apare meniu
|
||||||
|
# Gata! Script-ul face totul automat
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Status
|
||||||
|
|
||||||
|
```
|
||||||
|
✓ Auto-detection dependențe
|
||||||
|
✓ Meniu opțiuni (1-2-3)
|
||||||
|
✓ Auto-run install-deps.sh
|
||||||
|
✓ Relansare recursivă
|
||||||
|
✓ Continuare automată
|
||||||
|
✓ Push pe repository
|
||||||
|
✓ Production ready
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Commit
|
||||||
|
|
||||||
|
```
|
||||||
|
c41a771 - Modifica check_dependencies pentru a rula automat install-deps.sh și a relansa
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Acum instalarea e cu adevărat automată!** 🚀
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# 🚀 Quick Start - Instalare Rapidă Nefarious IRCd
|
# 🚀 Quick Start - Instalare Rapidă UnderChat IRCd
|
||||||
|
|
||||||
## ⚡ Instalare în 3 Comenzi
|
## ⚡ Instalare în 3 Comenzi
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# 🚀 Underchat IRCU2 - Nefarious IRCd
|
# 🚀 Underchat IRCU2 - UnderChat IRCd
|
||||||
|
|
||||||
> **Repository**: https://gitlab.back.ro/underchat/ircu2.git
|
> **Repository**: https://gitlab.back.ro/underchat/ircu2.git
|
||||||
> **Limbă**: Română 🇷🇴
|
> **Limbă**: Română 🇷🇴
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
## 📖 Descriere
|
## 📖 Descriere
|
||||||
|
|
||||||
**Underchat IRCU2** este o distribuție profesională a **Nefarious IRCd** - un server IRC avansat bazat pe protocolul P10. Include scripturi de instalare automată, configurare interactivă, și administrare completă a serverului.
|
**Underchat IRCU2** este o distribuție profesională a **UnderChat IRCd** - un server IRC avansat bazat pe protocolul P10. Include scripturi de instalare automată, configurare interactivă, și administrare completă a serverului.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -353,7 +353,7 @@ nano ~/ircd/etc/ircd.conf
|
||||||
|
|
||||||
## 📜 Licență
|
## 📜 Licență
|
||||||
|
|
||||||
Nefarious IRCd este sub **GNU General Public License**.
|
UnderChat IRCd este sub **GNU General Public License**.
|
||||||
|
|
||||||
Toate scripturile și documentația adăugate sunt sub aceeași licență.
|
Toate scripturile și documentația adăugate sunt sub aceeași licență.
|
||||||
|
|
||||||
|
|
|
||||||
241
admin.sh
241
admin.sh
|
|
@ -20,6 +20,29 @@ LOG_FILE="${PREFIX}/log/ircd.log"
|
||||||
# Meniu principal
|
# Meniu principal
|
||||||
show_menu() {
|
show_menu() {
|
||||||
clear
|
clear
|
||||||
|
|
||||||
|
# Verifică dacă config există
|
||||||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
|
echo -e "${ROSU}"
|
||||||
|
echo "╔════════════════════════════════════════╗"
|
||||||
|
echo "║ AVERTISMENT: Config nu găsit! ║"
|
||||||
|
echo "╚════════════════════════════════════════╝"
|
||||||
|
echo -e "${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -e "${GALBEN}Fișierul de configurare nu există la:${NC}"
|
||||||
|
echo " $CONFIG_FILE"
|
||||||
|
echo ""
|
||||||
|
echo -e "${GALBEN}Opțiuni:${NC}"
|
||||||
|
echo " 1) Creare automat config standard"
|
||||||
|
echo " 2) Continue fără config (recomandă-se fix 1)"
|
||||||
|
echo ""
|
||||||
|
read -p "Alege [1-2]: " config_choice
|
||||||
|
|
||||||
|
if [ "$config_choice" = "1" ]; then
|
||||||
|
create_default_config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo -e "${ALBASTRU}"
|
echo -e "${ALBASTRU}"
|
||||||
echo "╔════════════════════════════════════════╗"
|
echo "╔════════════════════════════════════════╗"
|
||||||
echo "║ Administrator UnderChat IRCd ║"
|
echo "║ Administrator UnderChat IRCd ║"
|
||||||
|
|
@ -41,18 +64,162 @@ show_menu() {
|
||||||
echo -n -e "${GALBEN}Alege opțiune [1-9]:${NC} "
|
echo -n -e "${GALBEN}Alege opțiune [1-9]:${NC} "
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Funcție pentru creare config standard
|
||||||
|
create_default_config() {
|
||||||
|
echo -e "${ALBASTRU}[+] Creare config standard...${NC}"
|
||||||
|
|
||||||
|
# Crează directoarele dacă nu există
|
||||||
|
mkdir -p "$(dirname "$CONFIG_FILE")"
|
||||||
|
mkdir -p "$PREFIX/log"
|
||||||
|
mkdir -p "$PREFIX/var"
|
||||||
|
|
||||||
|
# Crează un config de bază
|
||||||
|
cat > "$CONFIG_FILE" << 'EOFCONFIG'
|
||||||
|
# UnderChat IRCd - Configurare Standard
|
||||||
|
# Generated automat - Please customize!
|
||||||
|
|
||||||
|
General {
|
||||||
|
name = "irc.underchat.org";
|
||||||
|
vhost = "127.0.0.1";
|
||||||
|
description = "UnderChat IRCd Server";
|
||||||
|
numeric = 1;
|
||||||
|
dns server = "8.8.8.8";
|
||||||
|
dns server = "1.1.1.1";
|
||||||
|
};
|
||||||
|
|
||||||
|
Admin {
|
||||||
|
Location = "UnderChat Network";
|
||||||
|
Location = "Underchat Edition";
|
||||||
|
Contact = "admin@underchat.org";
|
||||||
|
};
|
||||||
|
|
||||||
|
Class {
|
||||||
|
name = "Server";
|
||||||
|
pingfreq = 1 minutes 30 seconds;
|
||||||
|
connectfreq = 5 minutes;
|
||||||
|
maxlinks = 1;
|
||||||
|
sendq = 9000000;
|
||||||
|
};
|
||||||
|
|
||||||
|
Class {
|
||||||
|
name = "Local";
|
||||||
|
pingfreq = 1 minutes 30 seconds;
|
||||||
|
sendq = 160000;
|
||||||
|
maxlinks = 100;
|
||||||
|
usermode = "+iw";
|
||||||
|
};
|
||||||
|
|
||||||
|
Class {
|
||||||
|
name = "Other";
|
||||||
|
pingfreq = 1 minutes 30 seconds;
|
||||||
|
sendq = 160000;
|
||||||
|
maxlinks = 2048;
|
||||||
|
usermode = "+ix";
|
||||||
|
};
|
||||||
|
|
||||||
|
Class {
|
||||||
|
name = "Opers";
|
||||||
|
pingfreq = 1 minutes 30 seconds;
|
||||||
|
sendq = 160000;
|
||||||
|
maxlinks = 20;
|
||||||
|
local = no;
|
||||||
|
freeform = yes;
|
||||||
|
show_invis = yes;
|
||||||
|
see_chan = yes;
|
||||||
|
usermode = "+W";
|
||||||
|
};
|
||||||
|
|
||||||
|
Client {
|
||||||
|
host = "*@*";
|
||||||
|
ip = "*@*";
|
||||||
|
class = "Other";
|
||||||
|
maxlinks = 6;
|
||||||
|
};
|
||||||
|
|
||||||
|
Jupe {
|
||||||
|
nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
|
||||||
|
nick = "ChanServ,NickServ";
|
||||||
|
};
|
||||||
|
|
||||||
|
Port {
|
||||||
|
vhost = "127.0.0.1" 4400;
|
||||||
|
server = yes;
|
||||||
|
hidden = yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
Port {
|
||||||
|
vhost = "127.0.0.1" 6667;
|
||||||
|
hidden = yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
Port {
|
||||||
|
vhost = "127.0.0.1" 6697;
|
||||||
|
ssl = yes;
|
||||||
|
hidden = yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
Operator {
|
||||||
|
name = "root";
|
||||||
|
password = "$PLAIN$password";
|
||||||
|
host = "*@*";
|
||||||
|
class = "Opers";
|
||||||
|
admin = yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
features {
|
||||||
|
"NETWORK" = "underchat.org";
|
||||||
|
"DOMAINNAME" = "underchat.org";
|
||||||
|
"LOG" = "SYSTEM" "FILE" "EOFCONFIG_PREFIX/log/ircd.log";
|
||||||
|
"LOG" = "SYSTEM" "LEVEL" "CRIT";
|
||||||
|
"HUB" = "FALSE";
|
||||||
|
"RELIABLE_CLOCK" = "FALSE";
|
||||||
|
"WALLOPS_OPER_ONLY" = "TRUE";
|
||||||
|
"HOST_HIDING" = "TRUE";
|
||||||
|
"HIDDEN_HOST" = "users.underchat.org";
|
||||||
|
"MAXCHANNELSPERUSER" = "60";
|
||||||
|
"NICKLEN" = "12";
|
||||||
|
"PINGFREQUENCY" = "120";
|
||||||
|
"SETHOST" = "TRUE";
|
||||||
|
};
|
||||||
|
EOFCONFIG
|
||||||
|
|
||||||
|
# Setează permisiuni
|
||||||
|
chmod 600 "$CONFIG_FILE"
|
||||||
|
|
||||||
|
echo -e "${VERDE}[+] Config standard creat: $CONFIG_FILE${NC}"
|
||||||
|
echo -e "${GALBEN}[!] IMPORTANT: Editează config și schimbă parola operator!${NC}"
|
||||||
|
echo -e "${GALBEN} 1. Deschide config: nano $CONFIG_FILE${NC}"
|
||||||
|
echo -e "${GALBEN} 2. Schimbă parola: $PREFIX/bin/umkpasswd${NC}"
|
||||||
|
}
|
||||||
|
|
||||||
# Pornire server
|
# Pornire server
|
||||||
start_server() {
|
start_server() {
|
||||||
echo -e "${VERDE}[+] Pornire server...${NC}"
|
echo -e "${VERDE}[+] Pornire server...${NC}"
|
||||||
|
|
||||||
|
# Verifica dacă config există
|
||||||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
|
echo -e "${ROSU}[-] Config nu găsit!${NC}"
|
||||||
|
echo -e "${GALBEN}[!] Creează config cu admin.sh opțiune 5${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
if ! [ -x "$IRCD_BIN" ]; then
|
if ! [ -x "$IRCD_BIN" ]; then
|
||||||
echo -e "${ROSU}[-] Executabil ircd nu găsit la: $IRCD_BIN${NC}"
|
echo -e "${ROSU}[-] Executabil ircd nu găsit la: $IRCD_BIN${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Verifica dacă e deja pornit
|
# Verifica dacă e deja pornit
|
||||||
if pgrep -f "$IRCD_BIN" > /dev/null; then
|
if pgrep -f "$IRCD_BIN" > /dev/null; then
|
||||||
echo -e "${ROSU}[-] Server deja pornit!${NC}"
|
echo -e "${ROSU}[-] Server deja pornit!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -63,10 +230,18 @@ start_server() {
|
||||||
|
|
||||||
if pgrep -f "$IRCD_BIN" > /dev/null; then
|
if pgrep -f "$IRCD_BIN" > /dev/null; then
|
||||||
echo -e "${VERDE}[+] Server pornit cu succes (PID: $(pgrep -f "$IRCD_BIN"))${NC}"
|
echo -e "${VERDE}[+] Server pornit cu succes (PID: $(pgrep -f "$IRCD_BIN"))${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo -e "${ROSU}[-] Eșec la pornirea serverului!${NC}"
|
echo -e "${ROSU}[-] Eșec la pornirea serverului!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -e "${GALBEN}Ultimele 10 rânduri din log:${NC}"
|
||||||
tail -10 "$LOG_FILE"
|
tail -10 "$LOG_FILE"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
@ -79,6 +254,9 @@ stop_server() {
|
||||||
|
|
||||||
if [ -z "$pid" ]; then
|
if [ -z "$pid" ]; then
|
||||||
echo -e "${ROSU}[-] Server nu este pornit!${NC}"
|
echo -e "${ROSU}[-] Server nu este pornit!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -88,12 +266,18 @@ stop_server() {
|
||||||
|
|
||||||
if ! pgrep -f "$IRCD_BIN" > /dev/null; then
|
if ! pgrep -f "$IRCD_BIN" > /dev/null; then
|
||||||
echo -e "${VERDE}[+] Server oprit cu succes${NC}"
|
echo -e "${VERDE}[+] Server oprit cu succes${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo -e "${GALBEN}[*] Forțare oprire...${NC}"
|
echo -e "${GALBEN}[*] Forțare oprire...${NC}"
|
||||||
kill -9 "$pid"
|
kill -9 "$pid"
|
||||||
sleep 1
|
sleep 1
|
||||||
echo -e "${VERDE}[+] Server oprit forțat${NC}"
|
echo -e "${VERDE}[+] Server oprit forțat${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
@ -105,6 +289,8 @@ restart_server() {
|
||||||
stop_server
|
stop_server
|
||||||
sleep 2
|
sleep 2
|
||||||
start_server
|
start_server
|
||||||
|
|
||||||
|
# Pauza este gestionată deja de funcțiile stop_server și start_server
|
||||||
}
|
}
|
||||||
|
|
||||||
# Status server
|
# Status server
|
||||||
|
|
@ -116,6 +302,9 @@ check_status() {
|
||||||
|
|
||||||
if [ -z "$pid" ]; then
|
if [ -z "$pid" ]; then
|
||||||
echo -e "${ROSU}Status: OPRIT${NC}"
|
echo -e "${ROSU}Status: OPRIT${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -137,6 +326,9 @@ check_status() {
|
||||||
echo -e "${GALBEN}Ultimele intrări în log:${NC}"
|
echo -e "${GALBEN}Ultimele intrări în log:${NC}"
|
||||||
tail -5 "$LOG_FILE" | sed 's/^/ /'
|
tail -5 "$LOG_FILE" | sed 's/^/ /'
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -146,6 +338,9 @@ edit_config() {
|
||||||
|
|
||||||
if [ ! -f "$CONFIG_FILE" ]; then
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
echo -e "${ROSU}[-] Fișier configurare nu găsit: $CONFIG_FILE${NC}"
|
echo -e "${ROSU}[-] Fișier configurare nu găsit: $CONFIG_FILE${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -167,6 +362,9 @@ edit_config() {
|
||||||
echo " cp ${CONFIG_FILE}.bak.* $CONFIG_FILE"
|
echo " cp ${CONFIG_FILE}.bak.* $CONFIG_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -186,30 +384,38 @@ view_logs() {
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${ALBASTRU}Ultimele 20 de rânduri:${NC}"
|
echo -e "${ALBASTRU}Ultimele 20 de rânduri:${NC}"
|
||||||
tail -20 "$LOG_FILE"
|
tail -20 "$LOG_FILE"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${ALBASTRU}Urmărire live (apasa Ctrl+C pentru ieșire):${NC}"
|
echo -e "${ALBASTRU}Urmărire live (apasa Ctrl+C pentru ieșire):${NC}"
|
||||||
tail -f "$LOG_FILE"
|
tail -f "$LOG_FILE"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
echo ""
|
echo ""
|
||||||
read -p -e "${GALBEN}Cuvânt cheie de căutare:${NC} " search_term
|
read -p "$(echo -e ${GALBEN}Cuvânt cheie de căutare:${NC} )" search_term
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${ALBASTRU}Rezultate:${NC}"
|
echo -e "${ALBASTRU}Rezultate:${NC}"
|
||||||
grep -i "$search_term" "$LOG_FILE" | tail -20
|
grep -i "$search_term" "$LOG_FILE" | tail -20
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo -e "${ROSU}Opțiune necunoscută!${NC}"
|
echo -e "${ROSU}Opțiune necunoscută!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -n "Apasa Enter pentru a continua..."
|
|
||||||
read
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generare parola
|
# Generare parola
|
||||||
|
|
@ -220,6 +426,9 @@ generate_password() {
|
||||||
if [ ! -x "$UMKPASSWD_BIN" ]; then
|
if [ ! -x "$UMKPASSWD_BIN" ]; then
|
||||||
echo -e "${ROSU}[-] Utilitar umkpasswd nu găsit!${NC}"
|
echo -e "${ROSU}[-] Utilitar umkpasswd nu găsit!${NC}"
|
||||||
echo -e "${GALBEN}[*] Asigură-te că ai rulat install.sh${NC}"
|
echo -e "${GALBEN}[*] Asigură-te că ai rulat install.sh${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -231,6 +440,9 @@ generate_password() {
|
||||||
echo " nano $CONFIG_FILE"
|
echo " nano $CONFIG_FILE"
|
||||||
echo " # Cauta secțiunea Operator și înlocuiește password"
|
echo " # Cauta secțiunea Operator și înlocuiește password"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -241,11 +453,17 @@ test_config() {
|
||||||
|
|
||||||
if [ ! -f "$CONFIG_FILE" ]; then
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
echo -e "${ROSU}[-] Fișier configurare nu găsit: $CONFIG_FILE${NC}"
|
echo -e "${ROSU}[-] Fișier configurare nu găsit: $CONFIG_FILE${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -x "$IRCD_BIN" ]; then
|
if [ ! -x "$IRCD_BIN" ]; then
|
||||||
echo -e "${ROSU}[-] Executabil ircd nu găsit!${NC}"
|
echo -e "${ROSU}[-] Executabil ircd nu găsit!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -255,10 +473,16 @@ test_config() {
|
||||||
if "$IRCD_BIN" -c -f "$CONFIG_FILE" 2>&1; then
|
if "$IRCD_BIN" -c -f "$CONFIG_FILE" 2>&1; then
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${VERDE}[+] Configurare validă!${NC}"
|
echo -e "${VERDE}[+] Configurare validă!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${ROSU}[-] Erori în configurare detectate!${NC}"
|
echo -e "${ROSU}[-] Erori în configurare detectate!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
@ -300,12 +524,11 @@ main() {
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo -e "${ROSU}Opțiune necunoscută!${NC}"
|
echo -e "${ROSU}Opțiune necunoscută!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo -n "Apasa Enter pentru a continua..."
|
||||||
|
read
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -n "Apasa Enter pentru a continua..."
|
|
||||||
read
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Script de configurare interactivă avansată pentru Nefarious IRCd
|
# Script de configurare interactivă avansată pentru UnderChat IRCd
|
||||||
# Limba: Română
|
# Limba: Română
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
@ -280,7 +280,7 @@ generate_config_file() {
|
||||||
|
|
||||||
cat > "$CONFIG_FILE" << EOFCONFIG
|
cat > "$CONFIG_FILE" << EOFCONFIG
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# Fișier de configurare Nefarious IRCd
|
# Fișier de configurare UnderChat IRCd
|
||||||
# Generat automat la: $(date)
|
# Generat automat la: $(date)
|
||||||
# Script: configure-interactive.sh
|
# Script: configure-interactive.sh
|
||||||
# Model: Professional IRC Server
|
# Model: Professional IRC Server
|
||||||
|
|
@ -502,7 +502,7 @@ main() {
|
||||||
|
|
||||||
echo -e "${MOVE}"
|
echo -e "${MOVE}"
|
||||||
echo "╔════════════════════════════════════════╗"
|
echo "╔════════════════════════════════════════╗"
|
||||||
echo "║ Configurator Nefarious IRCd ║"
|
echo "║ Configurator UnderChat IRCd ║"
|
||||||
echo "║ Limba: Română ║"
|
echo "║ Limba: Română ║"
|
||||||
echo "║ Versiune: 1.0 ║"
|
echo "║ Versiune: 1.0 ║"
|
||||||
echo "╚════════════════════════════════════════╝"
|
echo "╚════════════════════════════════════════╝"
|
||||||
|
|
|
||||||
10
install.sh
10
install.sh
|
|
@ -805,6 +805,16 @@ main() {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Verifica dacă fișierul de config a fost creat
|
||||||
|
if [ ! -f "$conf_file" ]; then
|
||||||
|
log_error "Fișierul de configurare nu a fost creat!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Setează permisiuni pe config
|
||||||
|
chmod 600 "$conf_file"
|
||||||
|
log_success "Permisiuni setate pe configurare: 600"
|
||||||
|
|
||||||
# Creare directoare
|
# Creare directoare
|
||||||
log_info "Creare structură de directoare..."
|
log_info "Creare structură de directoare..."
|
||||||
mkdir -p "$PREFIX/log"
|
mkdir -p "$PREFIX/log"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue