PROBLEMA FINALĂ: - snomask = '+s +o +c...' în Class → syntax error! - IRCd așteaptă NUMĂR, nu STRING! CAUZA: Din doc/example.conf linia 811: 'snomask = number;' ← NUMERIC, nu string! Din doc/snomask.txt: - Fiecare bit = tip de notificare - Valorile se ADUNĂ (ex: 4 + 512 + 1024 = 1540) - NU se folosesc flags string (+s +o)! SOLUȚIA CORECTĂ: ✅ ELIMINAT snomask din Class Opers ✅ ADĂUGAT snomask NUMERIC în Operator ✅ snomask = 157188 (suma valorilor hex) ÎNAINTE (GREȘIT): Class { name = 'Opers'; snomask = '+s +o +c +k +f +b +n'; ← STRING (GREȘIT!) }; Operator { name = 'Raducu'; # fără snomask }; DUPĂ (CORECT): Class { name = 'Opers'; # FĂRĂ snomask! }; Operator { name = 'Raducu'; snomask = 157188; ← NUMERIC (CORECT!) ✅ }; CALCUL snomask = 157188: - SNO_OPERKILL (kills) = 4 - SNO_GLINE (g-lines) = 512 - SNO_NETWORK (server connects) = 1024 - SNO_OLDREALOP (oper changes) = 8192 - SNO_CONNEXIT (client connects) = 16384 - SNO_NICKCHG (nick changes) = 131072 → TOTAL: 4 + 512 + 1024 + 8192 + 16384 + 131072 = 157188 CE PRIMEȘTI: ✅ Notificare când cineva devine OPER ✅ Notificare la conexiuni clienți ✅ Notificare la nick changes ✅ Notificare la kills ✅ Notificare la G-lines ✅ Notificare la server connects ALTE VALORI UTILE: - 516 = Minim (kills + glines) - 1540 = Default pentru opers - 157188 = Complet (RECOMANDAT) - 1048575 = Tot (poate fi prea mult) REZULTAT IRC: [11:02] -irc.underchat.org- *** Notice -- User is now a global operator (O) FIX PE SERVER: nano /home/ircd/ircd/lib/ircd.conf 1. Șterge snomask din Class Opers 2. Adaugă în Operator: snomask = 157188; 3. Salvează și restart /home/ircd/ircd/bin/ircd -c -f /home/ircd/ircd/lib/ircd.conf → 'configuration file is okay' ✅ pkill ircd && /home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf UPGRADE: git pull && git checkout v1.7.4 && ./install.sh Fișiere: - install.sh (snomask NUMERIC în Operator) - FIX_SNOMASK_NUMERIC.md (documentație completă) Versiune: v1.7.4 Status: ✅ FIX FINAL - snomask funcționează! Referință: doc/snomask.txt |
||
|---|---|---|
| .github/workflows | ||
| .idea | ||
| doc | ||
| include | ||
| ircd | ||
| patches | ||
| tests | ||
| tools | ||
| .dockerignore | ||
| .gitignore | ||
| .mailmap | ||
| AUTO_FIX_DEPENDENCIES.md | ||
| BADWORDS_FILTERING.md | ||
| CHANGELOG_v1.2.0.md | ||
| CLAUDE.md | ||
| COMANDA_CONFIGURE.md | ||
| CONFIGURARE_PROFESIONALA.md | ||
| CRULE_EXPLAINED.md | ||
| CRULE_QUICK_START.md | ||
| ChangeLog | ||
| ChangeLog.11 | ||
| ChangeLog.nefarious | ||
| Dockerfile | ||
| Doxyfile | ||
| FEATURES_ANALYSIS.md | ||
| FIX_AARCH64.md | ||
| FIX_AUTOCONF_MISSING.md | ||
| FIX_MAKEPEM_PERMISSION.md | ||
| FIX_OPERATOR_BLOCK.md | ||
| FIX_SNOMASK_NUMERIC.md | ||
| FIX_TAG_v1.6.0.md | ||
| FIX_v1.2.1_LINK_SERVER.md | ||
| FIX_v1.3.1_LINK_SERVER.md | ||
| INDEX.md | ||
| INSTALL | ||
| INSTALL_AUTO.md | ||
| INSTALL_FR | ||
| INSTRUCȚIUNI_AARCH64.txt | ||
| LICENSE | ||
| Makefile.in | ||
| OPERATORI_HUB_LINKING.md | ||
| PSEUDO_EXPLAINED.md | ||
| PUSH_VERIFICATION_v1.5.0.md | ||
| QUICKSTART.md | ||
| README | ||
| README.md | ||
| README_SCRIPTS.md | ||
| REBRAND_v1.3.0.md | ||
| RELEASE.NOTES | ||
| RELEASE_NOTES_v1.0.1.md | ||
| RELEASE_NOTES_v1.7.0.md | ||
| RELEASE_NOTES_v1.7.1.md | ||
| SCHIMBARE_REMOTE.md | ||
| SECURITY_FIX_v1.2.2.md | ||
| SNOMASK_EXPLAINED.md | ||
| SPOOFHOST_EXPLAINED.md | ||
| TASK_COMPLETE_SUMMARY.md | ||
| TROUBLESHOOTING_CONFIG_READ.md | ||
| URGENT_UPDATE_v1.5.0.md | ||
| WEBIRC_EXPLAINED.md | ||
| WHY_69_PERCENT.md | ||
| acinclude.m4 | ||
| aclocal.m4 | ||
| admin.sh | ||
| config.guess | ||
| config.h.in | ||
| config.sub | ||
| configure | ||
| configure-interactive.sh | ||
| configure.in | ||
| diagnose.sh | ||
| docker-compose.yml-example | ||
| install-deps.sh | ||
| install-sh | ||
| install.sh | ||
| ircd-patch | ||
| push_log.txt | ||
| push_v1.5.0.py | ||
| push_v1.5.0.sh | ||
| release.sh | ||
| stamp-h.in | ||
README.md
🚀 Underchat IRCU2 - UnderChat IRCd
Repository: https://gitlab.back.ro/underchat/ircu2.git
Limbă: Română 🇷🇴
Data: 15 februarie 2026
Versiune: v1.7.1 🔒🎨
Status: ✅ Production Ready - SECURIZAT + PERSONALIZAT COMPLET
Features: 149 (74.5% complete) vs 138 (69%) în v1.7.0
📖 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
PLAINready
🌐 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
git clone https://gitlab.back.ro/underchat/ircu2.git
cd ircu2
2. Instalare (3 comenzi)
./install.sh
# Răspunde la întrebări (Server, Admin, Operator, HUB)
# Script generează config automat
3. Administrare
./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ă)
./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)
./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
./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ă)
./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)
./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)
./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
./install.sh
Custom Path
./install.sh --prefix /opt/ircd
Cu Maxim Conexiuni
./install.sh --maxcon 8192
Cu Debug
./install.sh --debug
Fără SSL
./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)
./install.sh
# Răspunzi: domain, server name, operator, NO la HUB
# → Generates leaf server config
Server HUB
./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
./install.sh --prefix /tmp/test --debug --maxcon 100
🔐 Securitate
După instalare:
- ✅ Schimbă parola operator
- ✅ Securizează config:
chmod 600 ~/ircd/etc/ircd.conf - ✅ Backup config:
cp ~/ircd/etc/ircd.conf ~/ircd/etc/ircd.conf.backup - ✅ Firewall rules:
ufw allow 6667/tcp - ✅ 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
# Check dependencies
./install.sh --help
# Manual fix config.guess (aarch64)
./fix-aarch64.sh
# Revert la backup
git checkout -- config.guess config.sub
Server
# Verifică config sintaxă
~/ircd/bin/ircd -c
# Debug mode
~/ircd/bin/ircd -d
# Check logs
tail -f ~/ircd/log/ircd.log
Networking
# 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.shpentru diagnosticare automată probleme - ✅ Îmbunătățit:
admin.shcu 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.shpentru vizualizare output - ✅ Utilizatorul poate acum vedea erorile și mesajele înainte de revenirea la meniu
- ✅ Fiecare funcție din
admin.shaș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?
# 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