417 lines
8.6 KiB
Markdown
417 lines
8.6 KiB
Markdown
# 🔐 Configurare Operatori și HUB Linking - Ghid Complet
|
|
|
|
> **Data**: 13 februarie 2026
|
|
> **Limbă**: Română
|
|
> **Feature**: Operator + HUB Linking Automată
|
|
|
|
---
|
|
|
|
## 🎯 Noile Funcționalități
|
|
|
|
Scriptul `install.sh` cere acum automat:
|
|
|
|
1. **Username operator** - Cere cum vrei să-i spui operatorului
|
|
2. **Parola operator** - Cere parola și o criptează automat
|
|
3. **Este HUB?** - Cere dacă serverul e HUB sau nu
|
|
4. **HUB Linking** - Dacă e HUB, cere date pentru conectare la HUB principal
|
|
|
|
---
|
|
|
|
## 📋 Flux Instalare Nou
|
|
|
|
```bash
|
|
./install.sh
|
|
|
|
# 1. Cereri Configurare Server (anterior)
|
|
Domeniu rețea [underchat.org]:
|
|
Nume server [ns1.underchat.org]:
|
|
Etc...
|
|
|
|
# 2. ✨ NOUĂ: Cereri Configurare Operator
|
|
═══════════════════════════════════════
|
|
CONFIGURARE OPERATOR
|
|
═══════════════════════════════════════
|
|
|
|
Username operator [AdminRoot]:
|
|
Parola operator: ••••••••••
|
|
Repetă parola: ••••••••••
|
|
[INFO] Generare hash parola...
|
|
[SUCCES] Parola operator criptată
|
|
|
|
# 3. ✨ NOUĂ: Cereri Configurare HUB
|
|
═══════════════════════════════════════
|
|
CONFIGURARE HUB
|
|
═══════════════════════════════════════
|
|
|
|
Este aceasta un server HUB? (y/n) [n]: y
|
|
|
|
[INFO] Configurare LINK la HUB principal
|
|
|
|
Nume HUB [hub.underchat.org]:
|
|
IP/Host HUB [192.168.1.100]:
|
|
Port HUB [4400]:
|
|
Parola linking: •••••••••••
|
|
|
|
# Generator ircd.conf cu toți parametrii
|
|
|
|
GATA! Server ready!
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 Configurare Operatori
|
|
|
|
### Ce se întâmplă automat:
|
|
|
|
1. **Cere username operator** (ex: AdminRoot, root, operator)
|
|
2. **Cere parola** (2x, cu validare)
|
|
3. **Generează hash** $PLAIN$password
|
|
4. **Adaugă în ircd.conf** secțiune Operator completă
|
|
|
|
### Exemplu config generat:
|
|
|
|
```
|
|
Operator {
|
|
# Nickname-ul operatorului
|
|
name = "AdminRoot";
|
|
|
|
# Password-ul (hash auto-generat)
|
|
password = "$PLAIN$mypassword123";
|
|
|
|
# Host-uri permise
|
|
host = "*@*";
|
|
|
|
# Clasă
|
|
class = "Opers";
|
|
|
|
# Permisiuni
|
|
admin = yes;
|
|
hide_oper = no;
|
|
hide_channels = no;
|
|
};
|
|
```
|
|
|
|
### Validare Parola:
|
|
|
|
- ✅ Minim 4 caractere
|
|
- ✅ Repetă pentru confirmare
|
|
- ✅ Cript automat
|
|
- ✅ Format ready pentru ircd
|
|
|
|
---
|
|
|
|
## 🌐 Configurare HUB Linking
|
|
|
|
### Dacă răspunzi "y" la "Este aceasta un server HUB?":
|
|
|
|
Script-ul cere:
|
|
|
|
```
|
|
1. Nume HUB (hub.underchat.org)
|
|
2. IP/Host HUB (192.168.1.100)
|
|
3. Port HUB (4400)
|
|
4. Parola linking (secret_password)
|
|
```
|
|
|
|
### Exemplu config generat (dacă e HUB):
|
|
|
|
```
|
|
# ============================================================================
|
|
# SECȚIUNE: CONNECT - Legări cu alte servere
|
|
# ============================================================================
|
|
|
|
# Conectare la HUB principal
|
|
Connect {
|
|
name = "hub.underchat.org";
|
|
host = "192.168.1.100";
|
|
password = "secret_password";
|
|
port = 4400;
|
|
class = "Server";
|
|
autoconnect = yes;
|
|
hub;
|
|
};
|
|
```
|
|
|
|
### Exemplu config generat (dacă NU e HUB):
|
|
|
|
```
|
|
# ============================================================================
|
|
# SECȚIUNE: CONNECT - Legări cu alte servere
|
|
# ============================================================================
|
|
|
|
# Server nu este HUB - fără connect
|
|
```
|
|
|
|
### Feature "HUB" și în features secțiune:
|
|
|
|
**Dacă e HUB:**
|
|
```
|
|
"HUB" = "TRUE";
|
|
```
|
|
|
|
**Dacă NU e HUB:**
|
|
```
|
|
"HUB" = "FALSE";
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 Flux Complet Instalare
|
|
|
|
```bash
|
|
# 1. Clone și update
|
|
cd ~/ircu2
|
|
git pull origin main
|
|
|
|
# 2. Lansare install
|
|
./install.sh
|
|
|
|
# 3. Răspunde la toate întrebările (inclusiv operator + HUB)
|
|
# - Domeniu: underchat.org
|
|
# - Nume server: ns1.underchat.org
|
|
# - ...alte setări...
|
|
# - Username operator: AdminRoot
|
|
# - Parola: ••••••••••
|
|
# - E HUB? y
|
|
# - Nume HUB: hub.underchat.org
|
|
# - IP HUB: 192.168.1.100
|
|
# - Port HUB: 4400
|
|
# - Parola linking: secret123
|
|
|
|
# 4. Script-ul generează ircd.conf complet cu:
|
|
# - Server config
|
|
# - Admin info
|
|
# - Operatori cu parola
|
|
# - HUB Connect (dacă e HUB)
|
|
# - Features (HUB=TRUE/FALSE)
|
|
|
|
# 5. Verifică și pornește
|
|
./admin.sh
|
|
# → 4) Verifica status
|
|
# → 1) Pornire server
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 Exemplu: Server Leaf (NU e HUB)
|
|
|
|
```bash
|
|
./install.sh
|
|
|
|
# Output:
|
|
Domeniu rețea [underchat.org]: underchat.org
|
|
Nume server [ns1.underchat.org]: leaf.underchat.org
|
|
...
|
|
Username operator [AdminRoot]: MyOperator
|
|
Parola operator: mypass123
|
|
Repetă parola: mypass123
|
|
[SUCCES] Parola operator criptată
|
|
|
|
Este aceasta un server HUB? (y/n) [n]: n
|
|
# (Nu cere info HUB)
|
|
```
|
|
|
|
**ircd.conf generat:**
|
|
```
|
|
features {
|
|
"HUB" = "FALSE";
|
|
...
|
|
};
|
|
|
|
# ============================================================================
|
|
# SECȚIUNE: CONNECT
|
|
# ============================================================================
|
|
|
|
# Server nu este HUB - fără connect
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 Exemplu: Server HUB
|
|
|
|
```bash
|
|
./install.sh
|
|
|
|
# Output:
|
|
Domeniu rețea [underchat.org]: underchat.org
|
|
Nume server [ns1.underchat.org]: hub1.underchat.org
|
|
...
|
|
Username operator [AdminRoot]: HubAdmin
|
|
Parola operator: hubpass456
|
|
Repetă parola: hubpass456
|
|
[SUCCES] Parola operator criptată
|
|
|
|
Este aceasta un server HUB? (y/n) [n]: y
|
|
|
|
[INFO] Configurare LINK la HUB principal
|
|
|
|
Nume HUB [hub.underchat.org]: hub2.underchat.org
|
|
IP/Host HUB [192.168.1.100]: 10.0.0.100
|
|
Port HUB [4400]: 4400
|
|
Parola linking: linkpass789
|
|
```
|
|
|
|
**ircd.conf generat:**
|
|
```
|
|
Operator {
|
|
name = "HubAdmin";
|
|
password = "$PLAIN$hubpass456";
|
|
...
|
|
};
|
|
|
|
features {
|
|
"HUB" = "TRUE";
|
|
...
|
|
};
|
|
|
|
Connect {
|
|
name = "hub2.underchat.org";
|
|
host = "10.0.0.100";
|
|
password = "linkpass789";
|
|
port = 4400;
|
|
class = "Server";
|
|
autoconnect = yes;
|
|
hub;
|
|
};
|
|
```
|
|
|
|
---
|
|
|
|
## 🔍 Validare Parolă
|
|
|
|
### Ce verifică script-ul:
|
|
|
|
✅ Lungime minim 4 caractere
|
|
✅ Potrivire pe confirm
|
|
✅ Criptare automat
|
|
✅ Format $PLAIN$password
|
|
|
|
### Erori posibile:
|
|
|
|
```
|
|
[EROARE] Parola prea scurtă! Minim 4 caractere.
|
|
→ Încearcă din nou cu parola mai lungă
|
|
|
|
[EROARE] Parolele nu se potrivesc!
|
|
→ Re-introdu parolele, trebuie identice
|
|
```
|
|
|
|
---
|
|
|
|
## 🎛️ Parametri Operator Generați
|
|
|
|
În fișierul ircd.conf:
|
|
|
|
```
|
|
name = "AdminRoot" # Username operator
|
|
password = "$PLAIN$parola" # Hash parola
|
|
host = "*@*" # Orice host
|
|
class = "Opers" # Clasa de operatori
|
|
admin = yes/no # Administrator complet?
|
|
hide_oper = yes/no # Ascunde status oper
|
|
hide_channels = yes/no # Ascunde canale
|
|
```
|
|
|
|
---
|
|
|
|
## 🎛️ Parametri HUB Generați
|
|
|
|
În fișierul ircd.conf:
|
|
|
|
```
|
|
Connect {
|
|
name = "hub.underchat.org" # Nume HUB
|
|
host = "192.168.1.100" # IP/Host HUB
|
|
password = "secret_password" # Parola linking
|
|
port = 4400 # Port HUB
|
|
class = "Server" # Clasa server
|
|
autoconnect = yes # Conectare automată
|
|
hub; # Este HUB
|
|
};
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 Comenzi După Instalare
|
|
|
|
```bash
|
|
# Verifică operatori în config
|
|
grep -A 5 "^Operator" ~/ircd/etc/ircd.conf
|
|
|
|
# Verifică Connect block (HUB)
|
|
grep -A 8 "^Connect" ~/ircd/etc/ircd.conf
|
|
|
|
# Verifică feature HUB
|
|
grep "HUB" ~/ircd/etc/ircd.conf
|
|
|
|
# Pornire server
|
|
./admin.sh → 1) Pornire server
|
|
|
|
# Login operator
|
|
/OPER AdminRoot mypass123
|
|
|
|
# Verifică status operator
|
|
/STATS u
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Fișiere Actualizate
|
|
|
|
- ✅ **install.sh** - +23 linii, funcții noi, cereri interactive
|
|
- ✅ Nicio modificare alte fișiere
|
|
- ✅ Backward compatible cu versiunile vechi
|
|
|
|
---
|
|
|
|
## 🆘 Troubleshooting
|
|
|
|
### Q: "Parola prea scurtă"
|
|
A: Parola trebuie minim 4 caractere
|
|
|
|
### Q: "Parolele nu se potrivesc"
|
|
A: Introdu aceeași parola de 2 ori
|
|
|
|
### Q: "Script nu acceptă parola"
|
|
A: Asigură-te că ai introdus corect
|
|
|
|
### Q: "HUB nu se conectează"
|
|
A: Verifică:
|
|
- Nume HUB corect
|
|
- IP/Host corect
|
|
- Port corect (implicit 4400)
|
|
- Parola potrivită
|
|
|
|
### Q: "Operator nu funcționează"
|
|
A: Verifică:
|
|
- Username corect în config
|
|
- Parola potrivită
|
|
- Host matching (*@*)
|
|
|
|
---
|
|
|
|
## 📚 Documentație Suplimentară
|
|
|
|
- **CONFIGURARE_PROFESIONALA.md** - Descriere completă secțiuni
|
|
- **INSTALL_AUTO.md** - Ghid instalare detaliat
|
|
- **admin.sh** - Meniu administrare
|
|
|
|
---
|
|
|
|
## ✨ Status
|
|
|
|
✅ Cereri operatori implementate
|
|
✅ Parole criptate automat
|
|
✅ HUB linking configurat
|
|
✅ Validare intrări completă
|
|
✅ Documentație în limba română
|
|
✅ Push pe Gitea
|
|
|
|
---
|
|
|
|
**Data**: 13 februarie 2026
|
|
**Feature**: Operator + HUB Linking
|
|
**Status**: ✅ Production Ready
|
|
|
|
|