📝 Add fix guide for WHOIS Founder in stealth mode
This commit is contained in:
parent
6a1e9d1739
commit
bea8675c84
|
|
@ -0,0 +1,289 @@
|
|||
# 🔧 FIX URGENT - "is an UnderChat Founder" în Stealth Mode
|
||||
|
||||
**Data**: 23 Februarie 2026
|
||||
**Problema**: Tot apare "is an UnderChat Founder" în /WHOIS cu stealth mode
|
||||
**Status**: ✅ **FIX GATA & PUSHED**
|
||||
|
||||
---
|
||||
|
||||
## 🐛 PROBLEMA
|
||||
|
||||
Ai selectat **INVIZIBIL** (stealth mode) dar în /WHOIS tot apare:
|
||||
|
||||
```
|
||||
n1 is an UnderChat Founder
|
||||
```
|
||||
|
||||
### Cauza:
|
||||
|
||||
**Features `WHOIS_ADMIN` și `WHOIS_OPER` sunt GLOBALE!**
|
||||
|
||||
Ele afișează mesaje pentru **TOȚI operatorii** cu `admin = yes`, **INDIFERENT** de `swhois` din Operator block!
|
||||
|
||||
---
|
||||
|
||||
## ✅ FIX MANUAL RAPID (2 minute)
|
||||
|
||||
### Pas 1: Editează Config
|
||||
|
||||
```bash
|
||||
# Conectează SSH:
|
||||
ssh user@underchat.org
|
||||
|
||||
# Editează config:
|
||||
nano /home/anope/ircd/lib/ircd.conf
|
||||
```
|
||||
|
||||
### Pas 2: Găsește și Comentează Features
|
||||
|
||||
**Caută în config** (CTRL+W):
|
||||
```
|
||||
WHOIS_OPER
|
||||
```
|
||||
|
||||
**Ar trebui să găsești**:
|
||||
```conf
|
||||
features {
|
||||
# ...alte features...
|
||||
|
||||
"WHOIS_OPER" = "is an UnderChat Staff Member";
|
||||
"WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
|
||||
# ...alte features...
|
||||
};
|
||||
```
|
||||
|
||||
**Comentează-le** (adaugă # la început):
|
||||
```conf
|
||||
features {
|
||||
# ...alte features...
|
||||
|
||||
# WHOIS messages DEZACTIVATE pentru stealth mode
|
||||
# "WHOIS_OPER" = "is an UnderChat Staff Member";
|
||||
# "WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
|
||||
# ...alte features...
|
||||
};
|
||||
```
|
||||
|
||||
### Pas 3: Salvează
|
||||
|
||||
```
|
||||
CTRL+O (save)
|
||||
ENTER
|
||||
CTRL+X (exit)
|
||||
```
|
||||
|
||||
### Pas 4: Restart IRCd
|
||||
|
||||
```bash
|
||||
killall ircd && sleep 3 && /home/anope/ircd/bin/ircd -f /home/anope/ircd/lib/ircd.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ VERIFICARE
|
||||
|
||||
### Test în IRC:
|
||||
|
||||
```
|
||||
/whois n1
|
||||
|
||||
Ar trebui să vezi:
|
||||
n1 is ~hide@AC4C07.303BCF.787BA0.5E01D0.IP * Global Transit NET
|
||||
n1 on #CService
|
||||
n1 using Test.UnderChat.org The UnderCHat.org Network
|
||||
n1 is actually ~hide@10.1.100.2 [10.1.100.2]
|
||||
End of /WHOIS list.
|
||||
|
||||
FĂRĂ:
|
||||
❌ "is an UnderChat Founder"
|
||||
❌ "is an UnderChat Staff Member"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 CE FEATURES COMENTEZI
|
||||
|
||||
### Pentru Stealth Mode (Invizibil):
|
||||
|
||||
```conf
|
||||
features {
|
||||
# DEZACTIVATE pentru stealth:
|
||||
# "WHOIS_OPER" = "is an UnderChat Staff Member";
|
||||
# "WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
|
||||
# PĂSTREAZĂ acestea (nu le atinge):
|
||||
"WHOIS_SERVICE" = "is an UnderChat Network Service";
|
||||
"OPERMOTD" = "TRUE";
|
||||
"OMPATH" = "/path/to/lib/ircd.opermotd";
|
||||
};
|
||||
```
|
||||
|
||||
### Pentru Mod Vizibil (Normal):
|
||||
|
||||
```conf
|
||||
features {
|
||||
# ACTIVE pentru vizibil:
|
||||
"WHOIS_OPER" = "is an UnderChat Staff Member";
|
||||
"WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
|
||||
"WHOIS_SERVICE" = "is an UnderChat Network Service";
|
||||
"OPERMOTD" = "TRUE";
|
||||
"OMPATH" = "/path/to/lib/ircd.opermotd";
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 DIFERENȚA
|
||||
|
||||
### ÎNAINTE (cu WHOIS_ADMIN activ):
|
||||
|
||||
```
|
||||
/whois n1
|
||||
n1 is an UnderChat Founder ← APARE (GREȘIT pentru stealth!)
|
||||
```
|
||||
|
||||
### DUPĂ (cu WHOIS_ADMIN comentat):
|
||||
|
||||
```
|
||||
/whois n1
|
||||
# NU mai apare "is an UnderChat Founder" ← CORECT pentru stealth!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 DE CE SE ÎNTÂMPLA
|
||||
|
||||
### Operator Block vs Features:
|
||||
|
||||
**Operator block** (ircd.conf):
|
||||
```conf
|
||||
Operator {
|
||||
name = "n1";
|
||||
admin = yes; ← Activează WHOIS_ADMIN
|
||||
# FĂRĂ swhois aici
|
||||
hide_oper = yes;
|
||||
};
|
||||
```
|
||||
|
||||
**Features** (ircd.conf):
|
||||
```conf
|
||||
features {
|
||||
"WHOIS_ADMIN" = "is an UnderChat Founder"; ← Afișează pentru TOȚI cu admin=yes
|
||||
};
|
||||
```
|
||||
|
||||
**Rezultat**: Chiar dacă NU ai `swhois` în Operator block, feature-ul `WHOIS_ADMIN` tot afișează mesaj pentru că ai `admin = yes`!
|
||||
|
||||
**Soluție**: Comentează feature-ul pentru stealth mode!
|
||||
|
||||
---
|
||||
|
||||
## 🚀 FIX AUTOMAT (Pentru Viitor)
|
||||
|
||||
### Instalări Noi:
|
||||
|
||||
Am actualizat `install.sh` în Gitea:
|
||||
|
||||
- **Alegi VIZIBIL** (1) → WHOIS_ADMIN și WHOIS_OPER active
|
||||
- **Alegi INVIZIBIL** (2) → WHOIS_ADMIN și WHOIS_OPER comentate automat
|
||||
|
||||
### Pull Noua Versiune:
|
||||
|
||||
```bash
|
||||
cd underchat-ircd
|
||||
git pull origin main
|
||||
./install.sh
|
||||
# Alege opțiunea 2 (INVIZIBIL)
|
||||
# Config generat CORECT din prima!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🐛 TROUBLESHOOTING
|
||||
|
||||
### Problemă: Tot apare după restart
|
||||
|
||||
**Cauză**: Config nu salvat sau fișier greșit.
|
||||
|
||||
**Soluție**:
|
||||
```bash
|
||||
# Verifică că features sunt comentate:
|
||||
grep -A 2 "WHOIS_ADMIN" /home/anope/ircd/lib/ircd.conf
|
||||
|
||||
# Ar trebui să vezi:
|
||||
# # "WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
|
||||
# Dacă NU e comentat, editează din nou și salvează
|
||||
```
|
||||
|
||||
### Problemă: Nu găsesc WHOIS_ADMIN în config
|
||||
|
||||
**Cauză**: Config vechi sau lipsă features.
|
||||
|
||||
**Soluție**:
|
||||
```bash
|
||||
# Caută în tot fișierul:
|
||||
grep -n "WHOIS" /home/anope/ircd/lib/ircd.conf
|
||||
|
||||
# Dacă nu găsești, adaugă în secțiunea features:
|
||||
features {
|
||||
# ...
|
||||
# WHOIS messages DEZACTIVATE pentru stealth mode
|
||||
# "WHOIS_OPER" = "is an UnderChat Staff Member";
|
||||
# "WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
# ...
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 DOCUMENTE RELATED
|
||||
|
||||
- **STEALTH_OPER_MODE.md** - Documentație completă stealth mode
|
||||
- **install.sh** - Template actualizat cu fix automat
|
||||
|
||||
---
|
||||
|
||||
## ✅ CHECKLIST FIX
|
||||
|
||||
- [ ] **Editează** `/home/anope/ircd/lib/ircd.conf`
|
||||
- [ ] **Comentează** `"WHOIS_OPER" = "...";`
|
||||
- [ ] **Comentează** `"WHOIS_ADMIN" = "...";`
|
||||
- [ ] **Salvează** (CTRL+O, ENTER, CTRL+X)
|
||||
- [ ] **Restart** IRCd (killall + start)
|
||||
- [ ] **Test** /whois (NU mai apare "Founder")
|
||||
- [ ] **Enjoy** stealth mode complet! 🎭
|
||||
|
||||
---
|
||||
|
||||
## 🎉 REZULTAT FINAL
|
||||
|
||||
**WHOIS va arăta**:
|
||||
```
|
||||
n1 is ~hide@AC4C07.303BCF.787BA0.5E01D0.IP * Global Transit NET
|
||||
n1 on #CService
|
||||
n1 using Test.UnderChat.org The UnderCHat.org Network
|
||||
n1 is actually ~hide@10.1.100.2 [10.1.100.2]
|
||||
End of /WHOIS list.
|
||||
```
|
||||
|
||||
**FĂRĂ**:
|
||||
- ❌ "is an UnderChat Founder"
|
||||
- ❌ "is an UnderChat Staff Member"
|
||||
|
||||
**CU TOATE PRIVILEGIILE**:
|
||||
- ✅ /KILL, /GLINE, /REHASH, TOT!
|
||||
|
||||
---
|
||||
|
||||
**Fixed by**: Senior Software Architect
|
||||
**Data**: 23 Februarie 2026
|
||||
**Status**: ✅ **FIX PUSHED & READY**
|
||||
|
||||
---
|
||||
|
||||
**🎭 ACUM VEI FI CU ADEVĂRAT INVIZIBIL! 🤫**
|
||||
|
||||
27
install.sh
27
install.sh
|
|
@ -1163,9 +1163,8 @@ features {
|
|||
"OPER_HIDE" = "TRUE";
|
||||
|
||||
# Operatori - Mesaje Custom
|
||||
"WHOIS_OPER" = "is an UnderChat Staff Member";
|
||||
EOFCONFIG_WHOIS_MESSAGES
|
||||
"WHOIS_SERVICE" = "is an UnderChat Network Service";
|
||||
"WHOIS_ADMIN" = "is an UnderChat Founder";
|
||||
"OPERMOTD" = "TRUE";
|
||||
"OMPATH" = "$PREFIX/lib/ircd.opermotd";
|
||||
|
||||
|
|
@ -1186,6 +1185,8 @@ EOFCONFIG
|
|||
|
||||
# Generare bloc Operator (vizibil sau invizibil)
|
||||
local operator_block=""
|
||||
local whois_messages=""
|
||||
|
||||
if [ "$oper_stealth" = "yes" ]; then
|
||||
# Operator INVIZIBIL (stealth mode)
|
||||
operator_block="# Operator INVIZIBIL (Stealth Mode)
|
||||
|
|
@ -1200,8 +1201,13 @@ Operator {
|
|||
# FĂRĂ swhois = NU apare \"is an UnderChat Staff Member\"
|
||||
hide_oper = yes; # Ascunde din /STATS o
|
||||
hide_channels = yes; # Ascunde canalele în /WHOIS
|
||||
whois_notice = yes; # NU trimite notice când primești /WHOIS
|
||||
whois_notice = no; # NU trimite notice când primești /WHOIS
|
||||
};"
|
||||
|
||||
# Mesaje WHOIS goale pentru stealth (comentate pentru claritate)
|
||||
whois_messages="# WHOIS messages DEZACTIVATE pentru stealth mode
|
||||
# \"WHOIS_OPER\" = \"is an UnderChat Staff Member\";
|
||||
# \"WHOIS_ADMIN\" = \"is an UnderChat Founder\";"
|
||||
else
|
||||
# Operator VIZIBIL (standard)
|
||||
operator_block="# Operator VIZIBIL (Standard Mode)
|
||||
|
|
@ -1216,8 +1222,12 @@ Operator {
|
|||
swhois = \"is an UnderChat Staff Member\";
|
||||
hide_oper = no; # Vizibil în /STATS o
|
||||
hide_channels = yes; # Ascunde canalele în /WHOIS
|
||||
whois_notice = no; # Trimite notice când primești /WHOIS
|
||||
whois_notice = yes; # Trimite notice când primești /WHOIS
|
||||
};"
|
||||
|
||||
# Mesaje WHOIS active pentru vizibil
|
||||
whois_messages="\"WHOIS_OPER\" = \"is an UnderChat Staff Member\";
|
||||
\"WHOIS_ADMIN\" = \"is an UnderChat Founder\";"
|
||||
fi
|
||||
|
||||
# Înlocuiește placeholder-ele
|
||||
|
|
@ -1244,6 +1254,15 @@ Operator {
|
|||
{ print }
|
||||
' "$config_file" > "$config_file.tmp" && mv "$config_file.tmp" "$config_file"
|
||||
|
||||
# Înlocuire mesaje WHOIS cu awk
|
||||
awk -v whois="$whois_messages" '
|
||||
/EOFCONFIG_WHOIS_MESSAGES/ {
|
||||
print whois
|
||||
next
|
||||
}
|
||||
{ print }
|
||||
' "$config_file" > "$config_file.tmp" && mv "$config_file.tmp" "$config_file"
|
||||
|
||||
sed -i "s|EOFCONFIG_OPER_USER|$oper_user|g" "$config_file"
|
||||
sed -i "s|EOFCONFIG_OPER_PASS|$oper_pass|g" "$config_file"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue