From 71860b5b47554b63311923679244e0eda878c0a5 Mon Sep 17 00:00:00 2001 From: mihaiitdata Date: Sun, 15 Feb 2026 10:06:02 +0200 Subject: [PATCH] Actualizare README.md la v1.6.0 --- WEBIRC_EXPLAINED.md | 671 ++++++++++++++++++++++++++++++++++++++++++++ install.sh | 117 ++++++++ 2 files changed, 788 insertions(+) create mode 100644 WEBIRC_EXPLAINED.md diff --git a/WEBIRC_EXPLAINED.md b/WEBIRC_EXPLAINED.md new file mode 100644 index 0000000..c63764b --- /dev/null +++ b/WEBIRC_EXPLAINED.md @@ -0,0 +1,671 @@ +# WEBIRC - Gateway Web-to-IRC + +## 📋 CE ESTE WEBIRC? + +**WebIRC** este un protocol care permite **gateway-urilor web-to-IRC** (clienți IRC în browser) să comunice **IP-ul real** al utilizatorilor către serverul IRC, în loc ca toți utilizatorii să apară cu IP-ul serverului web. + +Este esențial pentru **integrarea IRC în pagini web** fără ca toți utilizatorii să fie văzuți ca provenind de pe același IP (care ar fi IP-ul serverului web). + +--- + +## 🎯 SCOP + +### **Problema FĂRĂ WebIRC:** + +Când ai un **client IRC web** (ex: Kiwi IRC, TheLounge, etc.) pe site-ul tău: + +``` +User1 (România) → WebServer (10.0.0.50) → IRCd +User2 (SUA) → WebServer (10.0.0.50) → IRCd +User3 (Franța) → WebServer (10.0.0.50) → IRCd +``` + +**Ce vede IRCd-ul:** +```irc +[14:30] * Joins: User1 (user1@10.0.0.50) +[14:31] * Joins: User2 (user2@10.0.0.50) +[14:32] * Joins: User3 (user3@10.0.0.50) +# ^^^^^^^^^^^ TOȚI au același IP (serverul web)! +``` + +**Probleme:** +- ❌ Toți utilizatorii apar cu același IP (IP-ul serverului web) +- ❌ Limitele de conexiuni per IP (clone protection) blochează utilizatori legitimi +- ❌ Gline/Ban-uri afectează TOȚI utilizatorii web +- ❌ Imposibil de identificat abuza tori individuali +- ❌ GeoIP-ul arată locația serverului, nu a utilizatorului real + +### **Soluția CU WebIRC:** + +``` +User1 (RO: 203.0.113.10) → WebServer → WEBIRC → IRCd +User2 (US: 198.51.100.25) → WebServer → WEBIRC → IRCd +User3 (FR: 192.0.2.15) → WebServer → WEBIRC → IRCd +``` + +**Ce vede IRCd-ul:** +```irc +[14:30] * Joins: User1 (user1@203.0.113.10) +[14:31] * Joins: User2 (user2@198.51.100.25) +[14:32] * Joins: User3 (user3@192.0.2.15) +# ^^^^^^^^^^^^^^^^ IP-uri REALE ale utilizatorilor! +``` + +**Avantaje:** +- ✅ Fiecare utilizator are IP-ul său real vizibil +- ✅ Clone protection funcționează normal +- ✅ Ban-uri afectează doar utilizatorul problematic +- ✅ GeoIP corect (arată țara reală) +- ✅ Identificare abuzatori individuali + +--- + +## 🔧 CUM FUNCȚIONEAZĂ? + +### **Protocolul WebIRC:** + +1. **User** se conectează la **WebServer** (ex: https://chat.underchat.org) +2. **WebServer** (Kiwi IRC, etc.) se conectează la **IRCd** +3. **WebServer** trimite comanda **WEBIRC** ÎNAINTE de USER/NICK: + ``` + WEBIRC parola_secreta cgiirc hostname.real 203.0.113.10 + ``` +4. **IRCd** verifică: + - Parola este corectă? + - WebServer-ul este autorizat (în WebIRC block)? + - IP-ul și hostname-ul sunt valide? +5. **IRCd** înlocuiește IP-ul WebServer-ului cu IP-ul real al utilizatorului +6. **User** apare pe IRC cu IP-ul său real! + +--- + +## 📝 SINTAXĂ ÎN ircd.conf + +### **Formatul de bază:** + +```conf +WebIRC { + host = "webserver@ip.address"; + password = "parola_secreta"; + description = "Kiwi IRC Gateway"; +}; +``` + +### **Parametri:** + +| Parametru | Obligatoriu | Descriere | +|-----------|-------------|-----------| +| `host` | ✅ DA | Hostmask-ul serverului web autorizat (format: `user@host` sau `*@ip`) | +| `password` | ✅ DA | Parola secretă pentru autentificare (shared secret) | +| `description` | ❌ NU | Descriere afișată în WHOIS (ex: "Web User") | +| `ident` | ❌ NU | Ident fix pentru utilizatori web (ex: "webchat") | +| `userident` | ❌ NU | Folosește username-ul din USER ca ident (yes/no, default: no) | +| `ignoreident` | ❌ NU | Ignoră identd reply de la server web (yes/no, default: no) | +| `stripsslfp` | ❌ NU | Șterge SSL fingerprint de la web server (yes/no, default: no) | +| `enableoptions` | ❌ NU | Activează parsarea IRCv3 WEBIRC options (yes/no, default: no) | +| `trustaccount` | ❌ NU | Permite autentificare automată via WEBIRC (yes/no, default: no) | + +--- + +## 💡 EXEMPLE PRACTICE + +### **Exemplu 1: Configurare Simplă (Kiwi IRC)** + +```conf +WebIRC { + host = "*@203.0.113.50"; + password = "$PLAIN$k1w1_s3cr3t_p@ssw0rd"; + description = "Kiwi IRC Web Gateway"; +}; +``` + +**Explicație:** +- Orice conexiune de pe `203.0.113.50` (serverul unde rulează Kiwi IRC) +- Trebuie să furnizeze parola `k1w1_s3cr3t_p@ssw0rd` +- În WHOIS se va afișa: "Kiwi IRC Web Gateway" + +**Configurare Kiwi IRC (config.ini):** +```ini +[webirc] +password = k1w1_s3cr3t_p@ssw0rd +``` + +--- + +### **Exemplu 2: Multiple Servere Web** + +```conf +# Server Web Principal +WebIRC { + host = "*@203.0.113.50"; + password = "$PLAIN$main_server_pass"; + description = "Main Web Chat"; +}; + +# Server Web Backup +WebIRC { + host = "*@203.0.113.51"; + password = "$PLAIN$backup_server_pass"; + description = "Backup Web Chat"; +}; + +# Server Web Localhost (pentru testing) +WebIRC { + host = "*@127.0.0.1"; + password = "$PLAIN$localhost_test"; + description = "Local Testing"; +}; +``` + +--- + +### **Exemplu 3: Cu Ident Custom și Opțiuni** + +```conf +WebIRC { + host = "*@203.0.113.50"; + password = "$PLAIN$web_password"; + description = "Web Chat"; + + # Setări avansate + ident = "webchat"; # Toți web users au ident "webchat" + userident = no; # Nu folosi username-ul ca ident + ignoreident = yes; # Ignoră identd de la webserver + stripsslfp = yes; # Șterge SSL fingerprint + enableoptions = yes; # Activează IRCv3 WEBIRC options + trustaccount = no; # Nu permite auto-auth +}; +``` + +**Rezultat:** +```irc +/WHOIS WebUser +WebUser is webchat@203.0.113.10 * Real Name +# ^^^^^^^ ident fix ^^^^^^^^^^^ IP real +WebUser using Web Chat (Web Gateway) +# ^^^^^^^^^ description +``` + +--- + +### **Exemplu 4: Rețea CIDR (Multiple IP-uri)** + +```conf +# Permite tot subnet-ul 203.0.113.0/24 +WebIRC { + host = "*@203.0.113.*"; + password = "$PLAIN$subnet_password"; + description = "Web Gateway Farm"; +}; + +# Sau cu CIDR notation: +WebIRC { + host = "*@203.0.113.0/24"; + password = "$PLAIN$cidr_password"; + description = "Web Gateway CIDR"; +}; +``` + +--- + +### **Exemplu 5: TheLounge (Self-hosted IRC Client)** + +```conf +WebIRC { + host = "*@10.0.0.100"; + password = "$PLAIN$thelounge_secret"; + description = "TheLounge Web Client"; + ident = "lounge"; + userident = yes; + ignoreident = yes; +}; +``` + +**Configurare TheLounge (config.js):** +```javascript +webirc: { + "underchat.org": { + password: "thelounge_secret", + server: "irc.underchat.org", + port: 6667 + } +} +``` + +--- + +## 🎓 CAZURI DE UTILIZARE + +### **1. Kiwi IRC pe site-ul tău** + +```conf +WebIRC { + host = "*@chat.underchat.org"; + password = "$PLAIN$kiwi_password"; + description = "UnderChat Web Client"; +}; +``` + +**Link-ul utilizatorilor:** https://chat.underchat.org/ + +--- + +### **2. IRCCloud / Hosted Services** + +```conf +# IRCCloud folosește IP-uri specifice +WebIRC { + host = "*@192.0.2.0/24"; + password = "$PLAIN$irccloud_pass"; + description = "IRCCloud Gateway"; +}; +``` + +--- + +### **3. Multiple Gateway-uri (Load Balancing)** + +```conf +# Gateway 1 +WebIRC { + host = "*@gateway1.underchat.org"; + password = "$PLAIN$shared_password"; + description = "Web Gateway 1"; +}; + +# Gateway 2 +WebIRC { + host = "*@gateway2.underchat.org"; + password = "$PLAIN$shared_password"; + description = "Web Gateway 2"; +}; + +# Gateway 3 +WebIRC { + host = "*@gateway3.underchat.org"; + password = "$PLAIN$shared_password"; + description = "Web Gateway 3"; +}; +``` + +--- + +## ⚙️ CONFIGURARE COMPLETĂ ÎN ircd.conf + +### **Exemplu pentru UnderChat:** + +```conf +# ============================================================================ +# SECȚIUNE: WEBIRC - Gateway-uri Web-to-IRC +# ============================================================================ + +# Kiwi IRC - Server Principal +WebIRC { + host = "*@203.0.113.50"; + password = "$PLAIN$k1w1_Str0ng_P@ssw0rd_2026"; + description = "UnderChat Web Chat"; + ident = "webchat"; + userident = no; + ignoreident = yes; + stripsslfp = yes; + enableoptions = yes; + trustaccount = no; +}; + +# TheLounge - Self-hosted +WebIRC { + host = "*@10.0.0.100"; + password = "$PLAIN$l0ung3_S3cr3t_K3y"; + description = "UnderChat Lounge"; + ident = "lounge"; + userident = yes; + ignoreident = yes; +}; + +# Testing local +WebIRC { + host = "*@127.0.0.1"; + password = "$PLAIN$localhost_test_123"; + description = "Local Testing"; +}; +``` + +--- + +## 🔍 VERIFICARE ȘI TESTARE + +### **1. Verifică configurația:** + +```bash +grep -A 5 'WebIRC {' /home/ircd/ircd/lib/ircd.conf +``` + +**Output așteptat:** +```conf +WebIRC { + host = "*@203.0.113.50"; + password = "$PLAIN$password_here"; + description = "Web Gateway"; +}; +``` + +### **2. Testează conexiunea WebIRC:** + +În **Kiwi IRC config** sau **TheLounge config**, adaugă parola WebIRC. + +**Kiwi IRC (config.ini):** +```ini +[webirc] +password = k1w1_Str0ng_P@ssw0rd_2026 +``` + +**TheLounge (config.js):** +```javascript +webirc: { + "underchat.org": { + password: "l0ung3_S3cr3t_K3y" + } +} +``` + +### **3. Verifică în IRC:** + +```irc +# Conectează-te prin web client +# Apoi verifică: + +/WHOIS YourNick + +# Ar trebui să vezi: +YourNick is webchat@YOUR_REAL_IP * Real Name +# ^^^^^^^ ident ^^^^^^^^^^^^^ IP-ul tău real! +YourNick using UnderChat Web Chat +# ^^^^^^^^^^^^^^^^^^^ description +``` + +### **4. Verifică log-urile IRCd:** + +```bash +tail -f /home/ircd/ircd/log/ircd.log | grep WEBIRC +``` + +**Output SUCCESS:** +``` +WEBIRC Client host: from 203.0.113.50 [203.0.113.50] to user.isp.ro [198.51.100.25] +``` + +**Output ERROR:** +``` +WEBIRC Attempt unauthorized from 203.0.113.50 [203.0.113.50] +# → IP-ul nu e în WebIRC block + +WEBIRC Attempt with invalid password from 203.0.113.50 +# → Parola greșită +``` + +--- + +## 📊 AVANTAJE vs DEZAVANTAJE + +### ✅ **AVANTAJE:** + +1. **IP-uri reale** - Fiecare user are IP-ul său vizibil +2. **Clone protection** - Funcționează normal (nu mai sunt toți pe același IP) +3. **GeoIP corect** - Arată țara reală a utilizatorului +4. **Ban-uri precise** - Afectează doar utilizatorul problematic +5. **Identificare** - Poți identifica abuzatori individuali +6. **Statistici** - GeoIP, conexiuni per țară, etc. sunt corecte + +### ⚠️ **DEZAVANTAJE:** + +1. **Configurare necesară** - Trebuie configurat în IRCd ȘI în web client +2. **Shared secret** - Parola trebuie păstrată secretă +3. **Securitate** - Dacă cineva află parola, poate spoofa IP-uri +4. **Trust** - Trebuie să ai încredere în gateway-ul web + +--- + +## 🚨 SECURITATE - BEST PRACTICES + +### **1. Folosește parole FOARTE PUTERNICE** + +```conf +# ❌ SLAB: +password = "$PLAIN$123456"; + +# ❌ SLAB: +password = "$PLAIN$webirc"; + +# ✅ BINE: +password = "$PLAIN$W3b1RC_Str0ng_P@ssw0rd_2026_UnD3rCh@t"; +``` + +### **2. Limitează la IP-uri SPECIFICE** + +```conf +# ❌ PERICOL (oricine poate): +host = "*@*"; + +# ✅ SIGUR (doar server-ul tău): +host = "*@203.0.113.50"; + +# ✅ SIGUR (doar subnet-ul tău): +host = "*@203.0.113.0/24"; +``` + +### **3. Folosește HTTPS pentru web client** + +``` +❌ http://chat.underchat.org (parola e trimisă în clar!) +✅ https://chat.underchat.org (parola e criptată) +``` + +### **4. Monitorizează încercări neautorizate** + +```bash +# În ircd.conf, activează notificări: +Operator { + # ... + snomask = "+s +w"; # Include SNO_WEBIRC +}; + +# Vei primi notificări pentru: +# - Încercări cu parolă greșită +# - Încercări de pe IP-uri neautorizate +# - IP-uri/hostname-uri invalide +``` + +### **5. Rotează parolele regulat** + +``` +Schimbă parola WebIRC la fiecare 3-6 luni +Actualizează în: +- ircd.conf (pe server IRC) +- config web client (Kiwi/Lounge/etc.) +``` + +--- + +## 🔧 TROUBLESHOOTING + +### **Problemă: WEBIRC nu funcționează** + +**Cauze posibile:** + +1. **WebIRC NU este configurat în ircd.conf** + ```bash + grep 'WebIRC {' /home/ircd/ircd/lib/ircd.conf + # Dacă nu găsește → Trebuie adăugat + ``` + +2. **Parola greșită în web client** + ```bash + # Log IRCd: + tail -f /home/ircd/ircd/log/ircd.log | grep WEBIRC + # Caută: "WEBIRC Attempt with invalid password" + ``` + +3. **IP-ul web server-ului nu se potrivește** + ```conf + # Config: + host = "*@203.0.113.50"; + + # Dar web server-ul are IP: 203.0.113.51 + # → NU se potrivește → BLOCAT! + ``` + +4. **Comanda WEBIRC trimisă prea târziu** + ``` + WEBIRC trebuie trimisă ÎNAINTE de USER/NICK + Ordinea corectă: + 1. WEBIRC password user host ip + 2. NICK nickname + 3. USER username 0 * :realname + ``` + +### **Soluție generală:** + +```bash +# 1. Adaugă WebIRC în ircd.conf +nano /home/ircd/ircd/lib/ircd.conf + +# Adaugă: +WebIRC { + host = "*@IP_WEB_SERVER"; + password = "$PLAIN$parola_aici"; + description = "Web Gateway"; +}; + +# 2. Repornește IRCd +killall ircd +/home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf + +# 3. Configurează parola în web client (Kiwi/Lounge) + +# 4. Testează conexiunea +``` + +--- + +## 📚 INTEGRARE CU CLIENȚI POPULARI + +### **1. Kiwi IRC** + +**Instalare:** +```bash +# Pe serverul web +cd /opt +git clone https://github.com/kiwiirc/kiwiirc.git +cd kiwiirc +npm install +``` + +**Configurare (config.ini):** +```ini +[webirc] +password = your_webirc_password + +[connections] +default_server = irc.underchat.org +default_port = 6667 +``` + +--- + +### **2. TheLounge** + +**Instalare:** +```bash +npm install -g thelounge +thelounge start +``` + +**Configurare (config.js):** +```javascript +module.exports = { + webirc: { + "underchat.org": { + password: "your_webirc_password", + server: "irc.underchat.org", + port: 6667 + } + } +}; +``` + +--- + +### **3. IRCCloud (Service Hosted)** + +Contactează IRCCloud pentru a cere adăugarea rețelei tale. +Ei vor furniza IP-urile lor și parola WebIRC necesară. + +--- + +## 🎯 REFERINȚE + +- **Cod sursă:** `ircd/m_webirc.c` +- **Exemplu config:** `doc/example.conf` (liniile 1047-1089) +- **Specificație IRCv3:** https://ircv3.net/specs/extensions/webirc +- **Kiwi IRC:** https://kiwiirc.com/ +- **TheLounge:** https://thelounge.chat/ + +--- + +## 🎯 CONCLUZIE + +**WebIRC** = **Gateway Web-to-IRC cu IP-uri reale** + +Transformă conexiuni web: +``` +FĂRĂ: Toți → WebServer IP → IRCd (toți cu același IP) +CU: User1 → WebServer → WEBIRC → IRCd (fiecare cu IP-ul său) +``` + +Este **ESENȚIAL** pentru: +- ✅ Clienți IRC web (Kiwi IRC, TheLounge) +- ✅ Integrare IRC pe site-uri +- ✅ GeoIP corect pentru web users +- ✅ Clone protection funcțional +- ✅ Ban-uri precise + +--- + +**Data:** 14 Februarie 2026 +**Versiune:** 1.0 +**Pentru:** UnderChat IRCd v1.5.0+ + +--- + +## 🚀 QUICK START + +**Pentru a adăuga WebIRC:** + +```conf +# Adaugă în /home/ircd/ircd/lib/ircd.conf: + +WebIRC { + host = "*@IP_WEBSERVER_TĂU"; + password = "$PLAIN$parola_foarte_puternica_2026"; + description = "UnderChat Web Client"; + ident = "webchat"; + ignoreident = yes; +}; +``` + +**În Kiwi IRC (config.ini):** +```ini +[webirc] +password = parola_foarte_puternica_2026 +``` + +**Restart IRCd:** +```bash +killall ircd +/home/ircd/ircd/bin/ircd -f /home/ircd/ircd/lib/ircd.conf +``` + +**Testează:** Conectează-te prin web client și verifică `/WHOIS` - ar trebui să vezi IP-ul tău real! + +**GATA!** ✅ + diff --git a/install.sh b/install.sh index 1cf4cb5..23254ce 100755 --- a/install.sh +++ b/install.sh @@ -789,6 +789,12 @@ EOFCONFIG_PSEUDO EOFCONFIG_SPOOFHOST +# ============================================================================ +# SECȚIUNE: WEBIRC - Gateway-uri Web-to-IRC +# ============================================================================ + +EOFCONFIG_WEBIRC + # ============================================================================ # SECȚIUNE: FEATURE - Caracteristici și setări # ============================================================================ @@ -983,6 +989,19 @@ EOFCONFIG sed -i 's|EOFCONFIG_SPOOFHOST|# SPOOFHOST: Neconfigurata|g' "$config_file" fi + # Generare WEBIRC section (dacă există) + if [ -n "$WEBIRC_CONFIG" ]; then + awk -v webirc="$WEBIRC_CONFIG" ' + /EOFCONFIG_WEBIRC/ { + print webirc + next + } + { print } + ' "$config_file" > "$config_file.tmp" && mv "$config_file.tmp" "$config_file" + else + sed -i 's|EOFCONFIG_WEBIRC|# WEBIRC: Neconfigurata|g' "$config_file" + fi + log_success "Fișier de configurare generat: $config_file" return 0 } @@ -1418,6 +1437,12 @@ Pseudo \"NICKSERV\" { nick = \"NickServ@${services_server}\"; }; +# LOGIN - Management nickname-uri +Pseudo \"LOGIN\" { + name = \"X\"; + nick = \"X@${services_server}\"; +}; + # Alias scurt NS pentru NickServ Pseudo \"NS\" { name = \"NickServ\"; @@ -1575,6 +1600,97 @@ Spoofhost \"users.${network_name}\" { # Vezi documentația: SPOOFHOST_EXPLAINED.md" log_info "SPOOFHOST: Neconfigurata (opțional pentru protecție)" fi + + # Configurare WEBIRC (Gateway Web-to-IRC) + echo "" + echo -e "${GALBEN}═══════════════════════════════════════${NC}" + echo -e "${GALBEN}CONFIGURARE WEBIRC (Gateway Web-to-IRC)${NC}" + echo -e "${GALBEN}═══════════════════════════════════════${NC}" + echo "" + echo " WEBIRC permite clienților IRC web (Kiwi IRC, TheLounge)" + echo " să transmită IP-ul REAL al utilizatorilor către server." + echo "" + echo " FĂRĂ WebIRC: Toți web users apar cu IP-ul serverului web" + echo " CU WebIRC: Fiecare user are IP-ul său real vizibil" + echo "" + echo " Necesar DOAR dacă ai un client IRC web (ex: Kiwi IRC)." + echo "" + + read -p " Configurare WEBIRC pentru web gateway? (y/n) [n]: " configure_webirc + configure_webirc=${configure_webirc:-n} + + if [ "$configure_webirc" = "y" ] || [ "$configure_webirc" = "Y" ]; then + echo "" + log_info "Configurare WEBIRC pentru gateway web-to-IRC" + echo "" + + read -p " IP/Host server web (ex: 203.0.113.50, chat.domain.org) [127.0.0.1]: " webirc_host + webirc_host=${webirc_host:-127.0.0.1} + + read -s -p " Parola WebIRC (shared secret): " webirc_password + echo "" + + if [ -z "$webirc_password" ]; then + webirc_password="webirc_$(openssl rand -hex 8 2>/dev/null || date +%s)" + log_warn "Parola generată automat: ${webirc_password}" + fi + + read -p " Descriere gateway (ex: Kiwi IRC, TheLounge) [Web Gateway]: " webirc_description + webirc_description=${webirc_description:-Web Gateway} + + echo "" + read -p " Setări avansate? (y/n) [n]: " webirc_advanced + webirc_advanced=${webirc_advanced:-n} + + if [ "$webirc_advanced" = "y" ] || [ "$webirc_advanced" = "Y" ]; then + read -p " Ident fix pentru web users (ex: webchat) [webchat]: " webirc_ident + webirc_ident=${webirc_ident:-webchat} + + WEBIRC_CONFIG="# Gateway Web-to-IRC pentru ${webirc_host} +WebIRC { + host = \"*@${webirc_host}\"; + password = \"\$PLAIN\$${webirc_password}\"; + description = \"${webirc_description}\"; + ident = \"${webirc_ident}\"; + userident = no; + ignoreident = yes; + stripsslfp = yes; + enableoptions = yes; +};" + log_success "WEBIRC: Configurare avansată pentru ${webirc_host}" + else + WEBIRC_CONFIG="# Gateway Web-to-IRC pentru ${webirc_host} +WebIRC { + host = \"*@${webirc_host}\"; + password = \"\$PLAIN\$${webirc_password}\"; + description = \"${webirc_description}\"; +};" + log_success "WEBIRC: Configurare simplă pentru ${webirc_host}" + fi + + echo "" + echo -e "${VERDE}═══════════════════════════════════════${NC}" + echo -e "${VERDE}IMPORTANT - Configurare Web Client${NC}" + echo -e "${VERDE}═══════════════════════════════════════${NC}" + echo "" + echo " În Kiwi IRC (config.ini):" + echo " [webirc]" + echo " password = ${webirc_password}" + echo "" + echo " În TheLounge (config.js):" + echo " webirc: {" + echo " \"${network_name}\": {" + echo " password: \"${webirc_password}\"" + echo " }" + echo " }" + echo "" + log_warn "SALVEAZĂ această parolă pentru configurarea web client-ului!" + else + WEBIRC_CONFIG="# WEBIRC: Neconfigurata +# Adaugă manual WebIRC blocks pentru gateway-uri web-to-IRC. +# Vezi documentația: WEBIRC_EXPLAINED.md" + log_info "WEBIRC: Neconfigurata (opțional pentru web gateways)" + fi else server_name=$(grep 'name = "' "$CONFIG_FILE" 2>/dev/null | head -1 | cut -d'"' -f2) server_name=${server_name:-localhost.localdomain} @@ -1591,6 +1707,7 @@ Spoofhost \"users.${network_name}\" { CRULE_CONFIG="# CRULE: Neconfigurata (mod non-interactiv)" PSEUDO_CONFIG="# PSEUDO: Neconfigurata (mod non-interactiv)" SPOOFHOST_CONFIG="# SPOOFHOST: Neconfigurata (mod non-interactiv)" + WEBIRC_CONFIG="# WEBIRC: Neconfigurata (mod non-interactiv)" fi # Directorul pentru configurația funcțională - TREBUIE să fie în lib/, nu etc/