ircu2/OPERATORI_HUB_LINKING.md

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