ircu2/REBRAND_v1.3.0.md

9.7 KiB

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)

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)

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)

F_S(HIDDEN_OPERHOST, FEAT_CASE, "Staff.Nefarious", 0),

Funcție: Hostname ascuns pentru operatori
Format rezultat: Staff.Nefarious

4. HIS_SERVERNAME (Linia 635)

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)

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

// Î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:

/* UnderChat FEAT_'s */
/* Some misc. UnderChat default paths */

2. ircd/m_help.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

// Comentarii actualizate:
/* UnderChat FEAT_'s */
/* Some misc. UnderChat default paths */

4. include/numeric.h

// 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:

# 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ă:

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ă:

/home/ircd/ircd/bin/ircd -v
# Ar trebui să afișeze informații despre versiune

2. Verifică că serverul rulează:

ps aux | grep ircd

3. Conectează-te și testează:

# 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:

/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:

# 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:

# 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:

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! 🔄