diff --git a/INSTALL_AUTO.md b/INSTALL_AUTO.md index e24efc2..60c3384 100644 --- a/INSTALL_AUTO.md +++ b/INSTALL_AUTO.md @@ -296,7 +296,9 @@ nano +126 ~/ircd/etc/ircd.conf # înlocuiește 126 cu linia ta ### Host hiding nu funcționează (problema nr. 2) -**Simptome**: IP-ul real apare în WHOIS în loc să fie ascuns cu modul +x +**Simptome**: IP-ul real apare în WHOIS în loc să fie ascuns cu format hexadecimal + +**Exemplu problemă**: `~Raducu@188.24.5.202` în loc de `~Raducu@4C5DA6.3305AC.147F4A.B19664.IP` ```bash # DIAGNOSTIC RAPID - rulează scriptul specializat @@ -305,10 +307,10 @@ nano +126 ~/ircd/etc/ircd.conf # înlocuiește 126 cu linia ta # SAU verifică manual în ircd.conf: features { "HOST_HIDING" = "TRUE"; - "HOST_HIDING_STYLE" = "1"; # CRITIC - stilul de ascundere + "HOST_HIDING_STYLE" = "3"; # CRITIC - folosește 3 pentru format hexadecimal "HIDDEN_HOST" = "users.underchat.org"; "HIDDEN_IP" = "127.0.0.1"; # CRITIC - IP-ul de înlocuire - "USERMODE_x_HIDEMODES" = "owhbg"; # OPȚIONAL - moduri ascunse + "HIDDEN_HOSTTYPE" = "3"; # CRITIC - tipul host-ului ascuns }; # Verifică clasa utilizatorilor: @@ -322,11 +324,16 @@ Class { ``` **Cauze principale**: -1. **HOST_HIDING_STYLE lipsă** - fără asta, ascunderea nu funcționează -2. **HIDDEN_IP lipsă** - IP-ul real rămâne vizibil +1. **HOST_HIDING_STYLE = "1" în loc de "3"** - stilul 3 generează format hexadecimal +2. **HIDDEN_HOSTTYPE lipsă** - necesar pentru formatarea corectă 3. **Usermode +i în loc de +ix** - modul +x nu se aplică automat 4. **Placeholder-uri neînlocuite** - EOFCONFIG_NETWORK rămâne literal +**Configurația funcțională (de pe ns2.node-ase.ovh)**: +- HOST_HIDING_STYLE = "3" → Format: `4C5DA6.3305AC.147F4A.B19664.IP` +- HIDDEN_HOSTTYPE = "3" → Suportă generarea hexadecimală +- Ascundere automată la conectare cu +ix + **Verificare finală**: ```bash # După restart, conectează-te și testează: @@ -334,7 +341,7 @@ Class { /whois nickname # Ar trebui să vezi: -# nickname is ~user@users.underchat.org * Hosted by me +# nickname is ~user@4C5DA6.3305AC.147F4A.B19664.IP * Hosted by me # în loc de IP-ul real ``` diff --git a/fix-config.sh b/fix-config.sh index 3fffced..7a00dcd 100644 --- a/fix-config.sh +++ b/fix-config.sh @@ -121,9 +121,10 @@ features { "NETWORK" = "underchat.org"; "DOMAINNAME" = "underchat.org"; "HOST_HIDING" = "TRUE"; - "HOST_HIDING_STYLE" = "1"; + "HOST_HIDING_STYLE" = "3"; "HIDDEN_HOST" = "users.underchat.org"; "HIDDEN_IP" = "127.0.0.1"; + "HIDDEN_HOSTTYPE" = "3"; "CPATH" = "$PREFIX/etc/ircd.conf"; "MPATH" = "$PREFIX/etc/ircd.motd"; "RPATH" = "$PREFIX/etc/remote.motd"; @@ -193,7 +194,11 @@ log_info "Verificare și corectare host hiding..." if ! grep -q '"HOST_HIDING_STYLE"' "$CONFIG_ETC"; then log_warn "HOST_HIDING_STYLE lipsește, îl adaug..." # Adaugă după HOST_HIDING = TRUE - sed -i '/"HOST_HIDING" = "TRUE"/a\ "HOST_HIDING_STYLE" = "1";' "$CONFIG_ETC" + sed -i '/"HOST_HIDING" = "TRUE"/a\ "HOST_HIDING_STYLE" = "3";' "$CONFIG_ETC" +else + # Actualizează la versiunea 3 pentru format hexadecimal + sed -i 's/"HOST_HIDING_STYLE" = "[^"]*"/"HOST_HIDING_STYLE" = "3"/' "$CONFIG_ETC" + log_warn "HOST_HIDING_STYLE actualizat la 3 (format hexadecimal)" fi # Verifică dacă HIDDEN_IP există @@ -203,6 +208,13 @@ if ! grep -q '"HIDDEN_IP"' "$CONFIG_ETC"; then sed -i '/"HIDDEN_HOST" = /a\ "HIDDEN_IP" = "127.0.0.1";' "$CONFIG_ETC" fi +# Verifică dacă HIDDEN_HOSTTYPE există (necesar pentru format hexadecimal) +if ! grep -q '"HIDDEN_HOSTTYPE"' "$CONFIG_ETC"; then + log_warn "HIDDEN_HOSTTYPE lipsește, îl adaug pentru format hexadecimal..." + # Adaugă după HIDDEN_IP + sed -i '/"HIDDEN_IP" = "127.0.0.1"/a\ "HIDDEN_HOSTTYPE" = "3";' "$CONFIG_ETC" +fi + # Verifică dacă CPATH există în features if ! grep -q '"CPATH"' "$CONFIG_ETC"; then log_warn "CPATH lipsește din features, îl adaug..." diff --git a/fix-host-hiding.sh b/fix-host-hiding.sh index 0ccd15e..9496292 100644 --- a/fix-host-hiding.sh +++ b/fix-host-hiding.sh @@ -1,6 +1,7 @@ -lta a#!/bin/bash +#!/bin/bash # # Script specializat pentru diagnosticarea și repararea host hiding în UnderChat IRCd +# Versiunea: 1.0.3 - Bazată pe configurația funcțională de la ns2.node-ase.ovh # Limba: Română # @@ -48,6 +49,14 @@ fi echo "" echo -e "${GALBEN}═══ DIAGNOSTIC CURENT ═══${NC}" +# Compară cu serverul funcțional (ns2.node-ase.ovh) +echo "" +log_info "Comparare cu configurația funcțională de pe ns2.node-ase.ovh..." +echo -e "${VERDE}Pe serverul funcțional IP-ul se ascunde automat cu format hexadecimal:${NC}" +echo -e " Exemplu: ~Raducu@4C5DA6.3305AC.147F4A.B19664.IP" +echo -e "${GALBEN}Pe serverul tău IP-ul rămâne vizibil:${NC}" +echo -e " Problema: ~Raducu@188.24.5.202" + # Verifică setările actuale de host hiding echo "" log_info "Verificare setări HOST_HIDING actuale..." @@ -132,39 +141,47 @@ if [[ "$apply_fixes" =~ ^[Yy]$ ]]; then log_success "Placeholder-uri corectate" fi - # 2. Adaugă HOST_HIDING_STYLE dacă lipsește - if ! grep -q '"HOST_HIDING_STYLE"' "$CONFIG_FILE"; then - log_info "Adaug HOST_HIDING_STYLE..." - sed -i '/"HOST_HIDING" = "TRUE"/a\ "HOST_HIDING_STYLE" = "1";' "$CONFIG_FILE" - log_success "HOST_HIDING_STYLE adăugat" + # 2. Setează HOST_HIDING_STYLE pentru format hexadecimal exact ca pe ns2.node-ase.ovh + log_info "Configurez HOST_HIDING_STYLE pentru format hexadecimal..." + + # Elimină orice HOST_HIDING_STYLE existent + sed -i '/HOST_HIDING_STYLE/d' "$CONFIG_FILE" + + # Adaugă HOST_HIDING_STYLE = "3" pentru format hexadecimal (ca pe ns2.node-ase.ovh) + sed -i '/"HOST_HIDING" = "TRUE"/a\ "HOST_HIDING_STYLE" = "3";' "$CONFIG_FILE" + log_success "HOST_HIDING_STYLE setat la 3 (format hexadecimal)" + + # 3. Setează HIDDEN_HOST pentru format .IP + log_info "Configurez HIDDEN_HOST pentru sufix .IP..." + + # Elimină orice HIDDEN_HOST existent + sed -i '/HIDDEN_HOST/d' "$CONFIG_FILE" + + # Adaugă HIDDEN_HOST cu sufix .IP (exact ca pe ns2.node-ase.ovh) + sed -i '/"HOST_HIDING_STYLE" = "3"/a\ "HIDDEN_HOST" = "users.underchat.org";' "$CONFIG_FILE" + sed -i '/"HIDDEN_HOST" = "users.underchat.org"/a\ "HIDDEN_IP" = "127.0.0.1";' "$CONFIG_FILE" + log_success "HIDDEN_HOST și HIDDEN_IP configurate" + + # 4. Adaugă setări critice pentru ascunderea automată + log_info "Adaug setări pentru ascunderea automată la conectare..." + + # Setările specifice pentru a replica comportamentul de pe ns2.node-ase.ovh + if ! grep -q '"HIDDEN_HOSTTYPE"' "$CONFIG_FILE"; then + sed -i '/"HIDDEN_IP" = "127.0.0.1"/a\ "HIDDEN_HOSTTYPE" = "3";' "$CONFIG_FILE" fi - # 3. Adaugă HIDDEN_IP dacă lipsește - if ! grep -q '"HIDDEN_IP"' "$CONFIG_FILE"; then - log_info "Adaug HIDDEN_IP..." - sed -i '/"HIDDEN_HOST" = /a\ "HIDDEN_IP" = "127.0.0.1";' "$CONFIG_FILE" - log_success "HIDDEN_IP adăugat" + if ! grep -q '"AUTOCONNECT_MODE"' "$CONFIG_FILE"; then + sed -i '/"HIDDEN_HOSTTYPE" = "3"/a\ "AUTOCONNECT_MODE" = "+ix";' "$CONFIG_FILE" fi - # 4. Corectează usermode - if grep -q 'usermode = "+i"' "$CONFIG_FILE"; then - log_info "Corectez usermode +i -> +ix..." - sed -i 's/usermode = "+i"/usermode = "+ix"/' "$CONFIG_FILE" - log_success "Usermode correctat" - fi + log_success "Setări pentru ascundere automată adăugate" - # 5. Adaugă CPATH dacă lipsește - if ! grep -q '"CPATH"' "$CONFIG_FILE"; then - log_info "Adaug CPATH în features..." - sed -i '/features {/a\ "CPATH" = "'$PREFIX'/etc/ircd.conf";' "$CONFIG_FILE" - log_success "CPATH adăugat" - fi + # 5. Asigură că toate clasele au usermode +ix pentru ascundere automată + log_info "Configurez toate clasele cu usermode +ix..." - # 6. Verifică și adaugă alte setări importante pentru host hiding - if ! grep -q '"USERMODE_x_HIDEMODES"' "$CONFIG_FILE"; then - log_info "Adaug setări suplimentare pentru +x..." - sed -i '/"HOST_HIDING_STYLE" = "1"/a\ "USERMODE_x_HIDEMODES" = "owhbg";' "$CONFIG_FILE" - fi + # Înlocuiește orice usermode existent cu +ix în toate clasele + sed -i 's/usermode = "[^"]*"/usermode = "+ix"/' "$CONFIG_FILE" + log_success "Usermode +ix setat în toate clasele" echo "" echo -e "${VERDE}═══ TEST FINAL ═══${NC}" diff --git a/install.sh b/install.sh index ca60159..258b9fe 100755 --- a/install.sh +++ b/install.sh @@ -720,11 +720,12 @@ features { "BUFFERPOOL" = "27000000"; "DEFAULTMAXSENDQLENGTH" = "40000"; - # Host hiding + # Host hiding - configurație replicată de pe ns2.node-ase.ovh (funcțional) "HOST_HIDING" = "TRUE"; + "HOST_HIDING_STYLE" = "3"; "HIDDEN_HOST" = "users.EOFCONFIG_NETWORK"; "HIDDEN_IP" = "127.0.0.1"; - "HOST_HIDING_STYLE" = "1"; + "HIDDEN_HOSTTYPE" = "3"; # Channels "MAXCHANNELSPERUSER" = "60";