# REBRAND v1.3.0 - UnderChat în loc de Nefarious ## 🎨 REBRANDING COMPLET **Data:** 14 Februarie 2026 **Versiune:** v1.3.0 **Severitate:** 📝 Cosmetică (dar necesită recompilare) --- ## 🐛 PROBLEMA RAPORTATĂ **Utilizator a observat:** ``` [14:39] * Joins: iRO (iRO@Nefarious-2F378ED1.eushells.ro) ``` **Problema:** Prefixul "Nefarious-" apare în hostname-urile ascunse (cloaked hostnames). **Cerință:** Schimbarea prefixului de la "Nefarious-" la "UnderChat-" pentru branding consistent. --- ## 🔍 ANALIZĂ TEHNICĂ ### Unde este definit prefixul? Hostname-urile ascunse (host hiding/cloaking) sunt generate în codul sursă folosind mai multe setări din `ircd/ircd_features.c`: #### **1. HOST_HIDING_PREFIX** (Linia 753) ```c F_S(HOST_HIDING_PREFIX, 0, "Nefarious", 0), ``` **Funcție:** Prefixul folosit în algoritmul de host hiding **Format rezultat:** `Nefarious-HASH.domain.tld` #### **2. HIDDEN_HOST** (Linia 538) ```c F_S(HIDDEN_HOST, FEAT_CASE, "Users.Nefarious", 0), ``` **Funcție:** Hostname ascuns implicit pentru utilizatori normali **Format rezultat:** `Users.Nefarious` #### **3. HIDDEN_OPERHOST** (Linia 751) ```c F_S(HIDDEN_OPERHOST, FEAT_CASE, "Staff.Nefarious", 0), ``` **Funcție:** Hostname ascuns pentru operatori **Format rezultat:** `Staff.Nefarious` #### **4. HIS_SERVERNAME** (Linia 635) ```c F_S(HIS_SERVERNAME, 0, "*.Nefarious", feature_notify_servername), ``` **Funcție:** Nume server ascuns în WHOIS/WHO pentru protecție topologie **Format rezultat:** `*.Nefarious` #### **5. NETWORK** (Linia 640) ```c F_S(NETWORK, 0, "Nefarious", set_isupport_network), ``` **Funcție:** Numele rețelei IRC (trimis în ISUPPORT) **Format rezultat:** `:server 005 user NETWORK=Nefarious` --- ## ✅ MODIFICĂRI IMPLEMENTATE ### Fișiere modificate: #### 1. **ircd/ircd_features.c** ```c // ÎNAINTE: F_S(HOST_HIDING_PREFIX, 0, "Nefarious", 0), F_S(HIDDEN_HOST, FEAT_CASE, "Users.Nefarious", 0), F_S(HIDDEN_OPERHOST, FEAT_CASE, "Staff.Nefarious", 0), F_S(HIS_SERVERNAME, 0, "*.Nefarious", feature_notify_servername), F_S(NETWORK, 0, "Nefarious", set_isupport_network), // DUPĂ: F_S(HOST_HIDING_PREFIX, 0, "UnderChat", 0), F_S(HIDDEN_HOST, FEAT_CASE, "Users.UnderChat", 0), F_S(HIDDEN_OPERHOST, FEAT_CASE, "Staff.UnderChat", 0), F_S(HIS_SERVERNAME, 0, "*.UnderChat", feature_notify_servername), F_S(NETWORK, 0, "UnderChat", set_isupport_network), ``` **Comentarii actualizate:** ```c /* UnderChat FEAT_'s */ /* Some misc. UnderChat default paths */ ``` #### 2. **ircd/m_help.c** ```c // ÎNAINTE: send_reply(sptr, RPL_HELPSTART, "*", "Nefarious Help System"); send_reply(sptr, RPL_HELPSTART, cmd, "Nefarious Help System"); // DUPĂ: send_reply(sptr, RPL_HELPSTART, "*", "UnderChat Help System"); send_reply(sptr, RPL_HELPSTART, cmd, "UnderChat Help System"); ``` #### 3. **include/ircd_features.h** ```c // Comentarii actualizate: /* UnderChat FEAT_'s */ /* Some misc. UnderChat default paths */ ``` #### 4. **include/numeric.h** ```c // Comentarii actualizate în toate definițiile: #define RPL_BOUNCE 10 /* UnderChat extension */ #define RPL_STATSELINE 223 /* UnderChat extension */ #define RPL_CHKHEAD 286 /* QuakeNet - Asuka / UnderChat */ #define RPL_CHANUSER 287 /* QuakeNet - Asuka / UnderChat */ #define RPL_DATASTR 290 /* QuakeNet - Asuka / UnderChat */ #define RPL_ENDOFCHECK 291 /* QuakeNet - Asuka / UnderChat */ #define ERR_SEARCHNOMATCH 292 /* QuakeNet - Asuka / UnderChat */ #define RPL_WHOISSERVICE 310 /* UnderChat extension */ #define RPL_WHOISPRIVDEAF 316 /* UnderChat extension */ #define RPL_WHOISMARKS 339 /* UnderChat extension */ #define RPL_WHOISKILL 343 /* UnderChat extension */ #define RPL_EXCEPTLIST 348 /* IRCnet/UnderChat extension */ #define RPL_ENDOFEXCEPTLIST 349 /* IRCnet/UnderChat extension */ #define RPL_IRCOPSHEADER 386 /* UnderChat extension */ #define RPL_IRCOPS 387 /* UnderChat extension */ #define RPL_ENDOFIRCOPS 388 /* UnderChat extension */ #define ERR_SSLONLYCHAN 469 /* UnderChat extension */ #define ERR_OPERONLYCHAN 470 /* UnderChat extension */ ``` --- ## 🎯 REZULTAT VIZIBIL ### ÎNAINTE (v1.2.2): ``` [14:39] * Joins: iRO (iRO@Nefarious-2F378ED1.eushells.ro) * iRO is iRO@Nefarious-2F378ED1.eushells.ro * iRO /WHOIS iRO iRO is iRO@Nefarious-2F378ED1.eushells.ro * iRO iRO on *.Nefarious :The Nefarious World /VERSION Nefarious Network ``` ### DUPĂ (v1.3.0): ``` [14:39] * Joins: iRO (iRO@UnderChat-2F378ED1.eushells.ro) * iRO is iRO@UnderChat-2F378ED1.eushells.ro * iRO /WHOIS iRO iRO is iRO@UnderChat-2F378ED1.eushells.ro * iRO iRO on *.UnderChat :The UnderChat World /VERSION UnderChat Network ``` ### Exemplu host hiding: ``` ÎNAINTE: user@Nefarious-A1B2C3D4.provider.com DUPĂ: user@UnderChat-A1B2C3D4.provider.com ``` --- ## 🚀 UPGRADE PENTRU UTILIZATORI ### ⚠️ **IMPORTANT: RECOMPILARE OBLIGATORIE!** Modificările sunt în **codul sursă C**, nu în configurație. Trebuie să recompilezi serverul pentru a aplica schimbările. ### Pași de upgrade: ```bash # 1. Oprește serverul (dacă rulează) killall ircd # 2. Actualizează repository-ul cd ~/ircu2 git pull origin main git checkout v1.3.0 # 3. Backup configurația existentă cp /home/ircd/ircd/lib/ircd.conf /home/ircd/ircd.conf.backup-$(date +%Y%m%d-%H%M%S) # 4. RECOMPILARE COMPLETĂ make clean ./configure --prefix=/home/ircd/ircd --with-maxcon=400 make make install # 5. Pornește serverul cu noua versiune /home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf # 6. Verifică versiunea ps aux | grep ircd ``` ### Alternativ - Reinstalare completă: ```bash cd ~/ircu2 git pull origin main git checkout v1.3.0 # Backup config cp /home/ircd/ircd/lib/ircd.conf /tmp/ircd.conf.backup # Reinstalează (recompilează automat) ./install.sh # Restaurează config dacă ai modificări custom # sau configurează din nou interactiv ``` --- ## 🧪 VERIFICARE DUPĂ UPGRADE ### 1. Verifică versiunea compilată: ```bash /home/ircd/ircd/bin/ircd -v # Ar trebui să afișeze informații despre versiune ``` ### 2. Verifică că serverul rulează: ```bash ps aux | grep ircd ``` ### 3. Conectează-te și testează: ```irc # Conectează-te la server /SERVER madrid.es.eu.underchat.org 6667 # Testează hostname-ul tău /WHOIS NickTau # Ar trebui să vezi: NickTau@UnderChat-HASH.domain # Verifică network name /LUSERS # Ar trebui să vadă referințe la "UnderChat" ``` ### 4. Testează sistemul de help: ```irc /HELP # Ar trebui să afișeze: # *** UnderChat Help System ``` --- ## 📊 IMPACT ### Ce se schimbă vizibil: - ✅ **Hostname-uri:** `UnderChat-` în loc de `Nefarious-` - ✅ **Network name:** `UnderChat` în loc de `Nefarious` - ✅ **Server name în WHOIS:** `*.UnderChat` - ✅ **Hidden hosts:** `Users.UnderChat`, `Staff.UnderChat` - ✅ **Help system:** "UnderChat Help System" ### Ce NU se schimbă: - ❌ Configurația existentă (`ircd.conf`) - ❌ Comportamentul serverului - ❌ Compatibilitatea cu alte servere P10 - ❌ Comenzile IRC - ❌ Funcționalitatea --- ## 🔧 DEBUGGING ### Problemă: Încă văd "Nefarious" după upgrade **Cauză:** Nu ai recompilat serverul sau rulezi versiunea veche. **Soluție:** ```bash # Verifică ce proces rulează ps aux | grep ircd # Oprește procesul vechi killall ircd # Verifică calea binarului which ircd # Pornește versiunea nouă explicit /home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf # Verifică din nou ps aux | grep ircd ``` ### Problemă: Erori la compilare **Soluție:** ```bash # Curăță și reîncearcă cd ~/ircu2 make clean make distclean ./configure --prefix=/home/ircd/ircd --with-maxcon=400 make make install ``` --- ## 📚 CONFIGURARE OVERRIDE (OPȚIONAL) Dacă vrei să customizezi hostname-urile DUPĂ instalare, poți supra-scrie valorile în `ircd.conf`: ```conf features { # Override host hiding prefix "HOST_HIDING_PREFIX" = "MyNetwork"; # Override hidden host "HIDDEN_HOST" = "Users.MyNetwork.org"; # Override oper hidden host "HIDDEN_OPERHOST" = "Staff.MyNetwork.org"; # Override network name "NETWORK" = "MyNetwork"; }; ``` **NOTĂ:** Aceste override-uri se aplică DOAR după ce ai compilat cu valorile default din cod! --- ## ✅ CHECKLIST UPGRADE - [ ] Backup configurație existentă - [ ] `git pull origin main` - [ ] `git checkout v1.3.0` - [ ] Oprire server existent (`killall ircd`) - [ ] Recompilare completă (`make clean && ./configure && make && make install`) - [ ] Pornire server nou (`/home/ircd/ircd/bin/ircd -f ...`) - [ ] Verificare hostname în `/WHOIS` - [ ] Verificare network name în `/LUSERS` - [ ] Verificare help system (`/HELP`) - [ ] Test conectare clienți - [ ] Test link server-to-server (dacă aplicabil) --- ## 🎉 BENEFICII ### ÎNAINTE: - ❌ Branding "Nefarious" (software original) - ❌ Confuzie pentru utilizatori - ❌ Nu reflectă identitatea rețelei ### DUPĂ: - ✅ Branding "UnderChat" consistent - ✅ Identitate clară a rețelei - ✅ Profesionalism sporit - ✅ Recunoaștere brand --- ## 📝 VERSIUNI | Versiune | Data | Tip | Descriere | |----------|------|-----|-----------| | v1.2.0 | 13 Feb 2026 | Feature | Curățare + Link server-to-server | | v1.2.1 | 13 Feb 2026 | Fix | Link server-to-server funcțional | | v1.2.2 | 13 Feb 2026 | Security | Parola operator criptată MD5 | | **v1.3.0** | **14 Feb 2026** | **Rebrand** | **UnderChat în loc de Nefarious** | --- **Commit:** `REBRAND: Schimbăm 'Nefarious' în 'UnderChat' - Host hiding prefix + Network name` **Tag:** `v1.3.0` **Status:** ✅ PRODUCTION READY (necesită recompilare) --- **⚠️ RECOMPILARE OBLIGATORIE DUPĂ UPGRADE!** 🔄