Imbunatatiri installer si rezolvare probleme configurare
- Adaugat optiunea --version pentru setarea versiunii in PATCHLEVEL - Rezolvat eroarea regex bash cu grep/sed pentru compatibilitate - Adaugat CPATH pentru calea corecta a configului (rezolva problema cu 'No such file') - Imbunatatit HOST_HIDING cu HOST_HIDING_STYLE pentru ascunderea completa - Modificat clasa Opers cu usermode +Wx pentru notificari WHOIS - Adaugat WHOIS_NOTICE pentru notificari la operatori - Actualizat documentatia cu noua optiune --version Rezolva problemele: 1. Config parse error (CPATH setat corect) 2. Hostname-ul nu se ascunde (HOST_HIDING_STYLE) 3. Operatorii nu primesc +W (usermode +Wx in clasa Opers) 4. Lipsa notificari WHOIS (WHOIS_NOTICE activat)
This commit is contained in:
parent
2fdc9ad105
commit
7ac88d3f80
|
|
@ -80,7 +80,10 @@ Script-ul interactiv te va ghida prin:
|
|||
# Dezactivare SSL/TLS
|
||||
./install.sh --no-ssl
|
||||
|
||||
# Combinație de opțiuni
|
||||
# Setare versiune la build
|
||||
./install.sh --version 1.0.3
|
||||
|
||||
# Combinatie de optiuni
|
||||
./install.sh --prefix /opt/ircd --maxcon 16384 --debug
|
||||
```
|
||||
|
||||
|
|
@ -90,12 +93,13 @@ Script-ul interactiv te va ghida prin:
|
|||
Usage: ./install.sh [OPTIONS]
|
||||
|
||||
OPTIONS:
|
||||
-h, --help Afișează mesajul de ajutor
|
||||
-h, --help Afiseaza mesajul de ajutor
|
||||
-p, --prefix PATH Calea de instalare (implicit: $HOME/ircd)
|
||||
-m, --maxcon NUM Numărul maxim de conexiuni (implicit: 4096)
|
||||
-d, --debug Activează modul de debug
|
||||
-s, --no-ssl Dezactivează suportul SSL/TLS
|
||||
-c, --config FILE Fișier de configurare inițial
|
||||
-m, --maxcon NUM Numarul maxim de conexiuni (implicit: 4096)
|
||||
-d, --debug Activeaza modul de debug
|
||||
-s, --no-ssl Dezactiveaza suportul SSL/TLS
|
||||
-c, --config FILE Fisier de configurare initial
|
||||
-V, --version VER Seteaza versiunea in PATCHLEVEL (ex: 1.0.3)
|
||||
```
|
||||
|
||||
## 📁 Structura Directoarelor Post-Instalare
|
||||
|
|
|
|||
70
install.sh
70
install.sh
|
|
@ -20,6 +20,7 @@ ENABLE_SSL=1
|
|||
MAXCON_SET=0
|
||||
SERVER_PORT=4400
|
||||
SSL_PORTS_DEFAULT="6697"
|
||||
IRCD_VERSION=""
|
||||
|
||||
# Validare numar pozitiv (doar cifre)
|
||||
is_positive_int() {
|
||||
|
|
@ -137,22 +138,24 @@ expand_ports() {
|
|||
# Funcția de afișare a ajutorului
|
||||
show_help() {
|
||||
cat << EOF
|
||||
${ALBASTRU}Script de instalare automată pentru UnderChat IRCd${NC}
|
||||
${ALBASTRU}Script de instalare automata pentru UnderChat IRCd${NC}
|
||||
|
||||
Utilizare: ./install.sh [OPȚIUNI]
|
||||
Utilizare: ./install.sh [OPTIUNI]
|
||||
|
||||
${GALBEN}OPȚIUNI:${NC}
|
||||
-h, --help Afișează acest mesaj de ajutor
|
||||
${GALBEN}OPTIUNI:${NC}
|
||||
-h, --help Afiseaza acest mesaj de ajutor
|
||||
-p, --prefix PATH Calea de instalare (implicit: \$HOME/ircd)
|
||||
-m, --maxcon NUM Numărul maxim de conexiuni (implicit: 4096)
|
||||
-d, --debug Activează modul de debug
|
||||
-s, --no-ssl Dezactivează suportul SSL/TLS
|
||||
-c, --config FILE Fișier de configurare inițial
|
||||
-m, --maxcon NUM Numarul maxim de conexiuni (implicit: 4096)
|
||||
-d, --debug Activeaza modul de debug
|
||||
-s, --no-ssl Dezactiveaza suportul SSL/TLS
|
||||
-c, --config FILE Fisier de configurare initial
|
||||
-V, --version VER Seteaza versiunea in PATCHLEVEL (ex: 1.0.3)
|
||||
|
||||
${GALBEN}EXEMPLE:${NC}
|
||||
./install.sh
|
||||
./install.sh --prefix /opt/ircd --maxcon 8192
|
||||
./install.sh --debug --config myconfig.conf
|
||||
./install.sh --version 1.0.3
|
||||
|
||||
EOF
|
||||
}
|
||||
|
|
@ -332,6 +335,41 @@ fix_config_guess() {
|
|||
return 0
|
||||
}
|
||||
|
||||
# Funcția de setare versiune in PATCHLEVEL
|
||||
set_patchlevel_version() {
|
||||
local version="$1"
|
||||
local patchlevel_file="./include/patchlevel.h"
|
||||
|
||||
if [ -z "$version" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ ! -f "$patchlevel_file" ]; then
|
||||
log_warn "Fisierul $patchlevel_file nu exista, sar peste setarea versiunii"
|
||||
return 0
|
||||
fi
|
||||
|
||||
local current
|
||||
current=$(grep -E '^#define PATCHLEVEL ' "$patchlevel_file" | sed -E 's/^#define PATCHLEVEL "([^"]+)".*/\1/')
|
||||
|
||||
if [ -z "$current" ]; then
|
||||
log_warn "Nu pot determina PATCHLEVEL curent, sar peste setarea versiunii"
|
||||
return 0
|
||||
fi
|
||||
|
||||
local new_patchlevel
|
||||
if echo "$current" | grep -q '(.*)'; then
|
||||
# Extract prefix before parentheses
|
||||
local prefix=$(echo "$current" | sed -E 's/^(.*)\([^)]*\)$/\1/')
|
||||
new_patchlevel="${prefix}(${version})"
|
||||
else
|
||||
new_patchlevel="UnderChat(${version})"
|
||||
fi
|
||||
|
||||
sed -i "s|^#define PATCHLEVEL \".*\"|#define PATCHLEVEL \"$new_patchlevel\"|" "$patchlevel_file"
|
||||
log_success "Versiune setata in PATCHLEVEL: $new_patchlevel"
|
||||
}
|
||||
|
||||
# Funcția de configurare
|
||||
configure_ircd() {
|
||||
log_info "Configurare UnderChat IRCd..."
|
||||
|
|
@ -573,7 +611,7 @@ Class {
|
|||
show_invis = yes;
|
||||
see_chan = yes;
|
||||
list_chan = yes;
|
||||
usermode = "+W";
|
||||
usermode = "+Wx";
|
||||
remove = yes;
|
||||
};
|
||||
|
||||
|
|
@ -686,6 +724,7 @@ features {
|
|||
"HOST_HIDING" = "TRUE";
|
||||
"HIDDEN_HOST" = "users.EOFCONFIG_NETWORK";
|
||||
"HIDDEN_IP" = "127.0.0.1";
|
||||
"HOST_HIDING_STYLE" = "1";
|
||||
|
||||
# Channels
|
||||
"MAXCHANNELSPERUSER" = "60";
|
||||
|
|
@ -707,6 +746,7 @@ features {
|
|||
"MPATH" = "EOFCONFIG_PREFIX/etc/ircd.motd";
|
||||
"RPATH" = "EOFCONFIG_PREFIX/etc/remote.motd";
|
||||
"PPATH" = "EOFCONFIG_PREFIX/var/ircd.pid";
|
||||
"CPATH" = "EOFCONFIG_PREFIX/etc/ircd.conf";
|
||||
|
||||
# Stats visibility
|
||||
"HIS_STATS_u" = "FALSE";
|
||||
|
|
@ -746,6 +786,9 @@ features {
|
|||
|
||||
# CTCP versioning
|
||||
"CTCP_VERSIONING" = "FALSE";
|
||||
|
||||
# WHOIS notifications for operators
|
||||
"WHOIS_NOTICE" = "TRUE";
|
||||
};
|
||||
|
||||
EOFCONFIG
|
||||
|
|
@ -826,8 +869,12 @@ main() {
|
|||
CONFIG_FILE="$2"
|
||||
shift 2
|
||||
;;
|
||||
-V|--version)
|
||||
IRCD_VERSION="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
log_error "Opțiune necunoscută: $1"
|
||||
log_error "Optiune necunoscuta: $1"
|
||||
show_help
|
||||
exit 1
|
||||
;;
|
||||
|
|
@ -862,6 +909,9 @@ main() {
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Setare versiune (optional)
|
||||
set_patchlevel_version "$IRCD_VERSION"
|
||||
|
||||
# Configurare
|
||||
configure_ircd
|
||||
if [ $? -ne 0 ]; then
|
||||
|
|
|
|||
Loading…
Reference in New Issue