456 lines
9.5 KiB
Markdown
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
|
|
|