392 lines
9.7 KiB
Markdown
392 lines
9.7 KiB
Markdown
# 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!** 🔄
|
|
|