ircu2/README.md

456 lines
9.5 KiB
Markdown

# 🚀 Underchat IRCU2 - UnderChat IRCd
> **Repository**: https://gitlab.back.ro/underchat/ircu2.git
> **Limbă**: Română 🇷🇴
> **Data**: 14 februarie 2026
> **Versiune**: v1.5.0
> **Status**: ✅ Production Ready
---
## 📖 Descriere
**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.
---
## ✨ Caracteristici Principale
### 🚀 Instalare Automată
- ✅ Script `install.sh` - Complet automatizat
- ✅ Verificare dependențe automate
- ✅ Compilare și instalare
- ✅ Suport aarch64 (ARM 64-bit)
### ⚙️ Configurare Profesională
- ✅ Model bazat pe node-ase.ovh
- ✅ 8 secțiuni configurare
- ✅ 40+ features avansate
- ✅ Domeniu underchat.org preconfiguarat
### 👥 Managementul Operatorilor
- ✅ Cerere interactivă username
- ✅ Parola cu validare și criptare automată
- ✅ Format hash $PLAIN$ ready
### 🌐 Server-to-Server Linking
- ✅ Configurare link-uri server-to-server (independent de HUB/LEAF)
- ✅ Interfață interactivă pentru: nume server, IP, port, parolă
- ✅ Generare automată bloc Connect {} în ircd.conf
- ✅ Flexibilitate maximă - orice topologie de rețea
- ✅ Separare clară între HUB flag și configurarea link-urilor
### 🛠️ Administrare
- ✅ Meniu TUI `admin.sh`
- ✅ Pornire/oprire/restart
- ✅ Editare config cu backup
- ✅ Monitorizare status și log-uri
### 📖 Documentație Completă
- ✅ 9+ ghiduri în limba română
- ✅ Exemple practice
- ✅ Troubleshooting complet
- ✅ Quick start (5 minute)
---
## 🚀 Quick Start
### 1. Clone Repository
```bash
git clone https://gitlab.back.ro/underchat/ircu2.git
cd ircu2
```
### 2. Instalare (3 comenzi)
```bash
./install.sh
# Răspunde la întrebări (Server, Admin, Operator, HUB)
# Script generează config automat
```
### 3. Administrare
```bash
./admin.sh
# Meniu pentru:
# - Pornire/oprire server
# - Editare configurare
# - Monitorizare status
# - Log viewing
```
### 4. Conectare
```
Server: localhost
Port: 6667 (normal) sau 6697 (SSL)
Nick: nickname
```
---
## 📋 Scripturi Incluse
### install.sh (Instalare Automată)
```bash
./install.sh
# - Verifică dependențe (gcc, make, SSL)
# - Detectează platformă (Linux, BSD, macOS, aarch64)
# - Configureaza și compileaza
# - Cere date server (domeniu, nume, numeric)
# - Cere date operator (username, parola)
# - Cere tip server (HUB/Leaf)
# - Dacă HUB, cere info linking
# - Generează ircd.conf complet
```
### admin.sh (Meniu Administrare)
```bash
./admin.sh
# Opțiuni:
# 1. Pornire server (cu verificări avansate v1.0.2)
# 2. Oprire server
# 3. Restart server
# 4. Verifica status
# 5. Editare configurare
# 6. Vizionare log-uri
# 7. Generare parola operator
# 8. Test sintaxă (cu diagnosticare detaliată v1.0.2)
```
### diagnose.sh (Diagnosticare Probleme) 🆕 v1.0.2
```bash
./diagnose.sh
# - Verificare existență și permisiuni config
# - Verificare conținut și sintaxă
# - Detectare probleme comune (acolade, ghilimele)
# - Test compilare cu ircd -c
# - Raport complet cu soluții
```
### configure-interactive.sh (Configurare Avansată)
```bash
./configure-interactive.sh
# 6 etape interactive:
# 1. Setări generale
# 2. Informații admin
# 3. Configurare porturi
# 4. Clase de conexiuni
# 5. Operatori
# 6. Caracteristici avansate
```
### admin.sh (Meniu Administrare)
```bash
./admin.sh
# Opțiuni:
# 1. Pornire server
# 2. Oprire server
# 3. Restart server
# 4. Verifica status
# 5. Editare configurare
# 6. Vizionare log-uri
# 7. Generare parola operator
# 8. Test sintaxă
```
### fix-aarch64.sh (Fix ARM 64-bit)
```bash
./fix-aarch64.sh
# Fixare automată config.guess pentru aarch64
# Backup config
# Patch dinamic
# Test validare
```
---
## 📖 Documentație
### Ghiduri Rapide
- **QUICKSTART.md** - Start în 5 minute
- **CONFIGURARE_PROFESIONALA.md** - Model profesional
### Referințe Detaliate
- **INSTALL_AUTO.md** - Instalare completă
- **OPERATORI_HUB_LINKING.md** - Operatori + HUB
- **FIX_AARCH64.md** - Support ARM
- **COMANDA_CONFIGURE.md** - Parametrii ./configure
### Troubleshooting
- **TROUBLESHOOTING_CONFIG_READ.md** - Erori de citire config 🆕 v1.0.2
### Overview & Index
- **INDEX.md** - Roadmap complet
- **README_SCRIPTS.md** - Descriere scripturi
- **CLAUDE.md** - Detalii tehnice
---
## 🌍 Platforme Suportate
| OS | Status | Note |
|----|--------|------|
| **Ubuntu/Debian** | ✅ Full | Testat |
| **RHEL/CentOS** | ✅ Full | Instrucțiuni |
| **macOS** | ✅ Full | Instrucțiuni |
| **FreeBSD** | ✅ Full | Instrucțiuni |
| **Oracle Linux ARM** | ✅ Full | Fix aarch64 |
| **Solaris** | ⚠️ Legacy | Instrucțiuni |
---
## 🔧 Opțiuni Instalare
### Standard
```bash
./install.sh
```
### Custom Path
```bash
./install.sh --prefix /opt/ircd
```
### Cu Maxim Conexiuni
```bash
./install.sh --maxcon 8192
```
### Cu Debug
```bash
./install.sh --debug
```
### Fără SSL
```bash
./install.sh --no-ssl
```
---
## 📁 Structură După Instalare
```
~/ircd/
├── bin/
│ ├── ircd ← Server main
│ ├── umkpasswd ← Password generator
│ └── ...
├── etc/
│ ├── ircd.conf ← Configurare
│ ├── ircd.motd ← Message of the Day
│ └── ircd.opermotd ← Operator MOTD
├── log/
│ └── ircd.log ← Log file
└── var/
└── ...
```
---
## 🎯 Exemple Utilizare
### Server Leaf (NU e HUB)
```bash
./install.sh
# Răspunzi: domain, server name, operator, NO la HUB
# → Generates leaf server config
```
### Server HUB
```bash
./install.sh
# Răspunzi: domain, server name, operator, YES la HUB
# Cereri: HUB name, IP, port, password
# → Generates HUB config cu Connect block
```
### Dezvoltare/Testing
```bash
./install.sh --prefix /tmp/test --debug --maxcon 100
```
---
## 🔐 Securitate
După instalare:
1. ✅ Schimbă parola operator
2. ✅ Securizează config: `chmod 600 ~/ircd/etc/ircd.conf`
3. ✅ Backup config: `cp ~/ircd/etc/ircd.conf ~/ircd/etc/ircd.conf.backup`
4. ✅ Firewall rules: `ufw allow 6667/tcp`
5. ✅ Monitorizează log-uri: `tail -f ~/ircd/log/ircd.log`
---
## 📊 Features
### Server
- ✅ Protocol P10
- ✅ Event engines (epoll, kqueue, /dev/poll)
- ✅ SSL/TLS support
- ✅ IPv4 și IPv6 ready
- ✅ Host hiding
- ✅ Dynamic configuration
### Clienți
- ✅ Maxim customizable conexiuni
- ✅ Auto-join channels
- ✅ CTCP versioning
- ✅ GeoIP support
- ✅ Account persistence
### Servere
- ✅ Hub linking
- ✅ Network synchronization
- ✅ Server-to-server encryption
- ✅ Custom routing rules
---
## 🆘 Troubleshooting
### Instalare
```bash
# Check dependencies
./install.sh --help
# Manual fix config.guess (aarch64)
./fix-aarch64.sh
# Revert la backup
git checkout -- config.guess config.sub
```
### Server
```bash
# Verifică config sintaxă
~/ircd/bin/ircd -c
# Debug mode
~/ircd/bin/ircd -d
# Check logs
tail -f ~/ircd/log/ircd.log
```
### Networking
```bash
# Port deja în uz
lsof -i :6667
# Schimbă port în config
nano ~/ircd/etc/ircd.conf
# Restart
./admin.sh → 3) Restart
```
---
## 📚 Referințe
### Documentație Proiect
- doc/example.conf - Config detaliat
- doc/p10.txt - Protocol P10
- doc/readme.features - Features
### Comenzi IRC
```
/OPER username password - Login operator
/STATS u - Uptime
/STATS c - Conexiuni
/LUSERS - Utilizatori
/WALLOPS "mesaj" - Operator message
```
---
## 📞 Support
### Probleme Instalare
→ Citește **INSTALL_AUTO.md** secțiunea Troubleshooting
### Probleme Configurare
→ Citește **CONFIGURARE_PROFESIONALA.md**
### Probleme aarch64
→ Citește **FIX_AARCH64.md**
### Probleme Operatori
→ Citește **OPERATORI_HUB_LINKING.md**
---
## 📝 Changelog
### [v1.0.2] - 13 februarie 2026
-**Nou**: Script `diagnose.sh` pentru diagnosticare automată probleme
-**Îmbunătățit**: `admin.sh` cu verificări extinse de permisiuni și citire config
-**Îmbunătățit**: Funcția `start_server()` cu diagnosticare detaliată
-**Îmbunătățit**: Funcția `test_config()` cu rapoarte detaliate
-**Fix**: Detectare probleme de permisiuni la citirea config
-**Documentație**: TROUBLESHOOTING_CONFIG_READ.md pentru erori comune
### [v1.0.1] - 13 februarie 2026
-**Fix**: Adăugare pauze în `admin.sh` pentru vizualizare output
- ✅ Utilizatorul poate acum vedea erorile și mesajele înainte de revenirea la meniu
- ✅ Fiecare funcție din `admin.sh` așteaptă apăsarea Enter după execuție
- ✅ Îmbunătățire experiență utilizator în troubleshooting
### [v1.0.0] - 13 februarie 2026
- ✅ Release inițial
- ✅ Instalare automată completă
- ✅ Configurare profesională
- ✅ Suport operatori și HUB linking
- ✅ Documentație în limba română
---
## 📜 Licență
UnderChat IRCd este sub **GNU General Public License**.
Toate scripturile și documentația adăugate sunt sub aceeași licență.
---
## 🎉 Status
```
✅ Instalare automată
✅ Configurare profesională
✅ Managementul operatorilor
✅ HUB linking automat
✅ Suport aarch64
✅ Documentație completă
✅ Limba română
✅ Production ready
```
---
## 🚀 Gata?
```bash
# Clone
git clone https://gitlab.back.ro/underchat/ircu2.git
cd ircu2
# Install
./install.sh
# Admin
./admin.sh
```
**Succes!** 🎉
---
**Repository**: https://gitlab.back.ro/underchat/ircu2.git
**Data**: 13 februarie 2026
**Versiune**: v1.0.1
**Status**: ✅ Production Ready