12 KiB
📝 FEATURES ADĂUGATE - Host Hiding & Extended Accounts
Data: 23 Februarie 2026
Versiune: v1.8.0+
Status: ✅ ADĂUGATE ÎN TEMPLATE ircd.conf
🎯 OVERVIEW
Am adăugat 4 features lipsă în template-ul de configurare install.sh pentru funcționalitate completă a host hiding și compatibilitate cu serviciile IRC moderne.
✅ FEATURES ADĂUGATE
1. HIDDEN_HOST_QUIT ✨
Locație în install.sh: Linia ~1010 (secțiunea Host hiding)
Ce face:
- Controlează dacă să se trimită mesaje de quit când utilizatorii setează/resetează modul +x (hidden host)
- Când e
TRUE, utilizatorii vor vedea mesaje "Registered" / "UnRegistered" în loc de quit real
Valoare setată: TRUE (default recomandat)
Exemplu comportament:
# Cu HIDDEN_HOST_QUIT = TRUE:
* User has quit IRC (Registered) # Când setează +x
* User has quit IRC (UnRegistered) # Când resetează -x
# Cu HIDDEN_HOST_QUIT = FALSE:
* User has quit IRC (Changing host) # Mesaj generic
De ce e important:
- ✅ Oferă feedback clar utilizatorilor când își schimbă hostname-ul
- ✅ Previne confuzia (pare ca o reconectare, nu ca un quit real)
- ✅ Standardizat în majoritatea rețelelor IRC moderne
2. HIDDEN_HOST_SET_MESSAGE 📝
Locație în install.sh: Linia ~1011
Ce face:
- Mesajul afișat când un utilizator SETEAZĂ modul +x (activează hidden host)
Valoare setată: "Registered" (default)
Exemplu:
# Utilizator face: /mode Nick +x
* Nick has quit IRC (Registered)
* Nick (hidden@users.underchat.org) has joined #channel
Customizare: Poți schimba în:
"is now hidden"- Mesaj în engleză"Host ascuns"- Mesaj în română"Protected"- Sugerează protecție
3. HIDDEN_HOST_UNSET_MESSAGE 📝
Locație în install.sh: Linia ~1012
Ce face:
- Mesajul afișat când un utilizator RESETEAZĂ modul -x (dezactivează hidden host)
Valoare setată: "UnRegistered" (default)
Exemplu:
# Utilizator face: /mode Nick -x
* Nick has quit IRC (UnRegistered)
* Nick (real@203.0.113.45) has joined #channel
Customizare: Poți schimba în:
"is now visible"- Mesaj clar"Host vizibil"- Română"Unprotected"- Sugerează lipsa protecției
4. EXTENDED_ACCOUNTS 🔐
Locație în install.sh: Linia ~999 (secțiunea Security & Authentication)
Ce face:
- Activează suport pentru sintaxa extinsă AC (Account) folosită de servicii IRC moderne
TRUE= Folosește subcomenzile R, M, U, C, A, D, H pentru operații avansateFALSE= Folosește sintaxa veche (compatibilitate services vechi)
Valoare setată: TRUE (default, recomandat)
Când să folosești TRUE:
- ✅ X3 (serviciu recomandat pentru UnderChat)
- ✅ Anope 2.x cu protocol P10
- ✅ Atheme IRC Services moderne
Când să folosești FALSE:
- ⚠️ Services foarte vechi (pre-2010)
- ⚠️ Custom services cu protocol legacy
Subcomenzile disponibile cu EXTENDED_ACCOUNTS = TRUE:
| Subcomandă | Funcție |
|---|---|
| R | Rename account (redenumire cont) |
| M | Merge accounts (fuziune conturi) |
| U | Unregister account (ștergere cont) |
| C | Create account (creare cont) |
| A | Authenticate (autentificare) |
| D | Deauthenticate (deautentificare) |
| H | Set hidden host (setare hostname ascuns) |
Exemplu protocol:
# Cu EXTENDED_ACCOUNTS = TRUE (modern):
:X3!services@underchat.org AC Nick A 1234567890
# Cu EXTENDED_ACCOUNTS = FALSE (vechi):
:X3!services@underchat.org AC Nick 1234567890
De ce e important:
- ✅ Permite serviciilor să efectueze operații complexe pe conturi
- ✅ Suport complet pentru redenumire/fuziune conturi
- ✅ Compatibilitate cu X3 și servicii moderne
- ✅ Funcții avansate de management conturi
📊 COMPARAȚIE ÎNAINTE/DUPĂ
ÎNAINTE (fără features):
features {
# Host hiding
"HOST_HIDING" = "TRUE";
"HOST_HIDING_STYLE" = "3";
"HIDDEN_HOST" = "users.underchat.org";
# ... alte setări ...
}
Probleme:
- ❌ Utilizatorii văd mesaje generice la schimbarea host-ului
- ❌ Lipsește feedback când setează +x/-x
- ❌ Services nu pot face operații avansate pe conturi
DUPĂ (cu features noi):
features {
# Security & Anti-Abuse
# ...
# Extended Accounts Support (pentru servicii X3/IRC Services)
"EXTENDED_ACCOUNTS" = "TRUE";
# Host hiding
"HOST_HIDING" = "TRUE";
"HOST_HIDING_STYLE" = "3";
"HIDDEN_HOST" = "users.underchat.org";
"HIDDEN_IP" = "127.0.0.1";
"HOST_HIDING_PREFIX" = "UnderChat";
"HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
"HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
"HOST_HIDING_COMPONENTS" = "1";
# Host hiding - Mesaje set/unset +x
"HIDDEN_HOST_QUIT" = "TRUE";
"HIDDEN_HOST_SET_MESSAGE" = "Registered";
"HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
}
Beneficii:
- ✅ Mesaje clare când utilizatorii schimbă hostname-ul
- ✅ Feedback vizual pentru +x/-x
- ✅ Suport complet pentru X3 și servicii moderne
- ✅ Operații avansate pe conturi (rename, merge, etc.)
🎮 EXEMPLE UTILIZARE
Scenario 1: Utilizator Se Autentifică
Cu servicii X3 și EXTENDED_ACCOUNTS = TRUE:
1. User conectează: Nick!user@203.0.113.45
2. /msg X@services.underchat.org LOGIN username password
3. X autentifică user-ul cu AC command (subcomandă A)
4. User primește +x automat (dacă configured)
5. * Nick has quit IRC (Registered)
6. * Nick (hidden@users.underchat.org) has joined #channel
Mesaj vizibil:
Nick!user@203.0.113.45 → Nick!hidden@users.underchat.org (Registered)
Scenario 2: Utilizator Manual Setează +x
1. Nick!user@real-hostname.isp.com
2. /mode Nick +x
3. * Nick has quit IRC (Registered)
4. * Nick (UnderChat-554F4C88D.isp.com) has joined #channel
Explicație:
- HOST_HIDING_STYLE = 3 → Authenticated users get style 1, unauthenticated get style 2
- Dacă user e autentificat:
users.underchat.org - Dacă user e guest:
UnderChat-HASH.isp.com(Unreal style)
Scenario 3: Utilizator Resetează -x
1. Nick!hidden@users.underchat.org
2. /mode Nick -x
3. * Nick has quit IRC (UnRegistered)
4. * Nick (user@real-hostname.isp.com) has joined #channel
NOTĂ: Funcționează doar dacă ALLOWRMX = TRUE (implicit FALSE pentru securitate).
⚙️ CONFIGURARE AVANSATĂ
Customizare Mesaje (Opțional)
Dacă vrei mesaje în română sau custom:
# În ircd.conf:
features {
"HIDDEN_HOST_QUIT" = "TRUE";
"HIDDEN_HOST_SET_MESSAGE" = "Hostname ascuns";
"HIDDEN_HOST_UNSET_MESSAGE" = "Hostname vizibil";
}
Rezultat:
* Nick has quit IRC (Hostname ascuns) # La +x
* Nick has quit IRC (Hostname vizibil) # La -x
Dezactivare Mesaje (Dacă Dorești)
features {
"HIDDEN_HOST_QUIT" = "FALSE";
# HIDDEN_HOST_SET_MESSAGE și HIDDEN_HOST_UNSET_MESSAGE sunt ignorate
}
Rezultat:
* Nick (hidden@users.underchat.org) has joined #channel
# Niciun mesaj de quit, doar join cu noul hostname
Pentru Services NON-X3
Dacă folosești services vechi sau custom:
features {
"EXTENDED_ACCOUNTS" = "FALSE";
}
ATENȚIE: Pierzi funcționalități avansate (rename accounts, merge, etc.).
📚 REFERINȚE & DOCUMENTAȚIE
Fișiere Relevante:
- doc/readme.features (liniile 1046-1070, 1511-1528)
- install.sh (liniile ~999, ~1010-1012)
- ircd/s_user.c - Implementarea host hiding
- ircd/s_bsd.c - Gestionarea mesajelor quit
RFC & Standarde:
- RFC 2812 - IRC Client Protocol (modul +x)
- P10 Protocol - UnderNet server-to-server (AC command)
Services Compatibile:
| Service | EXTENDED_ACCOUNTS | Versiune Minimă |
|---|---|---|
| X3 | TRUE ✅ | 1.8+ |
| Anope 2.x | TRUE ✅ | 2.0+ |
| Atheme | TRUE ✅ | 7.x+ |
| Services vechi | FALSE ⚠️ | Pre-2010 |
🐛 TROUBLESHOOTING
Problemă: Mesajele de quit nu apar
Cauză: HIDDEN_HOST_QUIT = FALSE sau services nu trimit AC correct.
Soluție:
# Verifică în ircd.conf:
grep "HIDDEN_HOST_QUIT" $HOME/ircd/lib/ircd.conf
# Ar trebui să fie:
"HIDDEN_HOST_QUIT" = "TRUE";
# Dacă e FALSE, modifică și restart:
nano $HOME/ircd/lib/ircd.conf
killall ircd
$HOME/ircd/bin/ircd -f $HOME/ircd/lib/ircd.conf
Problemă: Services nu pot redenumi conturi
Cauză: EXTENDED_ACCOUNTS = FALSE sau services incompatibile.
Soluție:
# Verifică:
grep "EXTENDED_ACCOUNTS" $HOME/ircd/lib/ircd.conf
# Ar trebui să fie TRUE pentru X3:
"EXTENDED_ACCOUNTS" = "TRUE";
# Verifică versiunea services:
/msg X@services.underchat.org VERSION
# Ar trebui X3 1.8+
Problemă: Utilizatorii nu pot face -x (remove hidden host)
Cauză: ALLOWRMX = FALSE (default pentru securitate).
Soluție (DOAR dacă vrei să permiți):
# În ircd.conf:
features {
"ALLOWRMX" = "TRUE"; # Permite utilizatorilor să facă -x
}
ATENȚIE: Permiterea -x poate expune IP-uri reale. Recomandăm FALSE pentru securitate.
✅ VERIFICARE POST-INSTALARE
1. Verifică Features în Configurație
# După instalare, verifică că features-urile sunt prezente:
grep -A 5 "Host hiding - Mesaje" $HOME/ircd/lib/ircd.conf
grep "EXTENDED_ACCOUNTS" $HOME/ircd/lib/ircd.conf
Output așteptat:
# Host hiding - Mesaje set/unset +x
"HIDDEN_HOST_QUIT" = "TRUE";
"HIDDEN_HOST_SET_MESSAGE" = "Registered";
"HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
# Extended Accounts Support
"EXTENDED_ACCOUNTS" = "TRUE";
2. Test Manual cu IRC Client
# Conectează cu client IRC:
/server localhost 6667
/nick TestUser
/mode TestUser +x
# Ar trebui să vezi:
# * TestUser has quit IRC (Registered)
# * TestUser (hidden@users.underchat.org) has joined #channel
# Reset:
/mode TestUser -x
# Ar trebui să vezi:
# * TestUser has quit IRC (UnRegistered)
# * TestUser (user@real-host.com) has joined #channel
3. Verifică Logs Pentru Erori
# Verifică că nu sunt erori de configurare:
tail -f $HOME/ircd/log/ircd.log | grep -i "feature\|hidden\|account"
Ar trebui: Nicio eroare legată de features-urile noi.
🎯 NEXT STEPS
Pentru Utilizatori Existenți:
# 1. Pull noua versiune
cd underchat-ircd
git pull origin main
# 2. Re-instalare (păstrează config backup)
cp $HOME/ircd/lib/ircd.conf /backup/ircd.conf.old
./install.sh
# 3. Merge manual features-urile noi în config vechi (dacă dorești)
# SAU lasă configurația nouă (recomandăm)
# 4. Restart server
killall ircd
$HOME/ircd/bin/ircd -f $HOME/ircd/lib/ircd.conf
# 5. Test funcționalitatea +x/-x
Pentru Instalări Noi:
# Features-urile sunt AUTOMAT incluse în template!
./install.sh
# Alege configurările standard → features-urile vor fi deja active
🏆 BENEFICII
Cu Aceste Features:
- ✅ User Experience mai bună - Mesaje clare când se schimbă hostname-ul
- ✅ Compatibilitate X3 - Suport complet pentru servicii moderne
- ✅ Operații avansate - Rename/merge accounts funcționează
- ✅ Standardizare - Comportament consistent cu alte rețele IRC
- ✅ Feedback vizual - Utilizatorii știu când +x/-x are efect
Fără Aceste Features:
- ❌ Mesaje generice de quit (confuză)
- ❌ Services nu pot face rename accounts
- ❌ Lipsă feedback pentru +x/-x
- ❌ Incompatibilitate cu X3 modern
📝 CHANGELOG
v1.8.0+ (23 Februarie 2026)
Added:
- ✅
HIDDEN_HOST_QUIT= TRUE în template ircd.conf - ✅
HIDDEN_HOST_SET_MESSAGE= "Registered" - ✅
HIDDEN_HOST_UNSET_MESSAGE= "UnRegistered" - ✅
EXTENDED_ACCOUNTS= TRUE pentru suport X3/services moderne
Impact:
- Mesaje clare când utilizatorii setează/resetează +x
- Suport complet pentru X3 și operații avansate pe conturi
- User experience îmbunătățită
Adăugat de: Senior Software Architect
Data: 23 Februarie 2026
Versiune: v1.8.0+
Status: ✅ FEATURES ACTIVE ÎN TEMPLATE
🎉 HOST HIDING & EXTENDED ACCOUNTS SUNT ACUM COMPLETE! 🎉