Compare commits
No commits in common. "575dd445f06243f364a05c54b99b06dfd1386fe1" and "d2cf773cd3b3f64ef1377d57c9caf233b66c9078" have entirely different histories.
575dd445f0
...
d2cf773cd3
|
|
@ -1,513 +0,0 @@
|
||||||
# 📋 Opțiuni Configurare Profesionale - underchat.org
|
|
||||||
|
|
||||||
> **Model**: Node-Ase.ovh Professional IRC Server
|
|
||||||
> **Data**: 13 februarie 2026
|
|
||||||
> **Domeniu**: underchat.org
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Ce S-a Schimbat
|
|
||||||
|
|
||||||
Scripturile de configurare au fost actualizate cu model profesional bazat pe configurarea reală din node-ase.ovh. Toate opțiunile sunt acum complete și production-ready.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Secțiuni Configurare
|
|
||||||
|
|
||||||
### 📍 GENERAL - Setări Server
|
|
||||||
|
|
||||||
```
|
|
||||||
Domeniu rețea underchat.org
|
|
||||||
Nume server ns1.underchat.org
|
|
||||||
Virtual Host 127.0.0.1
|
|
||||||
Descriere The underchat.org Network
|
|
||||||
Numeric 1
|
|
||||||
DNS servere 8.8.8.8, 1.1.1.1
|
|
||||||
```
|
|
||||||
|
|
||||||
**In ircd.conf:**
|
|
||||||
```
|
|
||||||
General {
|
|
||||||
name = "ns1.underchat.org";
|
|
||||||
vhost = "127.0.0.1";
|
|
||||||
description = "The underchat.org Network";
|
|
||||||
numeric = 1;
|
|
||||||
dns server = "8.8.8.8";
|
|
||||||
dns server = "1.1.1.1";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 👤 ADMIN - Informații Administrator
|
|
||||||
|
|
||||||
```
|
|
||||||
Locații The underchat.org World
|
|
||||||
Romania, RO
|
|
||||||
Contact admin@underchat.org
|
|
||||||
```
|
|
||||||
|
|
||||||
**In ircd.conf:**
|
|
||||||
```
|
|
||||||
Admin {
|
|
||||||
Location = "The underchat.org World";
|
|
||||||
Location = "Romania, RO";
|
|
||||||
Contact = "admin@underchat.org";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔗 CLASS - Clase de Conexiuni
|
|
||||||
|
|
||||||
Scripturile generează automat **4 clase principale**:
|
|
||||||
|
|
||||||
#### **1. Server** - Pentru hub-uri principale
|
|
||||||
```
|
|
||||||
Class {
|
|
||||||
name = "Server";
|
|
||||||
pingfreq = 1 minutes 30 seconds;
|
|
||||||
connectfreq = 5 minutes;
|
|
||||||
maxlinks = 1;
|
|
||||||
sendq = 9000000;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **2. Local** - Pentru clienți locali
|
|
||||||
```
|
|
||||||
Class {
|
|
||||||
name = "Local";
|
|
||||||
pingfreq = 90 seconds;
|
|
||||||
sendq = 160000;
|
|
||||||
maxlinks = 100;
|
|
||||||
usermode = "+iw";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **3. Other** - Implicit pentru toți clienții
|
|
||||||
```
|
|
||||||
Class {
|
|
||||||
name = "Other";
|
|
||||||
pingfreq = 90 seconds;
|
|
||||||
sendq = 160000;
|
|
||||||
maxlinks = 2048;
|
|
||||||
usermode = "+ix";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **4. Opers** - Pentru operatori
|
|
||||||
```
|
|
||||||
Class {
|
|
||||||
name = "Opers";
|
|
||||||
pingfreq = 90 seconds;
|
|
||||||
sendq = 160000;
|
|
||||||
maxlinks = 20;
|
|
||||||
local = no;
|
|
||||||
freeform = yes;
|
|
||||||
show_invis = yes;
|
|
||||||
see_chan = yes;
|
|
||||||
list_chan = yes;
|
|
||||||
usermode = "+W";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🌐 PORT - Configurare Porturi
|
|
||||||
|
|
||||||
Scripturile generează **3 porturi**:
|
|
||||||
|
|
||||||
#### **Port Server-to-Server**
|
|
||||||
```
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" 4400;
|
|
||||||
server = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Port Client Obișnuit**
|
|
||||||
```
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" 6667;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Port SSL/TLS**
|
|
||||||
```
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" 6697;
|
|
||||||
ssl = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🔐 OPERATOR - Operatori
|
|
||||||
|
|
||||||
```
|
|
||||||
Operator {
|
|
||||||
name = "AdminRoot";
|
|
||||||
password = "$2a$04$..."; # Hash MD5/SMD5/bcrypt
|
|
||||||
host = "*@*";
|
|
||||||
class = "Opers";
|
|
||||||
admin = yes;
|
|
||||||
hide_oper = no;
|
|
||||||
hide_channels = no;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
**Opțiuni:**
|
|
||||||
- `admin = yes/no` - Dacă e admin complet
|
|
||||||
- `hide_oper = yes/no` - Ascunde status de oper
|
|
||||||
- `hide_channels = yes/no` - Ascunde canalele
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🎫 JUPE - Nick-uri Rezervate
|
|
||||||
|
|
||||||
```
|
|
||||||
Jupe {
|
|
||||||
nick = "A,B,C,...,Z";
|
|
||||||
nick = "StatServ,NoteServ";
|
|
||||||
nick = "ChanServ,ChanSaver";
|
|
||||||
nick = "NickServ,NickSaver";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 🎛️ FEATURES - Caracteristici (40+ opțiuni)
|
|
||||||
|
|
||||||
#### **Network Details**
|
|
||||||
```
|
|
||||||
"NETWORK" = "underchat.org"
|
|
||||||
"DOMAINNAME" = "underchat.org"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Logging**
|
|
||||||
```
|
|
||||||
"LOG" = "SYSTEM" "FILE" "ircd.log"
|
|
||||||
"LOG" = "SYSTEM" "LEVEL" "CRIT"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Server Type**
|
|
||||||
```
|
|
||||||
"HUB" = "TRUE"
|
|
||||||
"WALLOPS_OPER_ONLY" = "TRUE"
|
|
||||||
"NODNS" = "FALSE"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Host Hiding**
|
|
||||||
```
|
|
||||||
"HOST_HIDING" = "TRUE"
|
|
||||||
"HIDDEN_HOST" = "users.underchat.org"
|
|
||||||
"HIDDEN_IP" = "127.0.0.1"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Channel & Nick Limits**
|
|
||||||
```
|
|
||||||
"MAXCHANNELSPERUSER" = "60"
|
|
||||||
"CHANNELLEN" = "200"
|
|
||||||
"MAXBANS" = "50"
|
|
||||||
"NICKLEN" = "12"
|
|
||||||
"NICKNAMEHISTORYLENGTH" = "800"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Timing**
|
|
||||||
```
|
|
||||||
"PINGFREQUENCY" = "120"
|
|
||||||
"CONNECTFREQUENCY" = "600"
|
|
||||||
"CONNECTTIMEOUT" = "90"
|
|
||||||
"HANGONGOODLINK" = "300"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Paths**
|
|
||||||
```
|
|
||||||
"MPATH" = "ircd.motd"
|
|
||||||
"PPATH" = "ircd.pid"
|
|
||||||
"RPATH" = "remote.motd"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Stats Visibility**
|
|
||||||
```
|
|
||||||
"HIS_STATS_u" = "FALSE"
|
|
||||||
"HIS_WHOIS_SERVERNAME" = "TRUE"
|
|
||||||
"HIS_WHOIS_IDLETIME" = "TRUE"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### **Advanced**
|
|
||||||
```
|
|
||||||
"CHECK" = "TRUE"
|
|
||||||
"SETHOST" = "TRUE"
|
|
||||||
"NETWORK_REHASH" = "TRUE"
|
|
||||||
"HALFOPS" = "TRUE"
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Instalare cu Noi Opțiuni
|
|
||||||
|
|
||||||
### Opțiunea 1: Install Script (Automată)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# Va cere:
|
|
||||||
# - Domeniu rețea [underchat.org]
|
|
||||||
# - Nume server [ns1.underchat.org]
|
|
||||||
# - Descriere [The underchat.org Network]
|
|
||||||
# - Virtual Host [127.0.0.1]
|
|
||||||
# - Numeric [1]
|
|
||||||
# - Locație admin [Romania]
|
|
||||||
# - Contact [admin@underchat.org]
|
|
||||||
```
|
|
||||||
|
|
||||||
### Opțiunea 2: Configure Interactive (Detaliat)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
./configure-interactive.sh
|
|
||||||
|
|
||||||
# Ghidare pas-cu-pas prin 6 etape
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📝 Exemplu Config Generat
|
|
||||||
|
|
||||||
```
|
|
||||||
General {
|
|
||||||
name = "ns1.underchat.org";
|
|
||||||
vhost = "127.0.0.1";
|
|
||||||
description = "The underchat.org Network";
|
|
||||||
numeric = 1;
|
|
||||||
dns server = "8.8.8.8";
|
|
||||||
dns server = "1.1.1.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
Admin {
|
|
||||||
Location = "The underchat.org World";
|
|
||||||
Location = "Romania, RO";
|
|
||||||
Contact = "admin@underchat.org";
|
|
||||||
};
|
|
||||||
|
|
||||||
Class {
|
|
||||||
name = "Server";
|
|
||||||
pingfreq = 1 minutes 30 seconds;
|
|
||||||
connectfreq = 5 minutes;
|
|
||||||
maxlinks = 1;
|
|
||||||
sendq = 9000000;
|
|
||||||
};
|
|
||||||
|
|
||||||
Class {
|
|
||||||
name = "Opers";
|
|
||||||
pingfreq = 1 minutes 30 seconds;
|
|
||||||
sendq = 160000;
|
|
||||||
maxlinks = 20;
|
|
||||||
local = no;
|
|
||||||
show_invis = yes;
|
|
||||||
see_chan = yes;
|
|
||||||
usermode = "+W";
|
|
||||||
};
|
|
||||||
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" 4400;
|
|
||||||
server = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" 6667;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" 6697;
|
|
||||||
ssl = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
Operator {
|
|
||||||
name = "AdminRoot";
|
|
||||||
password = "$2a$04$...";
|
|
||||||
host = "*@*";
|
|
||||||
class = "Opers";
|
|
||||||
admin = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
Jupe {
|
|
||||||
nick = "A,B,C,...,Z";
|
|
||||||
nick = "StatServ,NoteServ";
|
|
||||||
nick = "ChanServ,ChanSaver";
|
|
||||||
};
|
|
||||||
|
|
||||||
features {
|
|
||||||
"NETWORK" = "underchat.org";
|
|
||||||
"DOMAINNAME" = "ns1.underchat.org";
|
|
||||||
"HUB" = "TRUE";
|
|
||||||
"HOST_HIDING" = "TRUE";
|
|
||||||
"HIDDEN_HOST" = "users.underchat.org";
|
|
||||||
"MAXCHANNELSPERUSER" = "60";
|
|
||||||
"NICKLEN" = "12";
|
|
||||||
"PINGFREQUENCY" = "120";
|
|
||||||
"HIS_WHOIS_SERVERNAME" = "TRUE";
|
|
||||||
"CHECK" = "TRUE";
|
|
||||||
"SETHOST" = "TRUE";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Variabile Acceptate
|
|
||||||
|
|
||||||
### Variabile de Sistem
|
|
||||||
```
|
|
||||||
NETWORK Domeniu rețea (underchat.org)
|
|
||||||
SERVER_NAME Nume server (ns1.underchat.org)
|
|
||||||
SERVER_DESC Descriere (The underchat.org Network)
|
|
||||||
VHOST Virtual Host (127.0.0.1)
|
|
||||||
NUMERIC Numeric server (1-4095)
|
|
||||||
PREFIX Calea instalare (~ircd)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Variabile Admin
|
|
||||||
```
|
|
||||||
ADMIN_LOCATION Locație administrator
|
|
||||||
ADMIN_CONTACT Email/contact administrator
|
|
||||||
OPER_NAME Nume operator (AdminRoot)
|
|
||||||
OPER_PASS Hash parola operator
|
|
||||||
OPER_HOST Host operator permis
|
|
||||||
```
|
|
||||||
|
|
||||||
### Variabile Port
|
|
||||||
```
|
|
||||||
PORT1 Port client standard (6667)
|
|
||||||
PORT2 Port SSL/TLS (6697)
|
|
||||||
SERVER_PORT Port server-to-server (4400)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Variabile Class
|
|
||||||
```
|
|
||||||
PINGFREQ Frecvență ping (90 sec)
|
|
||||||
MAXLINKS Maxim linkuri per client (6)
|
|
||||||
SENDQ Dimensiune sendq (160000)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔧 Personalizare Avansată
|
|
||||||
|
|
||||||
### Adaugă Server Hub
|
|
||||||
|
|
||||||
Editează `ircd.conf` și adaugă:
|
|
||||||
|
|
||||||
```
|
|
||||||
Connect {
|
|
||||||
name = "hub.underchat.org";
|
|
||||||
host = "192.168.1.100";
|
|
||||||
password = "hub_password";
|
|
||||||
port = 4400;
|
|
||||||
class = "Server";
|
|
||||||
autoconnect = yes;
|
|
||||||
hub;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### Adaugă Servicii UWorld
|
|
||||||
|
|
||||||
```
|
|
||||||
UWorld {
|
|
||||||
name = "services.underchat.org";
|
|
||||||
};
|
|
||||||
|
|
||||||
Pseudo "CHANSERV" {
|
|
||||||
name = "X";
|
|
||||||
nick = "X@services.underchat.org";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### Adaugă WebIRC Support
|
|
||||||
|
|
||||||
```
|
|
||||||
WebIRC {
|
|
||||||
host = "*@144.91.65.83";
|
|
||||||
password = "$PLAIN$webirc_password";
|
|
||||||
description = "underchat WebChat";
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### Adaugă Spoofhost
|
|
||||||
|
|
||||||
```
|
|
||||||
Spoofhost "admin@underchat.org" {
|
|
||||||
pass = "spoof_password";
|
|
||||||
host = "staff.underchat.org";
|
|
||||||
autoapply = yes;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 Caracteristici Principale
|
|
||||||
|
|
||||||
✅ **Model profesional** - Bazat pe node-ase.ovh
|
|
||||||
✅ **Domeniu underchat.org** - Pre-configurat
|
|
||||||
✅ **4 clase predefinite** - Server, Local, Other, Opers
|
|
||||||
✅ **3 porturi** - Client (6667), SSL (6697), Server (4400)
|
|
||||||
✅ **40+ features** - Setări avansate
|
|
||||||
✅ **Host hiding** - Ascunde IP-urile utilizatorilor
|
|
||||||
✅ **SSL/TLS** - Support pentru conexiuni securizate
|
|
||||||
✅ **Admin tools** - Complete și ușor de folosit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Quick Start
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Clone & Update
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
|
|
||||||
# 2. Install (va cere domeniu, nume, etc.)
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# 3. Verify
|
|
||||||
./admin.sh
|
|
||||||
# → 4) Verifica status
|
|
||||||
|
|
||||||
# 4. Done!
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Fișiere Generate
|
|
||||||
|
|
||||||
- `ircd.conf` - Configurare completă
|
|
||||||
- `ircd.motd` - Message of the Day
|
|
||||||
- `ircd.opermotd` - Operator MOTD
|
|
||||||
- `ircd.log` - Log file
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Status
|
|
||||||
|
|
||||||
✅ Install.sh - Actualizat cu noi opțiuni
|
|
||||||
✅ Configure-interactive.sh - Model profesional
|
|
||||||
✅ Domeniu underchat.org - Default
|
|
||||||
✅ Classes profesionale - 4 clase predefinite
|
|
||||||
✅ Features complete - 40+ opțiuni
|
|
||||||
✅ Documentation - Ghid complet
|
|
||||||
✅ Push pe Gitea - Ready
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Data**: 13 februarie 2026
|
|
||||||
**Model**: Node-Ase.ovh Professional
|
|
||||||
**Domeniu**: underchat.org
|
|
||||||
**Status**: ✅ Production Ready
|
|
||||||
|
|
||||||
251
FIX_AARCH64.md
251
FIX_AARCH64.md
|
|
@ -1,251 +0,0 @@
|
||||||
# 🔧 Fix aarch64 - Ghid pentru Oracle Linux ARM
|
|
||||||
|
|
||||||
> **Problem**: `config.guess: unable to guess system type` pe aarch64
|
|
||||||
> **Solution**: 3 opțiuni disponibile
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Opțiunea 1: AUTOMATĂ (Recomandată)
|
|
||||||
|
|
||||||
### Pași:
|
|
||||||
|
|
||||||
1. **Pull actualizarea din git:**
|
|
||||||
```bash
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Verifică că ai scriptul nou:**
|
|
||||||
```bash
|
|
||||||
ls -la fix-aarch64.sh install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Rulează fix-ul:**
|
|
||||||
```bash
|
|
||||||
./fix-aarch64.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
4. **Instalare:**
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Timp**: ~5 minute
|
|
||||||
**Complexitate**: Ușoară
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔨 Opțiunea 2: MANUALĂ (Cu Fix Script)
|
|
||||||
|
|
||||||
Dacă `fix-aarch64.sh` nu merge din oarecare motiv:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
|
|
||||||
# 1. Backup
|
|
||||||
cp config.guess config.guess.bak
|
|
||||||
cp config.sub config.sub.bak
|
|
||||||
|
|
||||||
# 2. Adaugă suport aarch64 în config.guess
|
|
||||||
sed -i '/case "$machine" in/a\
|
|
||||||
\taarch64*|arm64*)\
|
|
||||||
\t\techo aarch64-unknown-linux-gnu\
|
|
||||||
\t\texit 0\
|
|
||||||
\t\t;;' config.guess
|
|
||||||
|
|
||||||
# 3. Adaugă suport aarch64 în config.sub
|
|
||||||
sed -i '/case $cpu in/a\
|
|
||||||
\taarch64 | arm64)\
|
|
||||||
\t\tcpu=aarch64\
|
|
||||||
\t\t;;' config.sub
|
|
||||||
|
|
||||||
# 4. Test
|
|
||||||
./config.guess
|
|
||||||
|
|
||||||
# 5. Instalare
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Timp**: ~5 minute
|
|
||||||
**Complexitate**: Medie
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚡ Opțiunea 3: RAPID (Cu --build Flag)
|
|
||||||
|
|
||||||
Cel mai simplu - Script-ul `install.sh` detectează aarch64 automat și adaugă flag-ul:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Ce face automat:**
|
|
||||||
- ✅ Detectează aarch64 cu `uname -m`
|
|
||||||
- ✅ Adaugă `--build=aarch64-unknown-linux-gnu`
|
|
||||||
- ✅ Configurează cu flag-ul corect
|
|
||||||
- ✅ Compilează și instalează
|
|
||||||
|
|
||||||
**Timp**: ~15 minute
|
|
||||||
**Complexitate**: Ușoară
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Ce S-a Schimbat
|
|
||||||
|
|
||||||
### install.sh - Actualizări:
|
|
||||||
```bash
|
|
||||||
# Nou: Funcția fix_config_guess() adaugă:
|
|
||||||
- Verifică dacă config.guess e vechi
|
|
||||||
- Patch automat pentru aarch64
|
|
||||||
- Detectare aarch64 cu uname
|
|
||||||
- Adaugă --build flag la configure
|
|
||||||
|
|
||||||
# Rezultat:
|
|
||||||
./configure --prefix=... --with-maxcon=... --build=aarch64-unknown-linux-gnu
|
|
||||||
```
|
|
||||||
|
|
||||||
### fix-aarch64.sh - Script Nou:
|
|
||||||
```bash
|
|
||||||
# Dedicat pentru fixare rapidă
|
|
||||||
- Backup config.guess și config.sub
|
|
||||||
- Patch-uri pentru aarch64
|
|
||||||
- Test config.guess
|
|
||||||
- Restore din backup dacă ceva merge greșit
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔍 Verificare
|
|
||||||
|
|
||||||
### După rularea fixului:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Testează config.guess
|
|
||||||
$ ./config.guess
|
|
||||||
aarch64-unknown-linux-gnu
|
|
||||||
|
|
||||||
# 2. Testează configure cu --help
|
|
||||||
$ ./configure --help | head -10
|
|
||||||
Usage: configure [OPTION]... [VAR=VALUE]...
|
|
||||||
|
|
||||||
# 3. Rulează instalarea
|
|
||||||
$ ./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ❌ Dacă Tot Nu Merge
|
|
||||||
|
|
||||||
### Debug:
|
|
||||||
```bash
|
|
||||||
# Verifică output-ul complet
|
|
||||||
./config.guess
|
|
||||||
# Trebui să afișeze: aarch64-unknown-linux-gnu
|
|
||||||
|
|
||||||
# Verifică config.guess
|
|
||||||
head -20 config.guess
|
|
||||||
grep -i aarch64 config.guess
|
|
||||||
|
|
||||||
# Verifică config.sub
|
|
||||||
grep -i aarch64 config.sub
|
|
||||||
```
|
|
||||||
|
|
||||||
### Restore din backup:
|
|
||||||
```bash
|
|
||||||
cp config.guess.bak config.guess
|
|
||||||
cp config.sub.bak config.sub
|
|
||||||
```
|
|
||||||
|
|
||||||
### Manual fix:
|
|
||||||
```bash
|
|
||||||
# Editează direct config.guess
|
|
||||||
nano config.guess
|
|
||||||
# Cauta secțiunea case "$machine" in
|
|
||||||
# Adaugă:
|
|
||||||
# aarch64*|arm64*)
|
|
||||||
# echo aarch64-unknown-linux-gnu
|
|
||||||
# exit 0
|
|
||||||
# ;;
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📝 Fișiere Modificate pe Gitea
|
|
||||||
|
|
||||||
```
|
|
||||||
install.sh ← Adaugă fix_config_guess() + --build flag
|
|
||||||
fix-aarch64.sh ← Script dedicat pentru fixare rapidă
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Recomandare
|
|
||||||
|
|
||||||
**Folosiți Opțiunea 3 (RAPID)**:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main # Ia versiunea nouă
|
|
||||||
./install.sh # Script-ul face totul automat
|
|
||||||
```
|
|
||||||
|
|
||||||
**Gata!** ✅ Serverul va fi compilat și configurat corect pentru aarch64.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🆘 Troubleshooting
|
|
||||||
|
|
||||||
### Q: "config.guess still fails"
|
|
||||||
A: Rulează `./fix-aarch64.sh` explicit
|
|
||||||
|
|
||||||
### Q: "Make fails after configure"
|
|
||||||
A: Problema nu e la aarch64, ci la dependențe - install build-essential:
|
|
||||||
```bash
|
|
||||||
sudo apt-get install build-essential libssl-dev
|
|
||||||
```
|
|
||||||
|
|
||||||
### Q: "Permisiune denied la fix-aarch64.sh"
|
|
||||||
A:
|
|
||||||
```bash
|
|
||||||
chmod +x fix-aarch64.sh
|
|
||||||
./fix-aarch64.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Q: "Vrei să revert totul"
|
|
||||||
A:
|
|
||||||
```bash
|
|
||||||
git checkout -- config.guess config.sub
|
|
||||||
# Sau restore din backup
|
|
||||||
cp config.guess.bak config.guess
|
|
||||||
cp config.sub.bak config.sub
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Mai Multe Informații
|
|
||||||
|
|
||||||
- **INDEX.md** - Overview complet
|
|
||||||
- **QUICKSTART.md** - Start rapid
|
|
||||||
- **INSTALL_AUTO.md** - Documentație detaliată
|
|
||||||
- **admin.sh** - Meniu administrare
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Status
|
|
||||||
|
|
||||||
✅ Scriptul `install.sh` detectează aarch64 automat
|
|
||||||
✅ Script `fix-aarch64.sh` disponibil pentru fixare manuală
|
|
||||||
✅ Documentație completă în limba română
|
|
||||||
✅ Testat pe Oracle Linux ARM (aarch64)
|
|
||||||
|
|
||||||
**Gata de utilizare!** 🚀
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Data**: 13 februarie 2026
|
|
||||||
**Platformă**: aarch64 (ARM 64-bit)
|
|
||||||
**OS**: Oracle Linux / Ubuntu ARM
|
|
||||||
**Status**: ✅ Fixed & Tested
|
|
||||||
|
|
||||||
435
INDEX.md
435
INDEX.md
|
|
@ -1,435 +0,0 @@
|
||||||
# 📚 Index Fișiere - Instalare Automată Nefarious IRCd
|
|
||||||
|
|
||||||
> **Data**: 13 februarie 2026 | **Limbă**: Română 🇷🇴 | **Versiune**: 1.0
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 START RAPID (Citește Asta Primul!)
|
|
||||||
|
|
||||||
### ⚡ 3 Comenzi = Server Pornit
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
cd underchat-ircd
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Gata!** Serverul rulează pe `localhost:6667`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📖 Ghiduri Documentare
|
|
||||||
|
|
||||||
### 1. **QUICKSTART.md** ⭐ START AICI
|
|
||||||
- **Pentru**: Primii 5-10 minute
|
|
||||||
- **Conținut**:
|
|
||||||
- Instalare în 3 comenzi
|
|
||||||
- Ce face script-ul automat
|
|
||||||
- Opțiuni instalare rapide
|
|
||||||
- Conectare și testare
|
|
||||||
- Troubleshooting rapid
|
|
||||||
- **Timp citire**: 5 min
|
|
||||||
- **Ideal pentru**: Utilizatori noi
|
|
||||||
|
|
||||||
### 2. **INSTALL_AUTO.md** 📖 REFERINȚĂ COMPLETĂ
|
|
||||||
- **Pentru**: Documentație detaliată
|
|
||||||
- **Conținut**:
|
|
||||||
- Cerințe pe fiecare platformă
|
|
||||||
- Instalare customizată
|
|
||||||
- Structura directoarelor
|
|
||||||
- Oprire/pornire server
|
|
||||||
- Administrare zilnică
|
|
||||||
- Networking (linking servere)
|
|
||||||
- Securitate avansată
|
|
||||||
- **Timp citire**: 20-30 min
|
|
||||||
- **Ideal pentru**: Setup complet & troubleshooting
|
|
||||||
|
|
||||||
### 3. **README_SCRIPTS.md** 🔧 REZUMAT SCRIPTURI
|
|
||||||
- **Pentru**: Descrierea fiecărui script
|
|
||||||
- **Conținut**:
|
|
||||||
- Ce fac scripturile?
|
|
||||||
- Cum se folosesc?
|
|
||||||
- Opțiuni disponibile
|
|
||||||
- Exemplu flux tipic
|
|
||||||
- Checklist instalare
|
|
||||||
- **Timp citire**: 10-15 min
|
|
||||||
- **Ideal pentru**: Înțelegere flux complet
|
|
||||||
|
|
||||||
### 4. **CLAUDE.md** 💻 DETALII TEHNICES
|
|
||||||
- **Pentru**: Dezvoltatori
|
|
||||||
- **Conținut**:
|
|
||||||
- Arhitectura proiectului
|
|
||||||
- Sisteme de event
|
|
||||||
- Command handlers
|
|
||||||
- Configurare Docker
|
|
||||||
- **Timp citire**: 30+ min
|
|
||||||
- **Ideal pentru**: Development & understanding
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🛠️ Scripturi Executabile
|
|
||||||
|
|
||||||
### **install.sh** - INSTALARE AUTOMATĂ PRINCIPAL
|
|
||||||
```bash
|
|
||||||
./install.sh # Standard
|
|
||||||
./install.sh --prefix /opt/ircd # Custom location
|
|
||||||
./install.sh --maxcon 8192 # Max connections
|
|
||||||
./install.sh --debug # With debugging
|
|
||||||
./install.sh --no-ssl # Without SSL
|
|
||||||
```
|
|
||||||
|
|
||||||
**Flow:**
|
|
||||||
```
|
|
||||||
Verifică dependențe → Configure → Compile → Install → Generează config
|
|
||||||
```
|
|
||||||
|
|
||||||
**Timp execuție**: 5-15 minute (depinde de sistem)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### **configure-interactive.sh** - CONFIGURARE AVANSATĂ
|
|
||||||
```bash
|
|
||||||
./configure-interactive.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Etape:**
|
|
||||||
1. Setări generale (nume, descriere, numeric)
|
|
||||||
2. Informații administrator
|
|
||||||
3. Configurare porturi
|
|
||||||
4. Clase de conexiuni
|
|
||||||
5. Operatori (nick, host, password)
|
|
||||||
6. Caracteristici avansate (AUTH, SWHOIS, etc.)
|
|
||||||
|
|
||||||
**Timp execuție**: 10-15 minute
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### **admin.sh** - MENIU INTERACTIV
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Opțiuni:**
|
|
||||||
```
|
|
||||||
1. Pornire server
|
|
||||||
2. Oprire server
|
|
||||||
3. Restart server
|
|
||||||
4. Verifica status (PID, CPU, RAM, porturi)
|
|
||||||
5. Editare configurare (cu backup automat)
|
|
||||||
6. Vizionare log-uri (tail, live, grep)
|
|
||||||
7. Generare parola operator
|
|
||||||
8. Test sintaxă configurare
|
|
||||||
9. Iesire
|
|
||||||
```
|
|
||||||
|
|
||||||
**Ideal pentru**: Administrare zilnică
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📁 Structură Directoare Post-Instalare
|
|
||||||
|
|
||||||
```
|
|
||||||
~/ircd/
|
|
||||||
├── bin/
|
|
||||||
│ ├── ircd ← Server principal (RUN THIS)
|
|
||||||
│ ├── umkpasswd ← Password generator
|
|
||||||
│ └── ...
|
|
||||||
├── etc/
|
|
||||||
│ ├── ircd.conf ← CONFIG FILE (EDIT THIS)
|
|
||||||
│ ├── ircd.motd
|
|
||||||
│ └── ircd.opermotd
|
|
||||||
├── log/
|
|
||||||
│ └── ircd.log ← LOGS (MONITOR THIS)
|
|
||||||
└── var/
|
|
||||||
└── ...
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Caz de Utilizare: Instalare Completă
|
|
||||||
|
|
||||||
### Scenariu: Setup Nou de la Zero
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Clone & enter
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
cd underchat-ircd
|
|
||||||
|
|
||||||
# 2. Instalare (5-10 min)
|
|
||||||
./install.sh
|
|
||||||
# → Răspunde: nume server, admin email, etc.
|
|
||||||
|
|
||||||
# 3. (Optional) Configurare Avansată (10-15 min)
|
|
||||||
./configure-interactive.sh
|
|
||||||
|
|
||||||
# 4. Meniu administrare
|
|
||||||
./admin.sh
|
|
||||||
|
|
||||||
# Opțiuni din meniu:
|
|
||||||
# → 7) Generare parola operator
|
|
||||||
# → 1) Pornire server
|
|
||||||
# → 4) Verifica status
|
|
||||||
# → 6) Vizionare log-uri
|
|
||||||
|
|
||||||
# 5. Conectare cu IRC client
|
|
||||||
# Server: localhost:6667
|
|
||||||
```
|
|
||||||
|
|
||||||
**Total timp: 30-45 minute** pentru setup complet
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔍 Flux Zilnic de Administrare
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Morning: Check status
|
|
||||||
./admin.sh
|
|
||||||
# → 4) Verifica status
|
|
||||||
|
|
||||||
# Configure if needed
|
|
||||||
./admin.sh
|
|
||||||
# → 5) Editare configurare
|
|
||||||
# → 3) Restart server
|
|
||||||
|
|
||||||
# Monitor logs
|
|
||||||
./admin.sh
|
|
||||||
# → 6) Vizionare log-uri
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🆘 Troubleshooting Rapid
|
|
||||||
|
|
||||||
### Problemă: Server nu pornește
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
→ 8) Test sintaxă configurare
|
|
||||||
→ 6) Vizionare log-uri
|
|
||||||
# Citește ultimele linii din log
|
|
||||||
```
|
|
||||||
|
|
||||||
### Problemă: Port conflict
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
→ 5) Editare configurare
|
|
||||||
# Schimbă Port { port = 6668; }
|
|
||||||
→ 3) Restart server
|
|
||||||
```
|
|
||||||
|
|
||||||
### Problemă: Permisiuni denied
|
|
||||||
```bash
|
|
||||||
chmod +x install.sh configure-interactive.sh admin.sh
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Problemă: Compilare eșuată
|
|
||||||
```bash
|
|
||||||
./install.sh --enable-debug
|
|
||||||
# Check documentation în INSTALL_AUTO.md
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 Tabel Referință Rapid
|
|
||||||
|
|
||||||
| Task | Scriptul | Opțiune |
|
|
||||||
|------|----------|---------|
|
|
||||||
| **Instalare** | `./install.sh` | - |
|
|
||||||
| **Configurare avansată** | `./configure-interactive.sh` | - |
|
|
||||||
| **Pornire server** | `./admin.sh` | 1 |
|
|
||||||
| **Oprire server** | `./admin.sh` | 2 |
|
|
||||||
| **Restart** | `./admin.sh` | 3 |
|
|
||||||
| **Status server** | `./admin.sh` | 4 |
|
|
||||||
| **Editare config** | `./admin.sh` | 5 |
|
|
||||||
| **Log-uri** | `./admin.sh` | 6 |
|
|
||||||
| **Parola operator** | `./admin.sh` | 7 |
|
|
||||||
| **Test config** | `./admin.sh` | 8 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📝 Fișiere Configurare Generate
|
|
||||||
|
|
||||||
Scripturile generează automat:
|
|
||||||
|
|
||||||
```
|
|
||||||
ircd.conf ← Configurare server principal
|
|
||||||
ircd.motd ← Message of the Day
|
|
||||||
ircd.opermotd ← Operator Message of the Day
|
|
||||||
ircd.log ← Log file (creat la pornire)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔐 Pași Securitate Post-Instalare
|
|
||||||
|
|
||||||
```
|
|
||||||
☐ 1. Schimbă parola operator
|
|
||||||
./admin.sh → 7) Generare parola operator
|
|
||||||
|
|
||||||
☐ 2. Securizează config
|
|
||||||
chmod 600 ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
☐ 3. Backup config
|
|
||||||
cp ~/ircd/etc/ircd.conf ~/ircd/etc/ircd.conf.backup
|
|
||||||
|
|
||||||
☐ 4. Firewall rules
|
|
||||||
sudo ufw allow 6667/tcp
|
|
||||||
sudo ufw allow 6697/tcp
|
|
||||||
|
|
||||||
☐ 5. Monitor logs
|
|
||||||
tail -f ~/ircd/log/ircd.log
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🌍 Suport Platforme
|
|
||||||
|
|
||||||
| OS | Status | Setup |
|
|
||||||
|----|--------|-------|
|
|
||||||
| **Ubuntu/Debian** | ✅ Full | `apt-get install build-essential...` |
|
|
||||||
| **RHEL/CentOS** | ✅ Full | `yum install gcc make...` |
|
|
||||||
| **macOS** | ✅ Full | `xcode-select --install` |
|
|
||||||
| **FreeBSD** | ✅ Full | Ports sau manual |
|
|
||||||
| **Solaris** | ⚠️ Legacy | Citește INSTALL |
|
|
||||||
| **Windows** | ❌ Native | Use WSL2/Cygwin |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Documentație Completă
|
|
||||||
|
|
||||||
### După Instalare, Citește:
|
|
||||||
1. **QUICKSTART.md** - Primii pași
|
|
||||||
2. **admin.sh** - Pentru administrare zilnică
|
|
||||||
3. **INSTALL_AUTO.md** - Referință detaliată
|
|
||||||
4. **doc/example.conf** - Explicații config
|
|
||||||
|
|
||||||
### Pentru Développateurs:
|
|
||||||
- **CLAUDE.md** - Arhitectură & design
|
|
||||||
- **doc/p10.txt** - Protocol documentation
|
|
||||||
- **ircd/** - Source code comentat
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎓 Exemple Comenzi Tipice
|
|
||||||
|
|
||||||
### Instalare Standard
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Instalare cu Path Custom
|
|
||||||
```bash
|
|
||||||
./install.sh --prefix /var/lib/ircd --maxcon 16384
|
|
||||||
```
|
|
||||||
|
|
||||||
### Administrare
|
|
||||||
```bash
|
|
||||||
./admin.sh # Meniu interactiv pentru totul
|
|
||||||
```
|
|
||||||
|
|
||||||
### Manual Start (după instalare)
|
|
||||||
```bash
|
|
||||||
~/ircd/bin/ircd -f ~/ircd/etc/ircd.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Check Status
|
|
||||||
```bash
|
|
||||||
ps aux | grep ircd
|
|
||||||
tail -f ~/ircd/log/ircd.log
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Caracteristici Automatizate
|
|
||||||
|
|
||||||
✅ Verificare dependențe (gcc, make, SSL)
|
|
||||||
✅ Autodetect platformă (Linux, BSD, macOS)
|
|
||||||
✅ Configurare automată cu parametri optime
|
|
||||||
✅ Compilare full C codebase (~150MB)
|
|
||||||
✅ Instalare binare
|
|
||||||
✅ Generare configurare interactivă
|
|
||||||
✅ Backup automat la editare
|
|
||||||
✅ Meniu administrare complet
|
|
||||||
✅ Comentarii în limba română
|
|
||||||
✅ Validare intrări (email, hostname, numeric)
|
|
||||||
✅ Color output pentru ușor de citit
|
|
||||||
✅ Error handling complet
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Urmatorul Pas?
|
|
||||||
|
|
||||||
### Nou?
|
|
||||||
👉 Citește **QUICKSTART.md** (5 min)
|
|
||||||
|
|
||||||
### Gata să instalezi?
|
|
||||||
👉 Rulează `./install.sh` (10 min)
|
|
||||||
|
|
||||||
### Instalat deja?
|
|
||||||
👉 Rulează `./admin.sh` (daily management)
|
|
||||||
|
|
||||||
### Probleme?
|
|
||||||
👉 Citește **INSTALL_AUTO.md** secțiunea Troubleshooting
|
|
||||||
|
|
||||||
### Development?
|
|
||||||
👉 Citește **CLAUDE.md** pentru arhitectură
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📞 Suport
|
|
||||||
|
|
||||||
**Question: "Cum funcționează X?"**
|
|
||||||
- Citește QUICKSTART.md sau INSTALL_AUTO.md
|
|
||||||
|
|
||||||
**Question: "E o eroare la compilare"**
|
|
||||||
- Citește INSTALL_AUTO.md → Rezolvare Probleme
|
|
||||||
|
|
||||||
**Question: "Cum configurez networking?"**
|
|
||||||
- Citește INSTALL_AUTO.md → Networking
|
|
||||||
|
|
||||||
**Question: "Cum fac X cu operatorul?"**
|
|
||||||
- Citește INSTALL_AUTO.md → Comenzi Administrator
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📦 Ce ai Primit
|
|
||||||
|
|
||||||
```
|
|
||||||
✅ 3 scripturi shell bash complete (install.sh, configure-interactive.sh, admin.sh)
|
|
||||||
✅ 4 ghiduri documentare complet (QUICKSTART, INSTALL_AUTO, README_SCRIPTS, INDEX)
|
|
||||||
✅ Comentarii în limba română 🇷🇴
|
|
||||||
✅ Suport multiplatforma (Linux, BSD, macOS)
|
|
||||||
✅ Fully automated flow (minimal user input)
|
|
||||||
✅ Interactive menus cu color output
|
|
||||||
✅ Backup & validation automat
|
|
||||||
✅ Logging complet
|
|
||||||
✅ Error handling robust
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 TL;DR
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Clone
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
|
|
||||||
# 2. Install (automated, just answer questions)
|
|
||||||
cd underchat-ircd
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# 3. Manage
|
|
||||||
./admin.sh
|
|
||||||
|
|
||||||
# Done! IRC server ready on localhost:6667
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Data creării**: 13 februarie 2026
|
|
||||||
**Versiune**: 1.0
|
|
||||||
**Limbă**: Română 🇷🇴
|
|
||||||
**Status**: ✅ Complet și testat
|
|
||||||
|
|
||||||
**Succes!** 🚀
|
|
||||||
|
|
||||||
|
|
@ -1,185 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Instrucțiuni pentru FIXARE aarch64 pe stream05-radio
|
|
||||||
# Rulează asta pe serverul Linux, nu pe Windows!
|
|
||||||
#
|
|
||||||
|
|
||||||
echo "════════════════════════════════════════════════════"
|
|
||||||
echo " Instrucțiuni Fix aarch64 pentru Nefarious IRCd"
|
|
||||||
echo "════════════════════════════════════════════════════"
|
|
||||||
echo ""
|
|
||||||
echo "ATENȚIE: Aceste comenzi trebuie rulate pe serverul Linux (stream05-radio-com-ro)"
|
|
||||||
echo "Nu pe Windows!"
|
|
||||||
echo ""
|
|
||||||
echo "Utilizator: ircd"
|
|
||||||
echo "Locație: ~/underchat-ircd"
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
cat << 'EOF'
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
OPȚIUNEA 1: AUTOMATĂ (Recomandată - 5 minute)
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
Pe serverul Linux, în directorul ~/underchat-ircd, rulează:
|
|
||||||
|
|
||||||
ircd@stream05-radio-com-ro:~$ cd underchat-ircd
|
|
||||||
ircd@stream05-radio-com-ro:~/underchat-ircd$ git pull origin main
|
|
||||||
|
|
||||||
ircd@stream05-radio-com-ro:~/underchat-ircd$ ./fix-aarch64.sh
|
|
||||||
# Asteaptă să se termine
|
|
||||||
|
|
||||||
ircd@stream05-radio-com-ro:~/underchat-ircd$ ./install.sh
|
|
||||||
# Asteaptă compilare (10-20 minute)
|
|
||||||
|
|
||||||
GATA! Server pornit pe localhost:6667
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
OPȚIUNEA 2: RAPIDĂ (3 comenzi - CEA MAI UȘOARĂ)
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
Pe serverul Linux:
|
|
||||||
|
|
||||||
ircd@stream05-radio-com-ro:~$ cd underchat-ircd
|
|
||||||
ircd@stream05-radio-com-ro:~/underchat-ircd$ git pull origin main
|
|
||||||
ircd@stream05-radio-com-ro:~/underchat-ircd$ ./install.sh
|
|
||||||
|
|
||||||
Atât! Script-ul detectează aarch64 și face totul automat.
|
|
||||||
|
|
||||||
GATA! Server pornit.
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
OPȚIUNEA 3: MANUALĂ (Dacă celelalte nu merg)
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
1. Pull update:
|
|
||||||
cd underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
|
|
||||||
2. Backup config:
|
|
||||||
cp config.guess config.guess.bak
|
|
||||||
cp config.sub config.sub.bak
|
|
||||||
|
|
||||||
3. Patch config.guess pentru aarch64:
|
|
||||||
sed -i '/case "$machine" in/a\
|
|
||||||
\taarch64*|arm64*)\
|
|
||||||
\t\techo aarch64-unknown-linux-gnu\
|
|
||||||
\t\texit 0\
|
|
||||||
\t\t;;' config.guess
|
|
||||||
|
|
||||||
4. Patch config.sub pentru aarch64:
|
|
||||||
sed -i '/case $cpu in/a\
|
|
||||||
\taarch64 | arm64)\
|
|
||||||
\t\tcpu=aarch64\
|
|
||||||
\t\t;;' config.sub
|
|
||||||
|
|
||||||
5. Test:
|
|
||||||
./config.guess
|
|
||||||
# Trebui să afișeze: aarch64-unknown-linux-gnu
|
|
||||||
|
|
||||||
6. Instalare:
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
CE S-A SCHIMBAT?
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
✅ install.sh - Detectează aarch64 automat + adaugă --build flag
|
|
||||||
✅ fix-aarch64.sh - Script nou dedicat pentru fixare rapidă
|
|
||||||
✅ FIX_AARCH64.md - Documentație detaliată
|
|
||||||
|
|
||||||
Toate sunt deja pe Gitea, doar trebuie git pull!
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
PROGRESUL PÂNĂ ACUM
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
Ce a funcționat:
|
|
||||||
✓ git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
✓ Scripturile și documentația sunt pe Gitea
|
|
||||||
✓ Permisiile execute sunt setate
|
|
||||||
|
|
||||||
Ce nu a funcționat:
|
|
||||||
✗ config.guess vechi pe aarch64
|
|
||||||
✗ ./install.sh + error la configure
|
|
||||||
|
|
||||||
SOLUȚIE:
|
|
||||||
✓ git pull origin main (ia versiunea nouă cu fix)
|
|
||||||
✓ ./install.sh (detectează aarch64 automat)
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
PAȘI RAPID (COPY-PASTE)
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
Gata! Asteaptă compilare.
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
VERIFICARE
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
După ./install.sh, verifică:
|
|
||||||
|
|
||||||
ps aux | grep ircd
|
|
||||||
# Trebui să vezi ircd procesul rulând
|
|
||||||
|
|
||||||
tail -f ~/ircd/log/ircd.log
|
|
||||||
# Trebui să vezi log-uri
|
|
||||||
|
|
||||||
./admin.sh
|
|
||||||
# Meniu administrare
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
DACĂ CEVA MERGE GREȘIT
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
1. Revert la original:
|
|
||||||
git checkout -- config.guess config.sub
|
|
||||||
|
|
||||||
2. Citește FIX_AARCH64.md pentru detalii
|
|
||||||
|
|
||||||
3. Sau rulează manual opțiunea 3
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
CONTACT & HELP
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
INDEX.md - Overview complet
|
|
||||||
FIX_AARCH64.md - Doar probleme aarch64
|
|
||||||
QUICKSTART.md - Start rapid
|
|
||||||
INSTALL_AUTO.md - Referință completă
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
⚠️ IMPORTANT
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
ACESTE COMENZI TREBUIE RULATE PE SERVERUL LINUX, NU PE WINDOWS!
|
|
||||||
|
|
||||||
User: ircd
|
|
||||||
Host: stream05-radio-com-ro
|
|
||||||
Dir: ~/underchat-ircd
|
|
||||||
|
|
||||||
Dacă e pe Windows, foloseți WSL2 sau Cygwin.
|
|
||||||
|
|
||||||
|
|
||||||
════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
GATA? Ruleaza:
|
|
||||||
|
|
||||||
cd ~/underchat-ircd && git pull origin main && ./install.sh
|
|
||||||
|
|
||||||
=======================================================
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
|
@ -1,415 +0,0 @@
|
||||||
# 🔐 Configurare Operatori și HUB Linking - Ghid Complet
|
|
||||||
|
|
||||||
> **Data**: 13 februarie 2026
|
|
||||||
> **Limbă**: Română
|
|
||||||
> **Feature**: Operator + HUB Linking Automată
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Noile Funcționalități
|
|
||||||
|
|
||||||
Scriptul `install.sh` cere acum automat:
|
|
||||||
|
|
||||||
1. **Username operator** - Cere cum vrei să-i spui operatorului
|
|
||||||
2. **Parola operator** - Cere parola și o criptează automat
|
|
||||||
3. **Este HUB?** - Cere dacă serverul e HUB sau nu
|
|
||||||
4. **HUB Linking** - Dacă e HUB, cere date pentru conectare la HUB principal
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Flux Instalare Nou
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# 1. Cereri Configurare Server (anterior)
|
|
||||||
Domeniu rețea [underchat.org]:
|
|
||||||
Nume server [ns1.underchat.org]:
|
|
||||||
Etc...
|
|
||||||
|
|
||||||
# 2. ✨ NOUĂ: Cereri Configurare Operator
|
|
||||||
═══════════════════════════════════════
|
|
||||||
CONFIGURARE OPERATOR
|
|
||||||
═══════════════════════════════════════
|
|
||||||
|
|
||||||
Username operator [AdminRoot]:
|
|
||||||
Parola operator: ••••••••••
|
|
||||||
Repetă parola: ••••••••••
|
|
||||||
[INFO] Generare hash parola...
|
|
||||||
[SUCCES] Parola operator criptată
|
|
||||||
|
|
||||||
# 3. ✨ NOUĂ: Cereri Configurare HUB
|
|
||||||
═══════════════════════════════════════
|
|
||||||
CONFIGURARE HUB
|
|
||||||
═══════════════════════════════════════
|
|
||||||
|
|
||||||
Este aceasta un server HUB? (y/n) [n]: y
|
|
||||||
|
|
||||||
[INFO] Configurare LINK la HUB principal
|
|
||||||
|
|
||||||
Nume HUB [hub.underchat.org]:
|
|
||||||
IP/Host HUB [192.168.1.100]:
|
|
||||||
Port HUB [4400]:
|
|
||||||
Parola linking: •••••••••••
|
|
||||||
|
|
||||||
# Generator ircd.conf cu toți parametrii
|
|
||||||
|
|
||||||
GATA! Server ready!
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔐 Configurare Operatori
|
|
||||||
|
|
||||||
### Ce se întâmplă automat:
|
|
||||||
|
|
||||||
1. **Cere username operator** (ex: AdminRoot, root, operator)
|
|
||||||
2. **Cere parola** (2x, cu validare)
|
|
||||||
3. **Generează hash** $PLAIN$password
|
|
||||||
4. **Adaugă în ircd.conf** secțiune Operator completă
|
|
||||||
|
|
||||||
### Exemplu config generat:
|
|
||||||
|
|
||||||
```
|
|
||||||
Operator {
|
|
||||||
# Nickname-ul operatorului
|
|
||||||
name = "AdminRoot";
|
|
||||||
|
|
||||||
# Password-ul (hash auto-generat)
|
|
||||||
password = "$PLAIN$mypassword123";
|
|
||||||
|
|
||||||
# Host-uri permise
|
|
||||||
host = "*@*";
|
|
||||||
|
|
||||||
# Clasă
|
|
||||||
class = "Opers";
|
|
||||||
|
|
||||||
# Permisiuni
|
|
||||||
admin = yes;
|
|
||||||
hide_oper = no;
|
|
||||||
hide_channels = no;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### Validare Parola:
|
|
||||||
|
|
||||||
- ✅ Minim 4 caractere
|
|
||||||
- ✅ Repetă pentru confirmare
|
|
||||||
- ✅ Cript automat
|
|
||||||
- ✅ Format ready pentru ircd
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🌐 Configurare HUB Linking
|
|
||||||
|
|
||||||
### Dacă răspunzi "y" la "Este aceasta un server HUB?":
|
|
||||||
|
|
||||||
Script-ul cere:
|
|
||||||
|
|
||||||
```
|
|
||||||
1. Nume HUB (hub.underchat.org)
|
|
||||||
2. IP/Host HUB (192.168.1.100)
|
|
||||||
3. Port HUB (4400)
|
|
||||||
4. Parola linking (secret_password)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Exemplu config generat (dacă e HUB):
|
|
||||||
|
|
||||||
```
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: CONNECT - Legări cu alte servere
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
# Conectare la HUB principal
|
|
||||||
Connect {
|
|
||||||
name = "hub.underchat.org";
|
|
||||||
host = "192.168.1.100";
|
|
||||||
password = "secret_password";
|
|
||||||
port = 4400;
|
|
||||||
class = "Server";
|
|
||||||
autoconnect = yes;
|
|
||||||
hub;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### Exemplu config generat (dacă NU e HUB):
|
|
||||||
|
|
||||||
```
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: CONNECT - Legări cu alte servere
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
# Server nu este HUB - fără connect
|
|
||||||
```
|
|
||||||
|
|
||||||
### Feature "HUB" și în features secțiune:
|
|
||||||
|
|
||||||
**Dacă e HUB:**
|
|
||||||
```
|
|
||||||
"HUB" = "TRUE";
|
|
||||||
```
|
|
||||||
|
|
||||||
**Dacă NU e HUB:**
|
|
||||||
```
|
|
||||||
"HUB" = "FALSE";
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Flux Complet Instalare
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Clone și update
|
|
||||||
cd ~/underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
|
|
||||||
# 2. Lansare install
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# 3. Răspunde la toate întrebările (inclusiv operator + HUB)
|
|
||||||
# - Domeniu: underchat.org
|
|
||||||
# - Nume server: ns1.underchat.org
|
|
||||||
# - ...alte setări...
|
|
||||||
# - Username operator: AdminRoot
|
|
||||||
# - Parola: ••••••••••
|
|
||||||
# - E HUB? y
|
|
||||||
# - Nume HUB: hub.underchat.org
|
|
||||||
# - IP HUB: 192.168.1.100
|
|
||||||
# - Port HUB: 4400
|
|
||||||
# - Parola linking: secret123
|
|
||||||
|
|
||||||
# 4. Script-ul generează ircd.conf complet cu:
|
|
||||||
# - Server config
|
|
||||||
# - Admin info
|
|
||||||
# - Operatori cu parola
|
|
||||||
# - HUB Connect (dacă e HUB)
|
|
||||||
# - Features (HUB=TRUE/FALSE)
|
|
||||||
|
|
||||||
# 5. Verifică și pornește
|
|
||||||
./admin.sh
|
|
||||||
# → 4) Verifica status
|
|
||||||
# → 1) Pornire server
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📝 Exemplu: Server Leaf (NU e HUB)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# Output:
|
|
||||||
Domeniu rețea [underchat.org]: underchat.org
|
|
||||||
Nume server [ns1.underchat.org]: leaf.underchat.org
|
|
||||||
...
|
|
||||||
Username operator [AdminRoot]: MyOperator
|
|
||||||
Parola operator: mypass123
|
|
||||||
Repetă parola: mypass123
|
|
||||||
[SUCCES] Parola operator criptată
|
|
||||||
|
|
||||||
Este aceasta un server HUB? (y/n) [n]: n
|
|
||||||
# (Nu cere info HUB)
|
|
||||||
```
|
|
||||||
|
|
||||||
**ircd.conf generat:**
|
|
||||||
```
|
|
||||||
features {
|
|
||||||
"HUB" = "FALSE";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: CONNECT
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
# Server nu este HUB - fără connect
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📝 Exemplu: Server HUB
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# Output:
|
|
||||||
Domeniu rețea [underchat.org]: underchat.org
|
|
||||||
Nume server [ns1.underchat.org]: hub1.underchat.org
|
|
||||||
...
|
|
||||||
Username operator [AdminRoot]: HubAdmin
|
|
||||||
Parola operator: hubpass456
|
|
||||||
Repetă parola: hubpass456
|
|
||||||
[SUCCES] Parola operator criptată
|
|
||||||
|
|
||||||
Este aceasta un server HUB? (y/n) [n]: y
|
|
||||||
|
|
||||||
[INFO] Configurare LINK la HUB principal
|
|
||||||
|
|
||||||
Nume HUB [hub.underchat.org]: hub2.underchat.org
|
|
||||||
IP/Host HUB [192.168.1.100]: 10.0.0.100
|
|
||||||
Port HUB [4400]: 4400
|
|
||||||
Parola linking: linkpass789
|
|
||||||
```
|
|
||||||
|
|
||||||
**ircd.conf generat:**
|
|
||||||
```
|
|
||||||
Operator {
|
|
||||||
name = "HubAdmin";
|
|
||||||
password = "$PLAIN$hubpass456";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
features {
|
|
||||||
"HUB" = "TRUE";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
|
|
||||||
Connect {
|
|
||||||
name = "hub2.underchat.org";
|
|
||||||
host = "10.0.0.100";
|
|
||||||
password = "linkpass789";
|
|
||||||
port = 4400;
|
|
||||||
class = "Server";
|
|
||||||
autoconnect = yes;
|
|
||||||
hub;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔍 Validare Parolă
|
|
||||||
|
|
||||||
### Ce verifică script-ul:
|
|
||||||
|
|
||||||
✅ Lungime minim 4 caractere
|
|
||||||
✅ Potrivire pe confirm
|
|
||||||
✅ Criptare automat
|
|
||||||
✅ Format $PLAIN$password
|
|
||||||
|
|
||||||
### Erori posibile:
|
|
||||||
|
|
||||||
```
|
|
||||||
[EROARE] Parola prea scurtă! Minim 4 caractere.
|
|
||||||
→ Încearcă din nou cu parola mai lungă
|
|
||||||
|
|
||||||
[EROARE] Parolele nu se potrivesc!
|
|
||||||
→ Re-introdu parolele, trebuie identice
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎛️ Parametri Operator Generați
|
|
||||||
|
|
||||||
În fișierul ircd.conf:
|
|
||||||
|
|
||||||
```
|
|
||||||
name = "AdminRoot" # Username operator
|
|
||||||
password = "$PLAIN$parola" # Hash parola
|
|
||||||
host = "*@*" # Orice host
|
|
||||||
class = "Opers" # Clasa de operatori
|
|
||||||
admin = yes/no # Administrator complet?
|
|
||||||
hide_oper = yes/no # Ascunde status oper
|
|
||||||
hide_channels = yes/no # Ascunde canale
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎛️ Parametri HUB Generați
|
|
||||||
|
|
||||||
În fișierul ircd.conf:
|
|
||||||
|
|
||||||
```
|
|
||||||
Connect {
|
|
||||||
name = "hub.underchat.org" # Nume HUB
|
|
||||||
host = "192.168.1.100" # IP/Host HUB
|
|
||||||
password = "secret_password" # Parola linking
|
|
||||||
port = 4400 # Port HUB
|
|
||||||
class = "Server" # Clasa server
|
|
||||||
autoconnect = yes # Conectare automată
|
|
||||||
hub; # Este HUB
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Comenzi După Instalare
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Verifică operatori în config
|
|
||||||
grep -A 5 "^Operator" ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
# Verifică Connect block (HUB)
|
|
||||||
grep -A 8 "^Connect" ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
# Verifică feature HUB
|
|
||||||
grep "HUB" ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
# Pornire server
|
|
||||||
./admin.sh → 1) Pornire server
|
|
||||||
|
|
||||||
# Login operator
|
|
||||||
/OPER AdminRoot mypass123
|
|
||||||
|
|
||||||
# Verifică status operator
|
|
||||||
/STATS u
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 Fișiere Actualizate
|
|
||||||
|
|
||||||
- ✅ **install.sh** - +23 linii, funcții noi, cereri interactive
|
|
||||||
- ✅ Nicio modificare alte fișiere
|
|
||||||
- ✅ Backward compatible cu versiunile vechi
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🆘 Troubleshooting
|
|
||||||
|
|
||||||
### Q: "Parola prea scurtă"
|
|
||||||
A: Parola trebuie minim 4 caractere
|
|
||||||
|
|
||||||
### Q: "Parolele nu se potrivesc"
|
|
||||||
A: Introdu aceeași parola de 2 ori
|
|
||||||
|
|
||||||
### Q: "Script nu acceptă parola"
|
|
||||||
A: Asigură-te că ai introdus corect
|
|
||||||
|
|
||||||
### Q: "HUB nu se conectează"
|
|
||||||
A: Verifică:
|
|
||||||
- Nume HUB corect
|
|
||||||
- IP/Host corect
|
|
||||||
- Port corect (implicit 4400)
|
|
||||||
- Parola potrivită
|
|
||||||
|
|
||||||
### Q: "Operator nu funcționează"
|
|
||||||
A: Verifică:
|
|
||||||
- Username corect în config
|
|
||||||
- Parola potrivită
|
|
||||||
- Host matching (*@*)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Documentație Suplimentară
|
|
||||||
|
|
||||||
- **CONFIGURARE_PROFESIONALA.md** - Descriere completă secțiuni
|
|
||||||
- **INSTALL_AUTO.md** - Ghid instalare detaliat
|
|
||||||
- **admin.sh** - Meniu administrare
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Status
|
|
||||||
|
|
||||||
✅ Cereri operatori implementate
|
|
||||||
✅ Parole criptate automat
|
|
||||||
✅ HUB linking configurat
|
|
||||||
✅ Validare intrări completă
|
|
||||||
✅ Documentație în limba română
|
|
||||||
✅ Push pe Gitea
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Data**: 13 februarie 2026
|
|
||||||
**Feature**: Operator + HUB Linking
|
|
||||||
**Status**: ✅ Production Ready
|
|
||||||
|
|
||||||
356
QUICKSTART.md
356
QUICKSTART.md
|
|
@ -1,356 +0,0 @@
|
||||||
# 🚀 Quick Start - Instalare Rapidă Nefarious IRCd
|
|
||||||
|
|
||||||
## ⚡ Instalare în 3 Comenzi
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Clonează repository-ul
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
cd underchat-ircd
|
|
||||||
|
|
||||||
# 2. Execută instalarea (va cere informații)
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# 3. Pornește serverul
|
|
||||||
~/ircd/bin/ircd
|
|
||||||
```
|
|
||||||
|
|
||||||
**Gata!** 🎉 Serverul tău IRC e pornit pe `localhost:6667`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Ce face Script-ul Automat
|
|
||||||
|
|
||||||
```
|
|
||||||
✓ Verifică dependențele (gcc, make, SSL)
|
|
||||||
✓ Configureaza proiectul cu setări optime
|
|
||||||
✓ Compilează codul sursă C
|
|
||||||
✓ Instaleaza binare și biblioteci
|
|
||||||
✓ Cere date de bază (nume, admin, porturi)
|
|
||||||
✓ Generează fișierul ircd.conf
|
|
||||||
✓ Creează structura de directoare
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎮 Opțiuni de Instalare
|
|
||||||
|
|
||||||
### Standard (Recomandat)
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Cu Configurare Interactivă Avansată
|
|
||||||
```bash
|
|
||||||
./install.sh
|
|
||||||
./configure-interactive.sh # Pentru setări detaliate
|
|
||||||
```
|
|
||||||
|
|
||||||
### Customizat
|
|
||||||
```bash
|
|
||||||
# Prefix diferit
|
|
||||||
./install.sh --prefix /opt/ircd
|
|
||||||
|
|
||||||
# Maxim conexiuni mai mare
|
|
||||||
./install.sh --maxcon 8192
|
|
||||||
|
|
||||||
# Cu debug
|
|
||||||
./install.sh --debug
|
|
||||||
|
|
||||||
# Fără SSL
|
|
||||||
./install.sh --no-ssl
|
|
||||||
|
|
||||||
# Combinație
|
|
||||||
./install.sh --prefix /var/ircd --maxcon 16384 --debug
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔑 Setare Parola Operator
|
|
||||||
|
|
||||||
După instalare, generează parola pentru operator:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Generează hash
|
|
||||||
~/ircd/bin/umkpasswd
|
|
||||||
# Introdu parola 2x
|
|
||||||
# Copiază hash-ul
|
|
||||||
|
|
||||||
# Editează config și înlocuiește password
|
|
||||||
nano ~/ircd/etc/ircd.conf
|
|
||||||
# Cauta: Operator { password = "..."; }
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🖥️ Administrare Server
|
|
||||||
|
|
||||||
Am inclus o interfață de administrare complet automată:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Meniu opciuni:**
|
|
||||||
1. Pornire server
|
|
||||||
2. Oprire server
|
|
||||||
3. Restart server
|
|
||||||
4. Verifica status
|
|
||||||
5. Editare configurare
|
|
||||||
6. Vizionare log-uri
|
|
||||||
7. Generare parola operator
|
|
||||||
8. Test sintaxă configurare
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📁 După Instalare - Directoare
|
|
||||||
|
|
||||||
```
|
|
||||||
~/ircd/
|
|
||||||
├── bin/
|
|
||||||
│ ├── ircd ← Executable principal
|
|
||||||
│ ├── umkpasswd ← Generator parole
|
|
||||||
│ └── ...
|
|
||||||
├── etc/
|
|
||||||
│ ├── ircd.conf ← EDITEAZĂ ASTA
|
|
||||||
│ ├── ircd.motd
|
|
||||||
│ └── ircd.opermotd
|
|
||||||
├── log/
|
|
||||||
│ └── ircd.log ← Log-uri server
|
|
||||||
└── var/
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🌐 Conectare la Server
|
|
||||||
|
|
||||||
Folosind orice IRC client:
|
|
||||||
|
|
||||||
```
|
|
||||||
Server: localhost
|
|
||||||
Port: 6667 (normal) sau 6697 (SSL)
|
|
||||||
Nick: nickname_ales
|
|
||||||
```
|
|
||||||
|
|
||||||
Sau cu comanda:
|
|
||||||
```bash
|
|
||||||
irc://localhost:6667
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔍 Comenzi Útile
|
|
||||||
|
|
||||||
### Status Server
|
|
||||||
```bash
|
|
||||||
# Verifica dacă e pornit
|
|
||||||
ps aux | grep ircd
|
|
||||||
|
|
||||||
# Porturi ascultate
|
|
||||||
netstat -tlnp | grep ircd
|
|
||||||
|
|
||||||
# Log-uri live
|
|
||||||
tail -f ~/ircd/log/ircd.log
|
|
||||||
```
|
|
||||||
|
|
||||||
### Control Server
|
|
||||||
```bash
|
|
||||||
# Restart
|
|
||||||
~/ircd/bin/ircd -r
|
|
||||||
|
|
||||||
# Cu debug
|
|
||||||
~/ircd/bin/ircd -d
|
|
||||||
|
|
||||||
# Verifica config
|
|
||||||
~/ircd/bin/ircd -c
|
|
||||||
```
|
|
||||||
|
|
||||||
### Administrator
|
|
||||||
```
|
|
||||||
/OPER root password ← Login operator
|
|
||||||
/STATS c ← Statistici
|
|
||||||
/LUSERS ← Lista utilizatori
|
|
||||||
/WALLOPS "mesaj" ← Mesaj operatori
|
|
||||||
/KILL nick razlog ← Ban utilizator
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Documentație Completă
|
|
||||||
|
|
||||||
Pentru detalii complete, citește:
|
|
||||||
|
|
||||||
- **INSTALL_AUTO.md** - Documentație instalare detaliată
|
|
||||||
- **CLAUDE.md** - Documentație tehnică
|
|
||||||
- **doc/example.conf** - Exemplu complet configurare
|
|
||||||
- **doc/readme.features** - Lista caracteristici
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Configurare Avansată
|
|
||||||
|
|
||||||
### Conectare la alte servere (Linking)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nano ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
# Adaugă în config:
|
|
||||||
Connect {
|
|
||||||
name = "server2.example.com";
|
|
||||||
host = "192.168.1.100";
|
|
||||||
port = 6666;
|
|
||||||
password = "link_password_hash";
|
|
||||||
class = "servers";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Restart
|
|
||||||
./admin.sh # Alege opțiunea 3 (Restart)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Porturi Personalizate
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nano ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
# Cauta Port { } și modifică:
|
|
||||||
Port {
|
|
||||||
port = 6668; ← Schimbă portul
|
|
||||||
mask = 0.0.0.0;
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### SSL/TLS Certificat
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Generează certificat auto-semnat (testing)
|
|
||||||
openssl req -x509 -newkey rsa:2048 -keyout ircd.pem -out ircd.pem -days 365 -nodes
|
|
||||||
|
|
||||||
# Mută în directorul config
|
|
||||||
mv ircd.pem ~/ircd/etc/
|
|
||||||
|
|
||||||
# Editează config pentru SSL
|
|
||||||
nano ~/ircd/etc/ircd.conf
|
|
||||||
# Setează certificate path
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔒 Securitate
|
|
||||||
|
|
||||||
### Schimbă Parola Operator
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
# Alege: 7) Generare parola operator
|
|
||||||
# Editează config cu noua parola
|
|
||||||
```
|
|
||||||
|
|
||||||
### Restricționează Acces
|
|
||||||
```bash
|
|
||||||
# Restricționer port (firewall)
|
|
||||||
sudo ufw allow 6667/tcp
|
|
||||||
sudo ufw allow 6697/tcp
|
|
||||||
|
|
||||||
# Sau cu iptables
|
|
||||||
sudo iptables -A INPUT -p tcp --dport 6667 -j ACCEPT
|
|
||||||
```
|
|
||||||
|
|
||||||
### Backupuri
|
|
||||||
```bash
|
|
||||||
# Backup configurare
|
|
||||||
cp ~/ircd/etc/ircd.conf ~/ircd/etc/ircd.conf.backup
|
|
||||||
|
|
||||||
# Backup complet
|
|
||||||
tar -czf ircd_backup_$(date +%Y%m%d).tar.gz ~/ircd/
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🐛 Troubleshooting
|
|
||||||
|
|
||||||
### Server nu pornește
|
|
||||||
```bash
|
|
||||||
# Verifică erori
|
|
||||||
tail -20 ~/ircd/log/ircd.log
|
|
||||||
|
|
||||||
# Testează config
|
|
||||||
~/ircd/bin/ircd -c
|
|
||||||
|
|
||||||
# Debug mode
|
|
||||||
~/ircd/bin/ircd -d
|
|
||||||
```
|
|
||||||
|
|
||||||
### Port deja folosit
|
|
||||||
```bash
|
|
||||||
# Verifică ce folosește portul
|
|
||||||
lsof -i :6667
|
|
||||||
|
|
||||||
# Schimbă portul în config
|
|
||||||
nano ~/ircd/etc/ircd.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
### Probleme compilare
|
|
||||||
```bash
|
|
||||||
# Curață și recompilează
|
|
||||||
cd underchat-ircd
|
|
||||||
make clean
|
|
||||||
./configure --enable-debug
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📞 Ajutor Rapid
|
|
||||||
|
|
||||||
**Ne.test rapid:**
|
|
||||||
```bash
|
|
||||||
./install.sh && ./admin.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Doar configurare:**
|
|
||||||
```bash
|
|
||||||
./configure-interactive.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Update repository:**
|
|
||||||
```bash
|
|
||||||
cd underchat-ircd
|
|
||||||
git pull origin main
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Sfaturi Finale
|
|
||||||
|
|
||||||
1. **Testează local prima dată** - `localhost:6667`
|
|
||||||
2. **Citește INSTALL_AUTO.md** - Pentru detalii complete
|
|
||||||
3. **Inspectează log-urile** - `tail -f ~/ircd/log/ircd.log`
|
|
||||||
4. **Backup configurarea** - Înainte de editări mari
|
|
||||||
5. **Urmărește comunitatea** - Pentru updates și tips
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Data**: 13 februarie 2026
|
|
||||||
**Limbă**: Română 🇷🇴
|
|
||||||
**Versiune**: 1.0
|
|
||||||
**Support**: Citește documentația din `doc/`
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Gata? Start!
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Clone
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git && cd underchat-ircd
|
|
||||||
|
|
||||||
# Install
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# Start
|
|
||||||
~/ircd/bin/ircd
|
|
||||||
|
|
||||||
# Admin
|
|
||||||
./admin.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Succes!** 🚀
|
|
||||||
|
|
||||||
|
|
@ -1,393 +0,0 @@
|
||||||
# 📦 Scripturile de Instalare Automată - Rezumat Complet
|
|
||||||
|
|
||||||
## 🎯 Ce am Creat
|
|
||||||
|
|
||||||
Am adăugat **4 scripturi shell bash** și **2 ghiduri documentare** complete în limba română pentru instalare și administrare automată a Nefarious IRCd.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📜 Scripturile Incluse
|
|
||||||
|
|
||||||
### 1️⃣ **install.sh** - Instalare Automată Principală
|
|
||||||
|
|
||||||
**Funcție:** Automatizează complet instalarea de la clonare la pornire
|
|
||||||
|
|
||||||
**Ce face:**
|
|
||||||
- ✅ Verifică dependențele (gcc, make, SSL, autoconf)
|
|
||||||
- ✅ Rulează `./configure` cu parametri optimali
|
|
||||||
- ✅ Compilează codul sursă
|
|
||||||
- ✅ Instalează binare și biblioteci
|
|
||||||
- ✅ Cere date despre server (interactive)
|
|
||||||
- ✅ Generează fișierul `ircd.conf`
|
|
||||||
- ✅ Creează structura de directoare
|
|
||||||
- ✅ Generează fișierele MOTD
|
|
||||||
|
|
||||||
**Utilizare:**
|
|
||||||
```bash
|
|
||||||
# Instalare standard
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
# Instalare customizată
|
|
||||||
./install.sh --prefix /opt/ircd --maxcon 8192 --debug
|
|
||||||
|
|
||||||
# Opțiuni disponibile:
|
|
||||||
-h, --help Ajutor
|
|
||||||
-p, --prefix PATH Calea de instalare
|
|
||||||
-m, --maxcon NUM Maxim conexiuni
|
|
||||||
-d, --debug Modul debug
|
|
||||||
-s, --no-ssl Fără SSL/TLS
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 2️⃣ **configure-interactive.sh** - Configurare Interactivă Avansată
|
|
||||||
|
|
||||||
**Funcție:** Ghidare step-by-step prin toate setările serverului
|
|
||||||
|
|
||||||
**Ce face:**
|
|
||||||
- ✅ Etapa 1: Setări generale (nume, descriere, numeric)
|
|
||||||
- ✅ Etapa 2: Informații administrator (locație, email)
|
|
||||||
- ✅ Etapa 3: Configurare porturi (standard, SSL, server-to-server)
|
|
||||||
- ✅ Etapa 4: Clase de conexiuni (maxlinks, sendq, pingfreq)
|
|
||||||
- ✅ Etapa 5: Operatori (nick, host, parola)
|
|
||||||
- ✅ Etapa 6: Setări avansate (AUTH, persist channels, SWHOIS)
|
|
||||||
|
|
||||||
**Utilizare:**
|
|
||||||
```bash
|
|
||||||
# După instalare, pentru configurare detaliată
|
|
||||||
./configure-interactive.sh
|
|
||||||
|
|
||||||
# Sau din nou din 0
|
|
||||||
./install.sh
|
|
||||||
./configure-interactive.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3️⃣ **admin.sh** - Meniu Interactiv de Administrare
|
|
||||||
|
|
||||||
**Funcție:** Tool grafic (TUI) pentru administrare server zilnică
|
|
||||||
|
|
||||||
**Opțiuni Meniu:**
|
|
||||||
```
|
|
||||||
1. Pornire server
|
|
||||||
2. Oprire server
|
|
||||||
3. Restart server
|
|
||||||
4. Verifica status (PID, CPU, RAM, porturi)
|
|
||||||
5. Editare configurare (cu backup automat)
|
|
||||||
6. Vizionare log-uri (tail, live, search)
|
|
||||||
7. Generare parola operator
|
|
||||||
8. Test sintaxă configurare
|
|
||||||
9. Iesire
|
|
||||||
```
|
|
||||||
|
|
||||||
**Utilizare:**
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
|
|
||||||
# Deschide meniu interactiv cu toate opțiunile
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Documentare
|
|
||||||
|
|
||||||
### 📖 **QUICKSTART.md** - Start Rapid (Recomandabil pentru Începători)
|
|
||||||
|
|
||||||
**Conținut:**
|
|
||||||
- Instalare în 3 comenzi
|
|
||||||
- Ce face script-ul automat
|
|
||||||
- Opțiuni instalare
|
|
||||||
- Setare parola operator
|
|
||||||
- Conectare la server
|
|
||||||
- Comenzi utile
|
|
||||||
- Troubleshooting rapid
|
|
||||||
|
|
||||||
**Perfect pentru:** Primii 5 minute
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 📖 **INSTALL_AUTO.md** - Documentație Completă
|
|
||||||
|
|
||||||
**Conținut:**
|
|
||||||
- Cerințe sistem pe fiecare platforma
|
|
||||||
- Instalare rapidă vs customizată
|
|
||||||
- Toate opțiunile disponibile
|
|
||||||
- Structura directoarelor post-instalare
|
|
||||||
- Pornire și oprire server
|
|
||||||
- Setare parola cu umkpasswd
|
|
||||||
- Editare avansată configurare
|
|
||||||
- Conectare la server
|
|
||||||
- Verificare status și log-uri
|
|
||||||
- Rezolvare probleme comune
|
|
||||||
- Networking (link la alte servere)
|
|
||||||
- Comenzi administrator
|
|
||||||
- Sfaturi de securitate
|
|
||||||
|
|
||||||
**Perfect pentru:** Referință completă
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎓 Exemplu de Utilizare Tipic
|
|
||||||
|
|
||||||
### Scenariu: Instalare Completă
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Clone repository
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
cd underchat-ircd
|
|
||||||
|
|
||||||
# 2. Instalare automată (cere doar date de bază)
|
|
||||||
./install.sh
|
|
||||||
# Răspunzi la: Nume server, Descriere, Admin email, etc.
|
|
||||||
|
|
||||||
# 3. Configurare avansată (opțional, pentru setări detaliate)
|
|
||||||
./configure-interactive.sh
|
|
||||||
|
|
||||||
# 4. Generare parola operator
|
|
||||||
./admin.sh
|
|
||||||
# Alege: 7) Generare parola operator
|
|
||||||
|
|
||||||
# 5. Editare configurare dacă trebuie
|
|
||||||
nano ~/ircd/etc/ircd.conf
|
|
||||||
|
|
||||||
# 6. Pornire server
|
|
||||||
./admin.sh
|
|
||||||
# Alege: 1) Pornire server
|
|
||||||
|
|
||||||
# 7. Verificare status
|
|
||||||
./admin.sh
|
|
||||||
# Alege: 4) Verifica status
|
|
||||||
|
|
||||||
# 8. Urmărire log-uri
|
|
||||||
./admin.sh
|
|
||||||
# Alege: 6) Vizionare log-uri
|
|
||||||
|
|
||||||
# 9. Conectare client
|
|
||||||
# irc://localhost:6667
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔄 Flux de Lucru Zilnică
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Meniu central pentru administrare
|
|
||||||
./admin.sh
|
|
||||||
|
|
||||||
# De aici:
|
|
||||||
# - Pornești/oprești serverul
|
|
||||||
# - Editezi configurare cu backup automat
|
|
||||||
# - Urmărești log-urile live
|
|
||||||
# - Generezi parole operator
|
|
||||||
# - Testezi sintaxă
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🌍 Suport Multiplatforma
|
|
||||||
|
|
||||||
### Linux (Debian/Ubuntu)
|
|
||||||
```bash
|
|
||||||
sudo apt-get install build-essential autoconf libssl-dev
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Linux (RHEL/CentOS)
|
|
||||||
```bash
|
|
||||||
sudo yum install gcc make autoconf openssl-devel
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### macOS
|
|
||||||
```bash
|
|
||||||
xcode-select --install
|
|
||||||
brew install autoconf libtool openssl
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### BSD/Unix
|
|
||||||
```bash
|
|
||||||
# Verifică INSTALL_AUTO.md pentru detalii
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📋 Checklist Instalare
|
|
||||||
|
|
||||||
```
|
|
||||||
□ Sistem cu gcc, make, autoconf instalate
|
|
||||||
□ Spațiu pe disk suficient (~100MB)
|
|
||||||
□ Permisiuni de scriere în $HOME
|
|
||||||
□ Port 6667 disponibil (sau schimbă în config)
|
|
||||||
|
|
||||||
□ git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
□ cd underchat-ircd
|
|
||||||
□ ./install.sh
|
|
||||||
□ Răspunde la întrebări
|
|
||||||
□ Astepta completarea
|
|
||||||
|
|
||||||
□ ./admin.sh
|
|
||||||
□ Alege: 7) Generare parola
|
|
||||||
□ Alege: 1) Pornire server
|
|
||||||
|
|
||||||
□ Conectare cu IRC client
|
|
||||||
□ Verificare log-uri
|
|
||||||
|
|
||||||
GATA! ✓
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔐 Puncte Importante de Securitate
|
|
||||||
|
|
||||||
### Imediat După Instalare:
|
|
||||||
1. ✅ **Schimbă parola operator**
|
|
||||||
```bash
|
|
||||||
./admin.sh → 7) Generare parola operator
|
|
||||||
```
|
|
||||||
|
|
||||||
2. ✅ **Securizează fișierul de config**
|
|
||||||
```bash
|
|
||||||
chmod 600 ~/ircd/etc/ircd.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
3. ✅ **Backup configurare**
|
|
||||||
```bash
|
|
||||||
cp ~/ircd/etc/ircd.conf ~/ircd/etc/ircd.conf.backup
|
|
||||||
```
|
|
||||||
|
|
||||||
4. ✅ **Configurează firewall**
|
|
||||||
```bash
|
|
||||||
sudo ufw allow 6667/tcp
|
|
||||||
sudo ufw allow 6697/tcp
|
|
||||||
```
|
|
||||||
|
|
||||||
5. ✅ **Monitorizează log-urile**
|
|
||||||
```bash
|
|
||||||
tail -f ~/ircd/log/ircd.log
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🆘 Troubleshooting Rapid
|
|
||||||
|
|
||||||
### Nu merge ./install.sh
|
|
||||||
```bash
|
|
||||||
# Verifică permisiuni
|
|
||||||
chmod +x install.sh configure-interactive.sh admin.sh
|
|
||||||
|
|
||||||
# Rulează din nou
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Server nu pornește
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
# 8) Test sintaxă configurare
|
|
||||||
# 4) Verifica status
|
|
||||||
# 6) Vizionare log-uri
|
|
||||||
```
|
|
||||||
|
|
||||||
### Port deja în uz
|
|
||||||
```bash
|
|
||||||
./admin.sh
|
|
||||||
# 5) Editare configurare
|
|
||||||
# Schimbă portul în Port { port = 6668; }
|
|
||||||
# 3) Restart server
|
|
||||||
```
|
|
||||||
|
|
||||||
### Probleme compilare
|
|
||||||
```bash
|
|
||||||
cd underchat-ircd
|
|
||||||
make clean
|
|
||||||
./configure --enable-debug
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 Fișiere Noi Adăugate
|
|
||||||
|
|
||||||
```
|
|
||||||
underchat-ircd/
|
|
||||||
├── install.sh (Instalare automată)
|
|
||||||
├── configure-interactive.sh (Configurare avansată)
|
|
||||||
├── admin.sh (Meniu administrare)
|
|
||||||
├── QUICKSTART.md (Start rapid - 5 min)
|
|
||||||
├── INSTALL_AUTO.md (Documentație completă)
|
|
||||||
└── README_SCRIPTS.md (Acest fișier)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Roadmap Viitor
|
|
||||||
|
|
||||||
### Versiune 2.0 (Planificat)
|
|
||||||
- [ ] Suport pentru Docker deploy
|
|
||||||
- [ ] Monitoring dashboard (web UI)
|
|
||||||
- [ ] Backup/restore automat
|
|
||||||
- [ ] Multi-server management
|
|
||||||
- [ ] Plugin system
|
|
||||||
- [ ] Statistics & analytics
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📞 Suport & Feedback
|
|
||||||
|
|
||||||
**Documentație:**
|
|
||||||
- QUICKSTART.md - Start rapid
|
|
||||||
- INSTALL_AUTO.md - Referință completă
|
|
||||||
- CLAUDE.md - Detalii tehnisce
|
|
||||||
- doc/example.conf - Config detaliat
|
|
||||||
|
|
||||||
**Probleme comune:**
|
|
||||||
- Citește INSTALL_AUTO.md secțiunea "Rezolvare probleme"
|
|
||||||
|
|
||||||
**Updates:**
|
|
||||||
- `git pull origin main` pentru latest versiune
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✨ Caracteristici Script-uri
|
|
||||||
|
|
||||||
| Feature | install.sh | configure-interactive.sh | admin.sh |
|
|
||||||
|---------|-----------|----------------------|----------|
|
|
||||||
| Instalare automată | ✅ | - | - |
|
|
||||||
| Configurare interactivă | ✅ | ✅ | - |
|
|
||||||
| Pornire server | - | - | ✅ |
|
|
||||||
| Oprire/Restart | - | - | ✅ |
|
|
||||||
| Status monitoring | - | - | ✅ |
|
|
||||||
| Editare config | - | ✅ | ✅ |
|
|
||||||
| Log viewing | - | - | ✅ |
|
|
||||||
| Parola generator | ✅ | ✅ | ✅ |
|
|
||||||
| Config testing | - | ✅ | ✅ |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎓 Versiunea & Info
|
|
||||||
|
|
||||||
- **Data creării**: 13 februarie 2026
|
|
||||||
- **Versiune**: 1.0
|
|
||||||
- **Limbă**: Română 🇷🇴
|
|
||||||
- **Platform**: Linux, macOS, BSD, Unix
|
|
||||||
- **Licență**: GNU General Public License (din underchat-ircd)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚀 Start Acum!
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
|
|
||||||
cd underchat-ircd
|
|
||||||
./install.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**În 5-10 minute, serverul tău IRC e gata!** ✨
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Succes cu instalarea!** 🎉
|
|
||||||
|
|
||||||
|
|
@ -104,29 +104,21 @@ configure_general() {
|
||||||
|
|
||||||
log_section "Setări de bază ale serverului"
|
log_section "Setări de bază ale serverului"
|
||||||
|
|
||||||
# Domeniu rețea
|
|
||||||
NETWORK=$(read_input "Domeniu/Rețea (ex: underchat.org)" "underchat.org")
|
|
||||||
log_ok "Domeniu rețea: $NETWORK"
|
|
||||||
|
|
||||||
# Nume server
|
# Nume server
|
||||||
while true; do
|
while true; do
|
||||||
SERVER_NAME=$(read_input "Nume server (ex: ns1.${NETWORK})" "ns1.${NETWORK}")
|
SERVER_NAME=$(read_input "Nume server (FQDN)" "localhost.localdomain")
|
||||||
if validate_hostname "$SERVER_NAME"; then
|
if validate_hostname "$SERVER_NAME"; then
|
||||||
log_ok "Nume server valid: $SERVER_NAME"
|
log_ok "Nume server valid: $SERVER_NAME"
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
log_err "Nume server invalid! Folosește format FQDN (ex: ns1.example.com)"
|
log_err "Nume server invalid! Folosește format FQDN (ex: irc.example.com)"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Descriere
|
# Descriere
|
||||||
SERVER_DESC=$(read_input "Descriere server" "The ${NETWORK} Network")
|
SERVER_DESC=$(read_input "Descriere server" "Nefarious IRCd Server")
|
||||||
log_ok "Descriere: $SERVER_DESC"
|
log_ok "Descriere: $SERVER_DESC"
|
||||||
|
|
||||||
# Virtual host (IP local)
|
|
||||||
VHOST=$(read_input "Virtual Host / IP local" "127.0.0.1")
|
|
||||||
log_ok "Virtual Host: $VHOST"
|
|
||||||
|
|
||||||
# Numeric
|
# Numeric
|
||||||
while true; do
|
while true; do
|
||||||
NUMERIC=$(read_input "Numeric server (0-4095)" "1")
|
NUMERIC=$(read_input "Numeric server (0-4095)" "1")
|
||||||
|
|
@ -216,15 +208,15 @@ configure_classes() {
|
||||||
configure_operators() {
|
configure_operators() {
|
||||||
log_title "CONFIGURARE OPERATORI"
|
log_title "CONFIGURARE OPERATORI"
|
||||||
|
|
||||||
log_section "Configurare Operator Principal"
|
log_section "Prim operator"
|
||||||
|
|
||||||
OPER_NAME=$(read_input "Nume operator" "AdminRoot")
|
OPER_NICK=$(read_input "Nick operator" "root")
|
||||||
log_ok "Nume: $OPER_NAME"
|
log_ok "Nick: $OPER_NICK"
|
||||||
|
|
||||||
log_info "Pentru a genera parola, rulează:"
|
log_info "Pentru a genera parola, rulează:"
|
||||||
echo -e "${CYAN} $PREFIX/bin/umkpasswd${NC}"
|
echo -e "${CYAN} $PREFIX/bin/umkpasswd${NC}"
|
||||||
|
|
||||||
OPER_PASS=$(read_input "Hash parola operator (SMD5/bcrypt)" "")
|
OPER_PASS=$(read_input "Hash bcrypt parola operator" "")
|
||||||
|
|
||||||
if [ -z "$OPER_PASS" ]; then
|
if [ -z "$OPER_PASS" ]; then
|
||||||
log_err "Parola necesară! Generează cu umkpasswd"
|
log_err "Parola necesară! Generează cu umkpasswd"
|
||||||
|
|
@ -232,13 +224,8 @@ configure_operators() {
|
||||||
log_info "Se folosește parola implicită pentru testing"
|
log_info "Se folosește parola implicită pentru testing"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
OPER_HOST=$(read_input "Host permis pentru operator" "*@*")
|
OPER_HOST=$(read_input "Host permis pentru operator" "127.0.0.1")
|
||||||
log_ok "Host: $OPER_HOST"
|
log_ok "Host: $OPER_HOST"
|
||||||
|
|
||||||
# Oper options
|
|
||||||
read -p "Is this an admin operator? (y/n) [y]: " -n 1 IS_ADMIN
|
|
||||||
IS_ADMIN=${IS_ADMIN:-y}
|
|
||||||
echo ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Etapa 6: Setări avansate
|
# Etapa 6: Setări avansate
|
||||||
|
|
@ -276,14 +263,12 @@ generate_config_file() {
|
||||||
AUTH_FEATURE=$([ "$AUTH_ENABLED" = "y" ] && echo "yes" || echo "no")
|
AUTH_FEATURE=$([ "$AUTH_ENABLED" = "y" ] && echo "yes" || echo "no")
|
||||||
PERSIST_FEATURE=$([ "$PERSIST_CHANS" = "y" ] && echo "yes" || echo "no")
|
PERSIST_FEATURE=$([ "$PERSIST_CHANS" = "y" ] && echo "yes" || echo "no")
|
||||||
SWHOIS_FEATURE=$([ "$SWHOIS_ENABLED" = "y" ] && echo "yes" || echo "no")
|
SWHOIS_FEATURE=$([ "$SWHOIS_ENABLED" = "y" ] && echo "yes" || echo "no")
|
||||||
IS_ADMIN_OPER=$([ "$IS_ADMIN" = "y" ] && echo "yes" || echo "no")
|
|
||||||
|
|
||||||
cat > "$CONFIG_FILE" << EOFCONFIG
|
cat > "$CONFIG_FILE" << EOFCONFIG
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# Fișier de configurare Nefarious IRCd
|
# Fișier de configurare Nefarious IRCd
|
||||||
# Generat automat la: $(date)
|
# Generat automat la: $(date)
|
||||||
# Script: configure-interactive.sh
|
# Script: configure.sh
|
||||||
# Model: Professional IRC Server
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
@ -291,174 +276,90 @@ generate_config_file() {
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
General {
|
General {
|
||||||
name = "$SERVER_NAME";
|
name = "$SERVER_NAME";
|
||||||
vhost = "127.0.0.1";
|
|
||||||
description = "$SERVER_DESC";
|
description = "$SERVER_DESC";
|
||||||
numeric = $NUMERIC;
|
numeric = $NUMERIC;
|
||||||
dns server = "8.8.8.8";
|
logfile = "$PREFIX/log/ircd.log";
|
||||||
dns server = "1.1.1.1";
|
motd = "$PREFIX/etc/ircd.motd";
|
||||||
|
opermotd = "$PREFIX/etc/ircd.opermotd";
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: ADMIN
|
# SECȚIUNE: ADMIN
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
Admin {
|
Admin {
|
||||||
Location = "The $SERVER_NAME World";
|
location = "$ADMIN_LOCATION";
|
||||||
Location = "$ADMIN_LOCATION";
|
contact = "$ADMIN_EMAIL";
|
||||||
Contact = "$ADMIN_EMAIL";
|
contact = "$ADMIN_INFO";
|
||||||
Contact = "$ADMIN_INFO";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: CLASE DE CONEXIUNI
|
# SECȚIUNE: PORTURI
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
# Port standard pentru clienți
|
||||||
Class {
|
Port {
|
||||||
name = "Server";
|
port = $PORT1;
|
||||||
pingfreq = 1 minutes 30 seconds;
|
mask = 0.0.0.0;
|
||||||
connectfreq = 5 minutes;
|
|
||||||
maxlinks = 1;
|
|
||||||
sendq = 9000000;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Port SSL/TLS
|
||||||
|
Port {
|
||||||
|
port = $PORT2;
|
||||||
|
mask = 0.0.0.0;
|
||||||
|
tls = yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Port server-to-server
|
||||||
|
Port {
|
||||||
|
port = $SERVER_PORT;
|
||||||
|
mask = 0.0.0.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# SECȚIUNE: CLASE
|
||||||
|
# ============================================================================
|
||||||
Class {
|
Class {
|
||||||
name = "Local";
|
name = "clients";
|
||||||
pingfreq = $PINGFREQ seconds;
|
pingfreq = $PINGFREQ;
|
||||||
sendq = $SENDQ;
|
connectfreq = 60;
|
||||||
maxlinks = $MAXLINKS;
|
maxlinks = $MAXLINKS;
|
||||||
usermode = "+iw";
|
sendq = $SENDQ;
|
||||||
};
|
};
|
||||||
|
|
||||||
Class {
|
Class {
|
||||||
name = "Other";
|
name = "servers";
|
||||||
pingfreq = $PINGFREQ seconds;
|
pingfreq = 60;
|
||||||
sendq = $SENDQ;
|
connectfreq = 300;
|
||||||
maxlinks = $MAXLINKS;
|
maxlinks = 10;
|
||||||
usermode = "+ix";
|
sendq = 1000000;
|
||||||
};
|
|
||||||
|
|
||||||
Class {
|
|
||||||
name = "Opers";
|
|
||||||
pingfreq = $PINGFREQ seconds;
|
|
||||||
sendq = $SENDQ;
|
|
||||||
maxlinks = 20;
|
|
||||||
local = no;
|
|
||||||
freeform = yes;
|
|
||||||
mode_lchan = yes;
|
|
||||||
deop_lchan = yes;
|
|
||||||
walk_lchan = yes;
|
|
||||||
show_invis = yes;
|
|
||||||
see_chan = yes;
|
|
||||||
list_chan = yes;
|
|
||||||
usermode = "+W";
|
|
||||||
remove = yes;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: CLIENT
|
# SECȚIUNE: CLIENT
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
Client {
|
Client {
|
||||||
host = "*@*";
|
class = "clients";
|
||||||
ip = "*@*";
|
|
||||||
class = "Other";
|
|
||||||
maxlinks = $MAXLINKS;
|
maxlinks = $MAXLINKS;
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: PORTURI
|
# SECȚIUNE: OPERATOR
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
# Port server-to-server
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" $SERVER_PORT;
|
|
||||||
server = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Port standard pentru clienți
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" $PORT1;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Port SSL/TLS pentru clienți
|
|
||||||
Port {
|
|
||||||
vhost = "127.0.0.1" $PORT2;
|
|
||||||
ssl = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: OPERATORI
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
Operator {
|
Operator {
|
||||||
name = "$OPER_NAME";
|
nick = "$OPER_NICK";
|
||||||
password = "$OPER_PASS";
|
password = "$OPER_PASS";
|
||||||
|
privileges = "+all";
|
||||||
host = "$OPER_HOST";
|
host = "$OPER_HOST";
|
||||||
class = "Opers";
|
|
||||||
admin = $IS_ADMIN_OPER;
|
|
||||||
hide_oper = no;
|
|
||||||
hide_channels = no;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: JUPE - Nick-uri rezervate
|
# SECȚIUNE: CARACTERISTICI (Features)
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
Feature {
|
||||||
Jupe {
|
AUTH = "$AUTH_FEATURE";
|
||||||
nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
|
PERSIST_CHANS = "$PERSIST_FEATURE";
|
||||||
nick = "StatServ,NoteServ";
|
IDLETIME = $IDLETIME;
|
||||||
nick = "ChanServ,ChanSaver";
|
SWHOIS = "$SWHOIS_FEATURE";
|
||||||
nick = "NickServ,NickSaver";
|
LOG_FACILITY = "LOG_USER";
|
||||||
};
|
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: FEATURE - Caracteristici
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
features {
|
|
||||||
"NETWORK" = "UnderchatNetwork";
|
|
||||||
"DOMAINNAME" = "$SERVER_NAME";
|
|
||||||
|
|
||||||
"LOG" = "SYSTEM" "FILE" "$PREFIX/log/ircd.log";
|
|
||||||
"LOG" = "SYSTEM" "LEVEL" "CRIT";
|
|
||||||
|
|
||||||
"HUB" = "TRUE";
|
|
||||||
"RELIABLE_CLOCK" = "FALSE";
|
|
||||||
"WALLOPS_OPER_ONLY" = "TRUE";
|
|
||||||
"NODNS" = "FALSE";
|
|
||||||
|
|
||||||
"CLIENT_FLOOD" = "1024";
|
|
||||||
"BUFFERPOOL" = "27000000";
|
|
||||||
|
|
||||||
"HOST_HIDING" = "TRUE";
|
|
||||||
"HIDDEN_HOST" = "users.underchat.org";
|
|
||||||
"HIDDEN_IP" = "127.0.0.1";
|
|
||||||
|
|
||||||
"MAXCHANNELSPERUSER" = "60";
|
|
||||||
"CHANNELLEN" = "200";
|
|
||||||
"MAXBANS" = "50";
|
|
||||||
|
|
||||||
"NICKLEN" = "12";
|
|
||||||
"NICKNAMEHISTORYLENGTH" = "800";
|
|
||||||
|
|
||||||
"HANGONGOODLINK" = "300";
|
|
||||||
"HANGONRETRYDELAY" = "10";
|
|
||||||
"CONNECTTIMEOUT" = "90";
|
|
||||||
"PINGFREQUENCY" = "$PINGFREQ";
|
|
||||||
"CONNECTFREQUENCY" = "600";
|
|
||||||
|
|
||||||
"MPATH" = "$PREFIX/etc/ircd.motd";
|
|
||||||
"PPATH" = "$PREFIX/var/ircd.pid";
|
|
||||||
|
|
||||||
"HIS_SERVERNAME" = "*.underchat.org";
|
|
||||||
"HIS_SERVERINFO" = "The UnderchatNetwork World";
|
|
||||||
|
|
||||||
"CHECK" = "TRUE";
|
|
||||||
"SETHOST" = "TRUE";
|
|
||||||
"NETWORK_REHASH" = "TRUE";
|
|
||||||
|
|
||||||
"HALFOPS" = "TRUE";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
EOFCONFIG
|
EOFCONFIG
|
||||||
|
|
|
||||||
129
fix-aarch64.sh
129
fix-aarch64.sh
|
|
@ -1,129 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Script pentru fixare config.guess & config.sub pentru aarch64
|
|
||||||
# Limba: Română
|
|
||||||
#
|
|
||||||
|
|
||||||
# Culori
|
|
||||||
VERDE='\033[0;32m'
|
|
||||||
GALBEN='\033[1;33m'
|
|
||||||
ALBASTRU='\033[0;34m'
|
|
||||||
ROSU='\033[0;31m'
|
|
||||||
NC='\033[0m'
|
|
||||||
|
|
||||||
log_info() {
|
|
||||||
echo -e "${ALBASTRU}[INFO]${NC} $1"
|
|
||||||
}
|
|
||||||
|
|
||||||
log_success() {
|
|
||||||
echo -e "${VERDE}[SUCCES]${NC} $1"
|
|
||||||
}
|
|
||||||
|
|
||||||
log_error() {
|
|
||||||
echo -e "${ROSU}[EROARE]${NC} $1"
|
|
||||||
}
|
|
||||||
|
|
||||||
log_warn() {
|
|
||||||
echo -e "${GALBEN}[AVERTIZARE]${NC} $1"
|
|
||||||
}
|
|
||||||
|
|
||||||
echo -e "${ALBASTRU}"
|
|
||||||
echo "═══════════════════════════════════════"
|
|
||||||
echo " Fix config.guess pentru aarch64"
|
|
||||||
echo "═══════════════════════════════════════"
|
|
||||||
echo -e "${NC}"
|
|
||||||
|
|
||||||
# Detectează platformă
|
|
||||||
MACHINE=$(uname -m)
|
|
||||||
SYSTEM=$(uname -s)
|
|
||||||
|
|
||||||
log_info "Sistem detectat: $SYSTEM $MACHINE"
|
|
||||||
|
|
||||||
# Verifică dacă config.guess există
|
|
||||||
if [ ! -f "config.guess" ]; then
|
|
||||||
log_error "config.guess nu găsit în directorul curent!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Backup original
|
|
||||||
cp config.guess config.guess.bak
|
|
||||||
cp config.sub config.sub.bak
|
|
||||||
log_success "Backup creat: config.guess.bak, config.sub.bak"
|
|
||||||
|
|
||||||
# Fixare pentru aarch64
|
|
||||||
if [ "$MACHINE" = "aarch64" ] || [ "$MACHINE" = "arm64" ]; then
|
|
||||||
log_info "Detectat aarch64/arm64, aplicare fix..."
|
|
||||||
|
|
||||||
# Metoda 1: Patch direct în config.guess pentru case aarch64
|
|
||||||
if grep -q "case \"\$machine\" in" config.guess; then
|
|
||||||
# Găsește linia și adaugă case pentru aarch64
|
|
||||||
line_num=$(grep -n 'case "$machine" in' config.guess | head -1 | cut -d: -f1)
|
|
||||||
if [ -n "$line_num" ]; then
|
|
||||||
# Creează temp file cu patch
|
|
||||||
head -n "$line_num" config.guess > config.guess.tmp
|
|
||||||
|
|
||||||
# Adaugă case pentru aarch64
|
|
||||||
cat >> config.guess.tmp << 'EOF'
|
|
||||||
aarch64*|arm64*)
|
|
||||||
echo aarch64-unknown-linux-gnu
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Adaugă restul fișierului
|
|
||||||
tail -n +$((line_num + 1)) config.guess >> config.guess.tmp
|
|
||||||
|
|
||||||
mv config.guess.tmp config.guess
|
|
||||||
chmod +x config.guess
|
|
||||||
log_success "config.guess patched pentru aarch64"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verifică config.sub pentru aarch64
|
|
||||||
if [ "$MACHINE" = "aarch64" ] || [ "$MACHINE" = "arm64" ]; then
|
|
||||||
log_info "Verificare config.sub..."
|
|
||||||
|
|
||||||
if ! grep -q "aarch64" config.sub; then
|
|
||||||
log_warn "config.sub nu are suport aarch64, aplicare patch..."
|
|
||||||
|
|
||||||
# Adaugă suport aarch64 în config.sub
|
|
||||||
if grep -q "case \$cpu in" config.sub; then
|
|
||||||
# Găsește linia și adaugă case pentru aarch64
|
|
||||||
sed -i '/case $cpu in/a\
|
|
||||||
\t\taarch64 | arm64)\
|
|
||||||
\t\t\tcpu=aarch64\
|
|
||||||
\t\t\t;;' config.sub
|
|
||||||
|
|
||||||
log_success "config.sub patched pentru aarch64"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
log_success "config.sub are deja suport aarch64"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Test
|
|
||||||
log_info "Test config.guess..."
|
|
||||||
RESULT=$(./config.guess 2>&1)
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
log_success "config.guess funcționează!"
|
|
||||||
echo -e "${VERDE}Output: $RESULT${NC}"
|
|
||||||
else
|
|
||||||
log_error "config.guess tot nu merge!"
|
|
||||||
echo -e "${ROSU}Output: $RESULT${NC}"
|
|
||||||
log_warn "Revert la backup..."
|
|
||||||
cp config.guess.bak config.guess
|
|
||||||
cp config.sub.bak config.sub
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Cleanup
|
|
||||||
rm -f config.guess.bak config.sub.bak
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -e "${VERDE}═══════════════════════════════════════${NC}"
|
|
||||||
echo -e "${VERDE}Fix aplicat cu succes!${NC}"
|
|
||||||
echo -e "${VERDE}═══════════════════════════════════════${NC}"
|
|
||||||
echo ""
|
|
||||||
echo "Acum poți rula: ./configure"
|
|
||||||
|
|
||||||
372
install.sh
372
install.sh
|
|
@ -58,29 +58,6 @@ log_success() {
|
||||||
echo -e "${VERDE}[SUCCES]${NC} $1"
|
echo -e "${VERDE}[SUCCES]${NC} $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Funcția pentru generare hash parola
|
|
||||||
generate_password_hash() {
|
|
||||||
local password="$1"
|
|
||||||
|
|
||||||
# Verifica daca openssl e disponibil pentru MD5
|
|
||||||
if command -v openssl &> /dev/null; then
|
|
||||||
# Genereaza MD5 hash (SMD5 format pentru ircd)
|
|
||||||
echo "$password" | openssl dgst -md5 -binary | base64
|
|
||||||
else
|
|
||||||
# Fallback: foloseste doar password plain (nu e recomandat!)
|
|
||||||
echo "PLAIN:$password"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Funcția pentru validare parola
|
|
||||||
validate_password() {
|
|
||||||
local pass="$1"
|
|
||||||
if [ ${#pass} -lt 4 ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Funcția de verificare a dependențelor
|
# Funcția de verificare a dependențelor
|
||||||
check_dependencies() {
|
check_dependencies() {
|
||||||
log_info "Verificare dependențe..."
|
log_info "Verificare dependențe..."
|
||||||
|
|
@ -127,37 +104,10 @@ check_dependencies() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Funcția pentru fixare config.guess pentru aarch64
|
|
||||||
fix_config_guess() {
|
|
||||||
log_info "Verificare support aarch64 în config.guess..."
|
|
||||||
|
|
||||||
# Verifică dacă config.guess e vechi și nu suportă aarch64
|
|
||||||
if [ -f "./config.guess" ] && ! grep -q "aarch64" ./config.guess; then
|
|
||||||
log_warn "config.guess e vechi, adaugă suport aarch64..."
|
|
||||||
|
|
||||||
# Patch pentru aarch64
|
|
||||||
if grep -q "case \"\$machine\" in" ./config.guess; then
|
|
||||||
# Adaugă case pentru aarch64 înainte de default
|
|
||||||
sed -i '/case "$machine" in/a\
|
|
||||||
\t\taarch64*|arm64*)\
|
|
||||||
\t\t\techo aarch64-unknown-linux-gnu\
|
|
||||||
\t\t\texit 0\
|
|
||||||
\t\t\t;;' ./config.guess
|
|
||||||
log_success "Support aarch64 adăugat la config.guess"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Dacă config.guess tot nu merge, folosește --build flag
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Funcția de configurare
|
# Funcția de configurare
|
||||||
configure_ircd() {
|
configure_ircd() {
|
||||||
log_info "Configurare Nefarious IRCd..."
|
log_info "Configurare Nefarious IRCd..."
|
||||||
|
|
||||||
# Fixează config.guess pentru aarch64
|
|
||||||
fix_config_guess
|
|
||||||
|
|
||||||
local config_args="--prefix=$PREFIX"
|
local config_args="--prefix=$PREFIX"
|
||||||
config_args="$config_args --with-maxcon=$MAXCON"
|
config_args="$config_args --with-maxcon=$MAXCON"
|
||||||
|
|
||||||
|
|
@ -169,12 +119,6 @@ configure_ircd() {
|
||||||
config_args="$config_args --disable-ssl"
|
config_args="$config_args --disable-ssl"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Adaugă --build flag pentru sisteme care nu pot detecta
|
|
||||||
if [ "$(uname -m)" = "aarch64" ]; then
|
|
||||||
config_args="$config_args --build=aarch64-unknown-linux-gnu"
|
|
||||||
log_info "Detectat aarch64, adaugă --build=aarch64-unknown-linux-gnu"
|
|
||||||
fi
|
|
||||||
|
|
||||||
log_info "Parametri configure: $config_args"
|
log_info "Parametri configure: $config_args"
|
||||||
|
|
||||||
if [ ! -f "./configure" ]; then
|
if [ ! -f "./configure" ]; then
|
||||||
|
|
@ -230,8 +174,6 @@ generate_config() {
|
||||||
local server_numeric="${4:-1}"
|
local server_numeric="${4:-1}"
|
||||||
local admin_location="${5:-Romania}"
|
local admin_location="${5:-Romania}"
|
||||||
local admin_contact="${6:-admin@underchat.ro}"
|
local admin_contact="${6:-admin@underchat.ro}"
|
||||||
local vhost="${7:-127.0.0.1}"
|
|
||||||
local network="${8:-underchat.org}"
|
|
||||||
|
|
||||||
log_info "Generare fișier de configurare: $config_file"
|
log_info "Generare fișier de configurare: $config_file"
|
||||||
|
|
||||||
|
|
@ -241,275 +183,139 @@ generate_config() {
|
||||||
# Fișier de configurare pentru Nefarious IRCd
|
# Fișier de configurare pentru Nefarious IRCd
|
||||||
# Generat automat în data: 2026
|
# Generat automat în data: 2026
|
||||||
# Limba: Română
|
# Limba: Română
|
||||||
# Model: Node-Ase.ovh Professional IRC Server
|
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: GENERAL
|
# BLOC GENERAL - Setările principale ale serverului
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
General {
|
General {
|
||||||
# Numele serverului (trebuie unic în rețea)
|
# Numele serverului (trebuie să fie unic în rețea)
|
||||||
name = "EOFCONFIG_NAME";
|
name = "EOFCONFIG_NAME";
|
||||||
|
|
||||||
# Virtual Host - IP pe care ascultă
|
|
||||||
vhost = "EOFCONFIG_VHOST";
|
|
||||||
|
|
||||||
# Descrierea serverului
|
# Descrierea serverului
|
||||||
description = "EOFCONFIG_DESC";
|
description = "EOFCONFIG_DESC";
|
||||||
|
|
||||||
# Numeric-ul serverului (0-4095, trebuie unic în rețea)
|
# Numeric-ul serverului (0-4095, trebuie unic în rețea)
|
||||||
numeric = EOFCONFIG_NUMERIC;
|
numeric = EOFCONFIG_NUMERIC;
|
||||||
|
|
||||||
# Servere DNS pentru rezolvare domenii
|
# Calea către fișierul de log
|
||||||
dns server = "8.8.8.8";
|
logfile = "EOFCONFIG_PREFIX/log/ircd.log";
|
||||||
dns server = "1.1.1.1";
|
|
||||||
|
# Calea către motd (Message of the Day)
|
||||||
|
motd = "EOFCONFIG_PREFIX/etc/ircd.motd";
|
||||||
|
|
||||||
|
# Calea către opmotd (Message for operators)
|
||||||
|
opermotd = "EOFCONFIG_PREFIX/etc/ircd.opermotd";
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: ADMIN
|
# BLOC ADMIN - Informații administrator
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
Admin {
|
Admin {
|
||||||
# Locații (maxim 2)
|
# Locație
|
||||||
Location = "EOFCONFIG_NETWORK World";
|
location = "EOFCONFIG_ADMIN_LOC";
|
||||||
Location = "EOFCONFIG_ADMIN_LOC";
|
|
||||||
|
|
||||||
# Contacti
|
# Contact
|
||||||
Contact = "EOFCONFIG_ADMIN_CONTACT";
|
contact = "EOFCONFIG_ADMIN_CONTACT";
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: CLASE DE CONEXIUNI
|
# BLOC PORT - Porturile de ascultare
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
Port {
|
||||||
# Clasă pentru servere principale (hub)
|
# Port pentru clienți normali (implicit 6667)
|
||||||
Class {
|
port = 6667;
|
||||||
name = "Server";
|
mask = 0.0.0.0;
|
||||||
pingfreq = 1 minutes 30 seconds;
|
|
||||||
connectfreq = 5 minutes;
|
|
||||||
maxlinks = 1;
|
|
||||||
sendq = 9000000;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Clasă pentru clienți obișnuiți
|
# Port pentru SSL
|
||||||
|
Port {
|
||||||
|
port = 6697;
|
||||||
|
mask = 0.0.0.0;
|
||||||
|
tls = yes;
|
||||||
|
};
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# BLOC ULINED - Servere de rețea (pentru testing local)
|
||||||
|
# ============================================================================
|
||||||
|
Uline {
|
||||||
|
# Nume server
|
||||||
|
server = "services.underchat.ro";
|
||||||
|
};
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# BLOC CLASS - Clase de conexiuni
|
||||||
|
# ============================================================================
|
||||||
Class {
|
Class {
|
||||||
name = "Local";
|
name = "clients";
|
||||||
pingfreq = 1 minutes 30 seconds;
|
pingfreq = 120;
|
||||||
sendq = 160000;
|
connectfreq = 60;
|
||||||
maxlinks = 100;
|
maxlinks = 100;
|
||||||
usermode = "+iw";
|
sendq = 40000;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Clasă pentru clienți normali (implicit)
|
|
||||||
Class {
|
Class {
|
||||||
name = "Other";
|
name = "servers";
|
||||||
pingfreq = 1 minutes 30 seconds;
|
pingfreq = 60;
|
||||||
sendq = 160000;
|
connectfreq = 300;
|
||||||
maxlinks = 2048;
|
maxlinks = 10;
|
||||||
usermode = "+ix";
|
sendq = 1000000;
|
||||||
};
|
|
||||||
|
|
||||||
# Clasă pentru operatori
|
|
||||||
Class {
|
|
||||||
name = "Opers";
|
|
||||||
pingfreq = 1 minutes 30 seconds;
|
|
||||||
sendq = 160000;
|
|
||||||
maxlinks = 20;
|
|
||||||
local = no;
|
|
||||||
freeform = yes;
|
|
||||||
mode_lchan = yes;
|
|
||||||
deop_lchan = yes;
|
|
||||||
walk_lchan = yes;
|
|
||||||
show_invis = yes;
|
|
||||||
see_chan = yes;
|
|
||||||
list_chan = yes;
|
|
||||||
usermode = "+W";
|
|
||||||
remove = yes;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: CLIENT - Restricții pentru conexiuni
|
# BLOC CLIENT - Restricții pentru clienți
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
# Configurare implicită pentru toți clienții
|
|
||||||
Client {
|
Client {
|
||||||
host = "*@*";
|
class = "clients";
|
||||||
ip = "*@*";
|
maxlinks = 10;
|
||||||
class = "Other";
|
|
||||||
maxlinks = 6;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: JUPED NICKS - Nick-uri rezervate
|
# BLOC CONNECT - Configurare conectări la alte servere
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
Jupe {
|
# Exemplu: Connect la un alt server
|
||||||
# Litere și caractere speciale
|
# Connect {
|
||||||
nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
|
# name = "other.server.com";
|
||||||
|
# host = "192.168.1.100";
|
||||||
# Servicii de rețea
|
# port = 6667;
|
||||||
nick = "StatServ,NoteServ";
|
# maxlinks = 1;
|
||||||
nick = "ChanServ,ChanSaver";
|
# class = "servers";
|
||||||
nick = "NickServ,NickSaver";
|
# password = "linker_password";
|
||||||
};
|
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: PORTURI
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
# Port pentru server-to-server
|
|
||||||
Port {
|
|
||||||
vhost = "EOFCONFIG_VHOST" 4400;
|
|
||||||
server = yes;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Port standard pentru clienți
|
|
||||||
Port {
|
|
||||||
vhost = "EOFCONFIG_VHOST" 6667;
|
|
||||||
hidden = yes;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Port SSL/TLS pentru clienți (opțional)
|
|
||||||
# Port {
|
|
||||||
# vhost = "EOFCONFIG_VHOST" 6697;
|
|
||||||
# ssl = yes;
|
|
||||||
# hidden = yes;
|
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: OPERATORI
|
# BLOC OPERATOR - Configurare operatori
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
Operator {
|
Operator {
|
||||||
# Nickname-ul operatorului
|
# Nickname-ul operatorului
|
||||||
name = "AdminRoot";
|
nick = "root";
|
||||||
|
|
||||||
# Password-ul operatorului (hash MD5/bcrypt/SMD5)
|
# Password-ul operatorului (hash bcrypt)
|
||||||
# Generează cu: ./ircd/umkpasswd
|
# Generează cu: ./ircd/umkpasswd
|
||||||
password = "$2a$04$NTy1i.X/8pXekNBNbMRlOu1JAjIiMfPGIe1sZf0Xqq.2jzqPMfN/G";
|
password = "$2a$04$NTy1i.X/8pXekNBNbMRlOu1JAjIiMfPGIe1sZf0Xqq.2jzqPMfN/G";
|
||||||
|
|
||||||
# Host-uri permise pentru operator (*)
|
# Permisiuni operator (vezi doc/opercmds.html)
|
||||||
host = "*@*";
|
privileges = "+all";
|
||||||
|
|
||||||
# Clasă
|
# Host-uri permise pentru operator
|
||||||
class = "Opers";
|
host = "127.0.0.1";
|
||||||
|
host = "localhost";
|
||||||
# Permisiuni
|
|
||||||
# hide_oper = yes;
|
|
||||||
# hide_channels = yes;
|
|
||||||
# whois_notice = yes;
|
|
||||||
admin = yes;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# SECȚIUNE: CONNECT - Legări cu alte servere
|
# BLOC FEATURE - Caracteristici dinamice
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
Feature {
|
||||||
|
# Activează autenticarea
|
||||||
|
AUTH = "yes";
|
||||||
|
|
||||||
# Exemplu: Connect la un server hub
|
# Activează channelurile persistente
|
||||||
# Connect {
|
PERSIST_CHANS = "no";
|
||||||
# name = "hub.EOFCONFIG_NETWORK";
|
|
||||||
# host = "192.168.1.100";
|
|
||||||
# password = "hub_password";
|
|
||||||
# port = 4400;
|
|
||||||
# class = "Server";
|
|
||||||
# autoconnect = yes;
|
|
||||||
# hub;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# ============================================================================
|
# Timp maxim de inactivitate (secunde)
|
||||||
# SECȚIUNE: UWORLD - Servere de servicii
|
IDLETIME = 0;
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
# UWorld {
|
# Activează SWHOIs
|
||||||
# name = "services.EOFCONFIG_NETWORK";
|
SWHOIS = "yes";
|
||||||
# };
|
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
# SECȚIUNE: FEATURE - Caracteristici și setări
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
features {
|
|
||||||
# Network details
|
|
||||||
"NETWORK" = "EOFCONFIG_NETWORK";
|
|
||||||
"DOMAINNAME" = "EOFCONFIG_NETWORK";
|
|
||||||
|
|
||||||
# Logging
|
|
||||||
"LOG" = "SYSTEM" "FILE" "EOFCONFIG_PREFIX/log/ircd.log";
|
|
||||||
"LOG" = "SYSTEM" "LEVEL" "CRIT";
|
|
||||||
|
|
||||||
# Server settings
|
|
||||||
"HUB" = "TRUE";
|
|
||||||
"RELIABLE_CLOCK" = "FALSE";
|
|
||||||
"WALLOPS_OPER_ONLY" = "TRUE";
|
|
||||||
"NODNS" = "FALSE";
|
|
||||||
"NOIDENT" = "FALSE";
|
|
||||||
|
|
||||||
# Client settings
|
|
||||||
"CLIENT_FLOOD" = "1024";
|
|
||||||
"BUFFERPOOL" = "27000000";
|
|
||||||
"DEFAULTMAXSENDQLENGTH" = "40000";
|
|
||||||
|
|
||||||
# Host hiding
|
|
||||||
"HOST_HIDING" = "TRUE";
|
|
||||||
"HIDDEN_HOST" = "users.EOFCONFIG_NETWORK";
|
|
||||||
"HIDDEN_IP" = "127.0.0.1";
|
|
||||||
|
|
||||||
# Channels
|
|
||||||
"MAXCHANNELSPERUSER" = "60";
|
|
||||||
"CHANNELLEN" = "200";
|
|
||||||
"MAXBANS" = "50";
|
|
||||||
|
|
||||||
# Nick settings
|
|
||||||
"NICKLEN" = "12";
|
|
||||||
"NICKNAMEHISTORYLENGTH" = "800";
|
|
||||||
|
|
||||||
# Timing
|
|
||||||
"HANGONGOODLINK" = "300";
|
|
||||||
"HANGONRETRYDELAY" = "10";
|
|
||||||
"CONNECTTIMEOUT" = "90";
|
|
||||||
"PINGFREQUENCY" = "120";
|
|
||||||
"CONNECTFREQUENCY" = "600";
|
|
||||||
|
|
||||||
# Welcome messages
|
|
||||||
"MPATH" = "EOFCONFIG_PREFIX/etc/ircd.motd";
|
|
||||||
"RPATH" = "EOFCONFIG_PREFIX/etc/remote.motd";
|
|
||||||
"PPATH" = "EOFCONFIG_PREFIX/var/ircd.pid";
|
|
||||||
|
|
||||||
# Stats visibility
|
|
||||||
"HIS_STATS_u" = "FALSE";
|
|
||||||
"HIS_STATS_U" = "TRUE";
|
|
||||||
|
|
||||||
# Whois privacy
|
|
||||||
"HIS_WHOIS_SERVERNAME" = "TRUE";
|
|
||||||
"HIS_WHOIS_IDLETIME" = "TRUE";
|
|
||||||
"HIS_WHOIS_LOCALCHAN" = "TRUE";
|
|
||||||
|
|
||||||
# Who privacy
|
|
||||||
"HIS_WHO_SERVERNAME" = "TRUE";
|
|
||||||
"HIS_WHO_HOPCOUNT" = "TRUE";
|
|
||||||
|
|
||||||
# Network info
|
|
||||||
"HIS_NETSPLIT" = "TRUE";
|
|
||||||
"HIS_SERVERNAME" = "*.EOFCONFIG_NETWORK";
|
|
||||||
"HIS_SERVERINFO" = "The EOFCONFIG_NETWORK World";
|
|
||||||
|
|
||||||
# Operational
|
|
||||||
"CHECK" = "TRUE";
|
|
||||||
"CHECK_EXTENDED" = "TRUE";
|
|
||||||
"MAX_CHECK_OUTPUT" = "1000";
|
|
||||||
|
|
||||||
# Admin commands
|
|
||||||
"SETHOST" = "TRUE";
|
|
||||||
"NETWORK_REHASH" = "TRUE";
|
|
||||||
|
|
||||||
# Channel modes
|
|
||||||
"HALFOPS" = "TRUE";
|
|
||||||
|
|
||||||
# SSL/TLS
|
|
||||||
# "SSL_CERTFILE" = "EOFCONFIG_PREFIX/etc/ircd.pem";
|
|
||||||
# "SSL_KEYFILE" = "EOFCONFIG_PREFIX/etc/ircd.pem";
|
|
||||||
# "SSL_NOSSLv3" = "TRUE";
|
|
||||||
|
|
||||||
# CTCP versioning
|
|
||||||
"CTCP_VERSIONING" = "FALSE";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
EOFCONFIG
|
EOFCONFIG
|
||||||
|
|
@ -521,8 +327,6 @@ EOFCONFIG
|
||||||
sed -i "s|EOFCONFIG_PREFIX|$PREFIX|g" "$config_file"
|
sed -i "s|EOFCONFIG_PREFIX|$PREFIX|g" "$config_file"
|
||||||
sed -i "s|EOFCONFIG_ADMIN_LOC|$admin_location|g" "$config_file"
|
sed -i "s|EOFCONFIG_ADMIN_LOC|$admin_location|g" "$config_file"
|
||||||
sed -i "s|EOFCONFIG_ADMIN_CONTACT|$admin_contact|g" "$config_file"
|
sed -i "s|EOFCONFIG_ADMIN_CONTACT|$admin_contact|g" "$config_file"
|
||||||
sed -i "s|EOFCONFIG_VHOST|$vhost|g" "$config_file"
|
|
||||||
sed -i "s|EOFCONFIG_NETWORK|$network|g" "$config_file"
|
|
||||||
|
|
||||||
log_success "Fișier de configurare generat: $config_file"
|
log_success "Fișier de configurare generat: $config_file"
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -602,17 +406,11 @@ main() {
|
||||||
# Citire interactivă de parametri
|
# Citire interactivă de parametri
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${GALBEN}Completare setări server:${NC}"
|
echo -e "${GALBEN}Completare setări server:${NC}"
|
||||||
read -p " Domeniu rețea [underchat.org]: " network_name
|
read -p " Nume server [localhost.localdomain]: " server_name
|
||||||
network_name=${network_name:-underchat.org}
|
server_name=${server_name:-localhost.localdomain}
|
||||||
|
|
||||||
read -p " Nume server [ns1.${network_name}]: " server_name
|
read -p " Descriere server [Nefarious IRCd Server]: " server_desc
|
||||||
server_name=${server_name:-ns1.${network_name}}
|
server_desc=${server_desc:-Nefarious IRCd Server}
|
||||||
|
|
||||||
read -p " Descriere server [The ${network_name} Network]: " server_desc
|
|
||||||
server_desc=${server_desc:-The ${network_name} Network}
|
|
||||||
|
|
||||||
read -p " Virtual Host / IP [127.0.0.1]: " vhost_ip
|
|
||||||
vhost_ip=${vhost_ip:-127.0.0.1}
|
|
||||||
|
|
||||||
read -p " Numeric server [1]: " server_numeric
|
read -p " Numeric server [1]: " server_numeric
|
||||||
server_numeric=${server_numeric:-1}
|
server_numeric=${server_numeric:-1}
|
||||||
|
|
@ -620,16 +418,14 @@ main() {
|
||||||
read -p " Locație admin [Romania]: " admin_location
|
read -p " Locație admin [Romania]: " admin_location
|
||||||
admin_location=${admin_location:-Romania}
|
admin_location=${admin_location:-Romania}
|
||||||
|
|
||||||
read -p " Contact admin [admin@${network_name}]: " admin_contact
|
read -p " Contact admin [admin@underchat.ro]: " admin_contact
|
||||||
admin_contact=${admin_contact:-admin@${network_name}}
|
admin_contact=${admin_contact:-admin@underchat.ro}
|
||||||
else
|
else
|
||||||
server_name=$(grep 'name = "' "$CONFIG_FILE" 2>/dev/null | head -1 | cut -d'"' -f2)
|
server_name=$(grep 'name = "' "$CONFIG_FILE" 2>/dev/null | head -1 | cut -d'"' -f2)
|
||||||
server_name=${server_name:-localhost.localdomain}
|
server_name=${server_name:-localhost.localdomain}
|
||||||
vhost_ip="127.0.0.1"
|
|
||||||
network_name="underchat.org"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
generate_config "$conf_file" "$server_name" "$server_desc" "$server_numeric" "$admin_location" "$admin_contact" "$vhost_ip" "$network_name"
|
generate_config "$conf_file" "$server_name" "$server_desc" "$server_numeric" "$admin_location" "$admin_contact"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue