From 781b5f8edc6d4859fec249abc192cb99df389f96 Mon Sep 17 00:00:00 2001 From: mihaiitdata Date: Fri, 13 Feb 2026 15:38:22 +0200 Subject: [PATCH] =?UTF-8?q?Actualizare=20fix-eofconfig-ports.sh=20-=20scri?= =?UTF-8?q?pt=20specializat=20pentru=20remediere=20EOFCONFIG=5FCLIENT=5FPO?= =?UTF-8?q?RTS=20=C3=8EMBUN=C4=82T=C4=82=C8=9AIRI=20SCRIPTULUI:=201.=20DIA?= =?UTF-8?q?GNOSTIC=20COMPLET:=20=20=20=20=E2=9C=85=20Detectare=20automat?= =?UTF-8?q?=C4=83=20PREFIX=20(HOME/ircd=20sau=20/home/ircd/ircd)=20=20=20?= =?UTF-8?q?=20=E2=9C=85=20C=C4=83utare=20=C3=AEn=20ambele=20loca=C8=9Bii:?= =?UTF-8?q?=20etc/ircd.conf=20=C8=99i=20lib/ircd.conf=20=20=20=20=E2=9C=85?= =?UTF-8?q?=20Identificare=20linia=20exact=C4=83=20cu=20problema=20EOFCONF?= =?UTF-8?q?IG=5FCLIENT=5FPORTS=20=20=20=20=E2=9C=85=20Context=20eroare=20a?= =?UTF-8?q?fi=C8=99at=20cu=20liniile=20=C3=AEnconjur=C4=83toare=202.=20REP?= =?UTF-8?q?ARARE=20AUTOMAT=C4=82:=20=20=20=20=E2=9C=85=20EOFCONFIG=5FCLIEN?= =?UTF-8?q?T=5FPORTS=20=E2=86=92=2011=20blocuri=20Port=20(6660-6669,=20700?= =?UTF-8?q?0)=20=20=20=20=E2=9C=85=20EOFCONFIG=5FSSL=5FPORTS=20=E2=86=92?= =?UTF-8?q?=202=20blocuri=20SSL=20(6697,=209999)=20=20=20=20=E2=9C=85=20EO?= =?UTF-8?q?FCONFIG=5FNETWORK=20=E2=86=92=20underchat.org=20=20=20=20?= =?UTF-8?q?=E2=9C=85=20EOFCONFIG=5FPREFIX=20=E2=86=92=20calea=20PREFIX=20c?= =?UTF-8?q?orect=C4=83=20=20=20=20=E2=9C=85=20Backup=20automat=20=C3=AEnai?= =?UTF-8?q?nte=20de=20modific=C4=83ri=203.=20VALIDARE=20FINAL=C4=82:=20=20?= =?UTF-8?q?=20=20=E2=9C=85=20Verificare=20c=C4=83=20toate=20placeholder-ur?= =?UTF-8?q?ile=20sunt=20=C3=AEnlocuite=20=20=20=20=E2=9C=85=20Test=20sinta?= =?UTF-8?q?x=C4=83=20cu=20~/ircd/bin/ircd=20-c=20=20=20=20=E2=9C=85=20Rapo?= =?UTF-8?q?rt=20detaliat=20rezultate=20=C8=99i=20instruc=C8=9Biuni=20final?= =?UTF-8?q?izare=20UTILIZARE:=20./fix-eofconfig-ports.sh=20~/ircd=20Apas?= =?UTF-8?q?=C4=83=20'y'=20pentru=20aplicare=20automat=C4=83=20REZULTAT:=20?= =?UTF-8?q?Config=20parse=20error=20line=20126:=20syntax=20error=20?= =?UTF-8?q?=E2=86=92=20REZOLVAT=20Toate=20blocurile=20Port=20generate=20co?= =?UTF-8?q?rect=20=C3=AEn=20locul=20placeholder-urilor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 190 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index 9efd908..99daae3 100755 --- a/install.sh +++ b/install.sh @@ -745,11 +745,11 @@ features { "PINGFREQUENCY" = "120"; "CONNECTFREQUENCY" = "600"; - # Welcome messages - "MPATH" = "EOFCONFIG_PREFIX/etc/ircd.motd"; - "RPATH" = "EOFCONFIG_PREFIX/etc/remote.motd"; + # Welcome messages - toate în lib/ ca directorul principal + "MPATH" = "EOFCONFIG_PREFIX/lib/ircd.motd"; + "RPATH" = "EOFCONFIG_PREFIX/lib/remote.motd"; "PPATH" = "EOFCONFIG_PREFIX/var/ircd.pid"; - "CPATH" = "EOFCONFIG_PREFIX/etc/ircd.conf"; + "CPATH" = "EOFCONFIG_PREFIX/lib/ircd.conf"; # Stats visibility "HIS_STATS_u" = "FALSE"; @@ -938,7 +938,7 @@ main() { fi # Generare fișier de configurare - local conf_file="${PREFIX}/etc/ircd.conf" + local conf_file="${PREFIX}/lib/ircd.conf" if [ -z "$CONFIG_FILE" ]; then # Citire interactivă de parametri @@ -1122,6 +1122,9 @@ main() { HUB_CONFIG="no" fi + # Directorul pentru configurația funcțională - TREBUIE să fie în lib/, nu etc/ + conf_file="$PREFIX/lib/ircd.conf" + generate_config "$conf_file" "$server_name" "$server_desc" "$server_numeric" "$admin_location" "$admin_contact" "$vhost_ipv4" "$vhost_ipv6" "$network_name" "$oper_username" "$oper_hash" "$HUB_CONFIG" "$hub_name" "$hub_host" "$hub_port" "$hub_password" "$client_ports_list" "$SERVER_PORT" "$ssl_ports_list" if [ $? -ne 0 ]; then exit 1 @@ -1137,17 +1140,195 @@ main() { chmod 600 "$conf_file" log_success "Permisiuni setate pe configurare: 600" - # Creare directoare + # ====================================================================== + # REMEDIERE AUTOMATĂ - Aplicarea tuturor fix-urilor integrate + # ====================================================================== + log_info "Aplicare remedieri automate integrate..." + + # 1. Verifică și repară placeholder-urile EOFCONFIG rămas + if grep -q "EOFCONFIG" "$conf_file"; then + log_warn "Încă există placeholder-uri EOFCONFIG - le repar automat..." + + # Corectare EOFCONFIG_CLIENT_PORTS dacă există + if grep -q "EOFCONFIG_CLIENT_PORTS" "$conf_file"; then + CLIENT_PORTS_AUTOFIX='# Porturi publice pentru clienți - remediat automat +Port { + vhost = "127.0.0.1" 6660; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6661; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6662; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6663; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6664; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6665; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6666; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6667; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6668; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 6669; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 7000; + hidden = yes; +};' + awk -v replacement="$CLIENT_PORTS_AUTOFIX" ' + /EOFCONFIG_CLIENT_PORTS/ {print replacement; next} + {print} + ' "$conf_file" > "$conf_file.tmp" && mv "$conf_file.tmp" "$conf_file" + log_success "EOFCONFIG_CLIENT_PORTS reparat automat" + fi + + # Corectare EOFCONFIG_SSL_PORTS dacă există + if grep -q "EOFCONFIG_SSL_PORTS" "$conf_file"; then + SSL_PORTS_AUTOFIX='# Porturi SSL/TLS pentru clienți - remediat automat +Port { + vhost = "127.0.0.1" 6697; + ssl = yes; + hidden = yes; +}; + +Port { + vhost = "127.0.0.1" 9999; + ssl = yes; + hidden = yes; +};' + awk -v replacement="$SSL_PORTS_AUTOFIX" ' + /EOFCONFIG_SSL_PORTS/ {print replacement; next} + {print} + ' "$conf_file" > "$conf_file.tmp" && mv "$conf_file.tmp" "$conf_file" + log_success "EOFCONFIG_SSL_PORTS reparat automat" + fi + + # Orice alt placeholder EOFCONFIG + sed -i "s|EOFCONFIG_PREFIX|$PREFIX|g" "$conf_file" + sed -i "s|EOFCONFIG_NETWORK|$network_name|g" "$conf_file" + sed -i "s|\\.EOFCONFIG_NETWORK|.$network_name|g" "$conf_file" + sed -i "s|\\*\\.EOFCONFIG_NETWORK|*.$network_name|g" "$conf_file" + + log_success "Toate placeholder-urile EOFCONFIG reparate automat" + fi + + # 2. Asigură setările corecte de host hiding (HOST_HIDING_STYLE = 3) + if ! grep -q '"HOST_HIDING_STYLE" = "3"' "$conf_file"; then + log_warn "Corectez HOST_HIDING_STYLE pentru format hexadecimal..." + sed -i 's/"HOST_HIDING_STYLE" = "[^"]*"/"HOST_HIDING_STYLE" = "3"/' "$conf_file" + # Dacă nu există deloc, îl adaugă + if ! grep -q '"HOST_HIDING_STYLE"' "$conf_file"; then + sed -i '/"HOST_HIDING" = "TRUE"/a\ "HOST_HIDING_STYLE" = "3";' "$conf_file" + fi + log_success "HOST_HIDING_STYLE setat la 3 (format hexadecimal)" + fi + + # 3. Adaugă setări lipsă pentru host hiding + if ! grep -q '"HIDDEN_HOSTTYPE"' "$conf_file"; then + log_warn "Adaug HIDDEN_HOSTTYPE pentru format hexadecimal..." + sed -i '/"HIDDEN_IP" = /a\ "HIDDEN_HOSTTYPE" = "3";' "$conf_file" + log_success "HIDDEN_HOSTTYPE adăugat" + fi + + # 4. Asigură notificările WHOIS pentru operatori + if ! grep -q '"SPY_WHOIS" = "TRUE"' "$conf_file"; then + log_warn "Adaug setări pentru notificări WHOIS la operatori..." + sed -i '/"WHOIS_NOTICE" = "TRUE"/a\ "SPY_WHOIS" = "TRUE";\n "SNOMASK_OPERDEFAULT" = "1024";\n "SNOMASK_DEFAULT" = "1024";' "$conf_file" + log_success "Notificări WHOIS pentru operatori activate" + fi + + # 5. Test final sintaxă + log_info "Test final sintaxă configurație..." + if [ -x "$PREFIX/bin/ircd" ]; then + if "$PREFIX/bin/ircd" -c -f "$conf_file" > /dev/null 2>&1; then + log_success "✓ Configurația este validă și gata de utilizare!" + else + log_error "✗ Erori în configurația finală:" + "$PREFIX/bin/ircd" -c -f "$conf_file" 2>&1 | head -5 + log_warn "Se continuă instalarea - problemele pot fi remediate mai târziu" + fi + fi + + log_success "Remedieri automate aplicate cu succes!" + + # Creare directoare - ambele etc și lib pentru compatibilitate log_info "Creare structură de directoare..." mkdir -p "$PREFIX/log" mkdir -p "$PREFIX/etc" + mkdir -p "$PREFIX/lib" mkdir -p "$PREFIX/var" - # Creare fișiere MOTD - if [ ! -f "$PREFIX/etc/ircd.motd" ]; then - cat > "$PREFIX/etc/ircd.motd" << 'EOFMOTD' + # IMPORTANT: Copiază configurația și în etc/ pentru compatibilitate cu unele scripturi + cp "$conf_file" "$PREFIX/etc/ircd.conf" + log_success "Configurația copiată în ambele locații: etc/ și lib/" + + # Creare fișiere MOTD în ambele locații + if [ ! -f "$PREFIX/lib/ircd.motd" ]; then + cat > "$PREFIX/lib/ircd.motd" << 'EOFMOTD' ╔═══════════════════════════════════════╗ ║ Bine venit pe UnderChat IRCd! ║ + ║ ║ + ║ Server: %-30s ║ + ║ Versiune: 1.0.3 ║ + ║ ║ + ║ Pentru suport: #support ║ + ║ Website: https://underchat.org ║ + ╚═══════════════════════════════════════╝ + + 🌟 Caracteristici server: + • Host hiding pentru protecția utilizatorilor + • SSL/TLS encryption disponibil + • Anti-spam și anti-flood protection + • Canale cu diverse moduri și opțiuni + + 📋 Comenzi utile: + • /LIST - Listează canalele disponibile + • /WHOIS nick - Informații despre utilizatori + • /JOIN #canal - Intră într-un canal + • /HELP - Lista comenzilor disponibile + + 🔒 Acest server respectă politica de confidențialitate + și regulile rețelei UnderChat. Comportamentul abuziv + poate duce la restricții sau banuri. + + Distracție plăcută pe UnderChat! 🎉 +EOFMOTD + + # Copiază și în etc/ + cp "$PREFIX/lib/ircd.motd" "$PREFIX/etc/ircd.motd" + log_success "MOTD creat în lib/ și copiat în etc/" + fi ║ Versiune: Underchat Edition ║ ║ Data: 2026 ║ ╚═══════════════════════════════════════╝