1571 lines
34 KiB
Markdown
1571 lines
34 KiB
Markdown
# 📋 COMENZI ȘI MODURI IRC - UnderChat IRCd v2.0.1
|
||
|
||
**Data**: 23 Februarie 2026
|
||
**Base**: u2.10.12.19+UnderChat(2.0.1)
|
||
**Status**: ✅ DOCUMENTAȚIE COMPLETĂ
|
||
|
||
---
|
||
|
||
## 📚 CUPRINS
|
||
|
||
1. [Comenzi User (Disponibile tuturor)](#comenzi-user)
|
||
2. [Comenzi Oper (Doar pentru operatori)](#comenzi-oper)
|
||
3. [Comenzi Server-to-Server](#comenzi-server-to-server)
|
||
4. [Moduri User (+modes)](#moduri-user)
|
||
5. [Moduri Channel (#modes)](#moduri-channel)
|
||
6. [Comenzi VIITOARE (Pot fi adăugate)](#comenzi-viitoare)
|
||
7. [Features Speciale](#features-speciale)
|
||
|
||
---
|
||
|
||
## 🔷 COMENZI USER (Disponibile tuturor)
|
||
|
||
### Comenzi de Conectare
|
||
|
||
#### **PASS** - Set connection password
|
||
```
|
||
/PASS <password>
|
||
```
|
||
- Setează parola de conectare (înainte de USER/NICK)
|
||
- Necesară pentru servere protejate cu parolă
|
||
- **Fișier**: `m_pass.c`
|
||
|
||
#### **NICK** - Change nickname
|
||
```
|
||
/NICK <new_nickname>
|
||
```
|
||
- Schimbă nickname-ul curent
|
||
- Limită: 12 caractere (configurabil)
|
||
- **Fișier**: `m_nick.c`
|
||
|
||
#### **USER** - Set username
|
||
```
|
||
/USER <username> <hostname> <servername> :<realname>
|
||
```
|
||
- Setează username și realname la conectare
|
||
- Trimis automat de client
|
||
- **Fișier**: `m_user.c`
|
||
|
||
#### **QUIT** - Disconnect from server
|
||
```
|
||
/QUIT :<reason>
|
||
```
|
||
- Deconectare de la server cu motiv opțional
|
||
- **Fișier**: `m_quit.c`
|
||
|
||
---
|
||
|
||
### Comenzi de Comunicare
|
||
|
||
#### **PRIVMSG** - Send private message
|
||
```
|
||
/MSG <target> :<message>
|
||
/PRIVMSG <target> :<message>
|
||
```
|
||
- Trimite mesaj către user sau channel
|
||
- Target poate fi: nick, #channel, @#channel (ops only)
|
||
- **Fișier**: `m_privmsg.c`
|
||
|
||
#### **NOTICE** - Send notice
|
||
```
|
||
/NOTICE <target> :<message>
|
||
```
|
||
- Similar cu PRIVMSG dar nu generează răspuns automat
|
||
- Folosit pentru bots și servicii
|
||
- **Fișier**: `m_notice.c`
|
||
|
||
#### **CPRIVMSG** - Channel private message
|
||
```
|
||
/CPRIVMSG <nickname> <channel> :<message>
|
||
```
|
||
- Mesaj privat către user pe un channel specific
|
||
- **Fișier**: `m_cprivmsg.c`
|
||
|
||
---
|
||
|
||
### Comenzi Channel
|
||
|
||
#### **JOIN** - Join channel
|
||
```
|
||
/JOIN <#channel>[,<#channel2>,...] [<key>[,<key2>,...]]
|
||
/JOIN 0 (părăsește toate canalele)
|
||
```
|
||
- Intră pe canal(e)
|
||
- Suportă chei (parole) pentru canale +k
|
||
- **Fișier**: `m_join.c`
|
||
|
||
#### **PART** - Leave channel
|
||
```
|
||
/PART <#channel>[,<#channel2>,...] [:<reason>]
|
||
```
|
||
- Părăsește canal(e) cu motiv opțional
|
||
- **Fișier**: `m_part.c`
|
||
|
||
#### **TOPIC** - Set/view channel topic
|
||
```
|
||
/TOPIC <#channel> [:<new topic>]
|
||
```
|
||
- Fără parametru: Afișează topic-ul
|
||
- Cu parametru: Setează topic nou (dacă ai permisiuni)
|
||
- **Fișier**: `m_topic.c`
|
||
|
||
#### **NAMES** - List users on channel
|
||
```
|
||
/NAMES [<#channel>[,<#channel2>,...]]
|
||
```
|
||
- Listează userii de pe canal(e)
|
||
- Fără parametru: Toate canalele vizibile
|
||
- **Fișier**: `m_names.c`
|
||
|
||
#### **LIST** - List channels
|
||
```
|
||
/LIST [<#channel>] [<options>]
|
||
```
|
||
- Listează canale disponibile cu număr de useri și topic
|
||
- Opțiuni: >50 (peste 50 useri), <10 (sub 10 useri)
|
||
- **Fișier**: `m_list.c`
|
||
|
||
#### **INVITE** - Invite user to channel
|
||
```
|
||
/INVITE <nickname> <#channel>
|
||
```
|
||
- Invită user pe canal
|
||
- Bypass +i (invite-only) și +l (limit)
|
||
- **Fișier**: `m_invite.c`
|
||
|
||
#### **KICK** - Kick user from channel
|
||
```
|
||
/KICK <#channel> <nickname> [:<reason>]
|
||
```
|
||
- Scoate user de pe canal (necesită @op sau %halfop)
|
||
- **Fișier**: `m_kick.c`
|
||
|
||
#### **MODE** - Change channel/user modes
|
||
```
|
||
/MODE <#channel> [+/-modes] [parameters]
|
||
/MODE <nickname> [+/-modes]
|
||
```
|
||
- Schimbă moduri canal sau user
|
||
- Vezi secțiunile [Moduri User](#moduri-user) și [Moduri Channel](#moduri-channel)
|
||
- **Fișier**: `m_mode.c`
|
||
|
||
---
|
||
|
||
### Comenzi de Informații
|
||
|
||
#### **WHOIS** - Get user information
|
||
```
|
||
/WHOIS <nickname>[,<nickname2>,...]
|
||
/WHOIS <server> <nickname> (remote whois)
|
||
```
|
||
- Afișează informații despre user(i)
|
||
- Informații: realname, hostname, channels, oper status, idle time
|
||
- **Fișier**: `m_whois.c`
|
||
- **✨ Modificat în v2.0.1**: Suport stealth oper (hide_oper)
|
||
|
||
#### **WHOWAS** - Get information about disconnected user
|
||
```
|
||
/WHOWAS <nickname> [<count> [<server>]]
|
||
```
|
||
- Istoric pentru useri deconectați
|
||
- **Fișier**: `m_whowas.c`
|
||
|
||
#### **WHO** - List users matching criteria
|
||
```
|
||
/WHO <mask> [options]
|
||
```
|
||
- Caută useri după criterii
|
||
- Opțiuni: o (opers only), n (match nick), h (match host)
|
||
- **Fișier**: `m_who.c`
|
||
|
||
#### **USERHOST** - Get user@host info
|
||
```
|
||
/USERHOST <nickname> [<nickname2> ...]
|
||
```
|
||
- Returnează user@host pentru nickname(s)
|
||
- **Fișier**: `m_userhost.c`
|
||
|
||
#### **USERIP** - Get IP addresses
|
||
```
|
||
/USERIP <nickname> [<nickname2> ...]
|
||
```
|
||
- Returnează IP-uri pentru nickname(s)
|
||
- Doar pentru operi sau self
|
||
- **Fișier**: `m_userip.c`
|
||
|
||
#### **ISON** - Check if users are online
|
||
```
|
||
/ISON <nickname> [<nickname2> ...]
|
||
```
|
||
- Verifică dacă userii sunt online
|
||
- Folosit de clienti pentru buddy lists
|
||
- **Fișier**: `m_ison.c`
|
||
|
||
---
|
||
|
||
### Comenzi Server Info
|
||
|
||
#### **VERSION** - Get server version
|
||
```
|
||
/VERSION [<server>]
|
||
```
|
||
- Afișează versiunea serverului
|
||
- **Output**: `u2.10.12.19+UnderChat(2.0.1)`
|
||
- **Fișier**: `m_version.c`
|
||
|
||
#### **TIME** - Get server time
|
||
```
|
||
/TIME [<server>]
|
||
```
|
||
- Afișează ora serverului
|
||
- **Fișier**: `m_time.c`
|
||
|
||
#### **ADMIN** - Get server admin info
|
||
```
|
||
/ADMIN [<server>]
|
||
```
|
||
- Informații despre administratorul serverului
|
||
- **Fișier**: `m_admin.c`
|
||
|
||
#### **INFO** - Get server info
|
||
```
|
||
/INFO [<server>]
|
||
```
|
||
- Informații despre server, versiune, autori
|
||
- **Fișier**: `m_info.c`
|
||
|
||
#### **MOTD** - Get Message of the Day
|
||
```
|
||
/MOTD [<server>]
|
||
```
|
||
- Afișează MOTD (mesajul zilei)
|
||
- **Fișier**: `m_motd.c`
|
||
|
||
#### **RULES** - Get server rules
|
||
```
|
||
/RULES [<server>]
|
||
```
|
||
- Afișează regulile serverului
|
||
- **Fișier**: `m_rules.c`
|
||
|
||
#### **LUSERS** - Get network statistics
|
||
```
|
||
/LUSERS [<mask> [<server>]]
|
||
```
|
||
- Statistici: useri, operi, canale, servere
|
||
- **Fișier**: `m_lusers.c`
|
||
|
||
#### **LINKS** - List servers
|
||
```
|
||
/LINKS [[<remote server>] <mask>]
|
||
```
|
||
- Listează servere din network
|
||
- **Fișier**: `m_links.c`
|
||
|
||
#### **MAP** - Network map
|
||
```
|
||
/MAP
|
||
```
|
||
- Hartă vizuală a network-ului
|
||
- **Fișier**: `m_map.c`
|
||
|
||
---
|
||
|
||
### Comenzi Speciale
|
||
|
||
#### **AWAY** - Set away message
|
||
```
|
||
/AWAY [:<message>]
|
||
```
|
||
- Setează mesaj de absent
|
||
- Fără parametru: Elimină away
|
||
- **Fișier**: `m_away.c`
|
||
|
||
#### **SILENCE** - Ignore users
|
||
```
|
||
/SILENCE [+/-<mask>]
|
||
```
|
||
- Adaugă/șterge useri în/din ignore list
|
||
- **Fișier**: `m_silence.c`
|
||
|
||
#### **WATCH** - Notify when users connect
|
||
```
|
||
/WATCH [+/-<nickname>]
|
||
/WATCH l (list)
|
||
/WATCH s (stats)
|
||
```
|
||
- Notificare când useri specifici se conectează/deconectează
|
||
- **Fișier**: `m_watch.c`
|
||
|
||
#### **HELP** - Get help
|
||
```
|
||
/HELP [<topic>]
|
||
```
|
||
- Afișează help pentru comenzi
|
||
- **Fișier**: `m_help.c`
|
||
|
||
#### **PING** - Test connection
|
||
```
|
||
/PING <server>
|
||
```
|
||
- Test latență la server
|
||
- **Fișier**: `m_ping.c`
|
||
|
||
#### **CAP** - Client capabilities
|
||
```
|
||
/CAP LS
|
||
/CAP REQ :<capability>
|
||
/CAP END
|
||
```
|
||
- Negociază capabilități client-server
|
||
- **Fișier**: `m_cap.c`
|
||
|
||
#### **AUTHENTICATE** - SASL authentication
|
||
```
|
||
/AUTHENTICATE <data>
|
||
```
|
||
- Autentificare SASL
|
||
- **Fișier**: `m_authenticate.c`
|
||
|
||
#### **STARTTLS** - Start TLS encryption
|
||
```
|
||
/STARTTLS
|
||
```
|
||
- Inițiază conexiune TLS
|
||
- **Fișier**: `m_starttls.c`
|
||
|
||
---
|
||
|
||
## 🔶 COMENZI OPER (Doar pentru operatori)
|
||
|
||
### Comenzi de Administrare User
|
||
|
||
#### **KILL** - Disconnect user
|
||
```
|
||
/KILL <nickname> :<reason>
|
||
```
|
||
- Deconectează forțat un user
|
||
- **✨ Modificat în v2.0.1**: Stealth mode - arată `*.UnderChat.org` pentru operi cu `hide_oper = yes`
|
||
- **Fișier**: `m_kill.c`
|
||
- **Privilegiu**: PRIV_LOCAL_KILL sau PRIV_KILL
|
||
|
||
#### **GLINE** - Global ban
|
||
```
|
||
/GLINE [+/-]<user@host> [<duration> [:<reason>]]
|
||
/GLINE * +<user@host> <duration> :<reason> (propagate)
|
||
```
|
||
- Ban global pe toate serverele
|
||
- Durată: secondele sau 0 pentru permanent
|
||
- **Fișier**: `m_gline.c`
|
||
- **Privilegiu**: PRIV_LOCAL_GLINE sau PRIV_GLINE
|
||
|
||
#### **SHUN** - Silent ignore
|
||
```
|
||
/SHUN [+/-]<user@host> [<duration> [:<reason>]]
|
||
```
|
||
- User poate conecta dar toate comenzile sunt ignorate (silent)
|
||
- **Fișier**: `m_shun.c`
|
||
- **Privilegiu**: PRIV_LOCAL_SHUN sau PRIV_SHUN
|
||
|
||
#### **ZLINE** - IP ban
|
||
```
|
||
/ZLINE [+/-]<IP> [<duration> [:<reason>]]
|
||
```
|
||
- Ban pe adresă IP
|
||
- **Fișier**: `m_zline.c`
|
||
- **Privilegiu**: PRIV_LOCAL_ZLINE sau PRIV_ZLINE
|
||
|
||
#### **TEMPSHUN** - Temporary shun
|
||
```
|
||
/TEMPSHUN <nickname> [<duration>]
|
||
```
|
||
- Shun temporar pentru user specific
|
||
- **Fișier**: `m_tempshun.c`
|
||
- **Privilegiu**: PRIV_LOCAL_SHUN
|
||
|
||
---
|
||
|
||
### Comenzi Channel Management
|
||
|
||
#### **OPMODE** - Override channel modes
|
||
```
|
||
/OPMODE <#channel> [+/-modes] [parameters]
|
||
```
|
||
- Schimbă moduri canal fără să fii op
|
||
- Bypass toate restricțiile
|
||
- **Fișier**: `m_opmode.c`
|
||
- **Privilegiu**: PRIV_LOCAL_OPMODE sau PRIV_OPMODE
|
||
|
||
#### **CLEARMODE** - Clear channel modes
|
||
```
|
||
/CLEARMODE <#channel> [<flags>]
|
||
```
|
||
- Șterge moduri de pe canal
|
||
- Flags: o (ops), v (voices), b (bans), k (key), l (limit)
|
||
- **Fișier**: `m_clearmode.c`
|
||
- **Privilegiu**: PRIV_LOCAL_OPMODE
|
||
|
||
---
|
||
|
||
### Comenzi Server Management
|
||
|
||
#### **REHASH** - Reload configuration
|
||
```
|
||
/REHASH
|
||
```
|
||
- Reîncarcă fișierul de configurare
|
||
- **Fișier**: `m_rehash.c`
|
||
- **Privilegiu**: PRIV_REHASH
|
||
|
||
#### **RESTART** - Restart server
|
||
```
|
||
/RESTART
|
||
```
|
||
- Restart complet al serverului
|
||
- **Fișier**: `m_restart.c`
|
||
- **Privilegiu**: PRIV_RESTART
|
||
|
||
#### **DIE** - Shutdown server
|
||
```
|
||
/DIE [<server>]
|
||
```
|
||
- Oprește serverul complet
|
||
- **Fișier**: `m_die.c`
|
||
- **Privilegiu**: PRIV_DIE
|
||
|
||
#### **CONNECT** - Connect to another server
|
||
```
|
||
/CONNECT <target server> [<port> [<remote server>]]
|
||
```
|
||
- Conectează server la alt server
|
||
- **Fișier**: `m_connect.c`
|
||
- **Privilegiu**: PRIV_LOCAL_OPMODE
|
||
|
||
#### **SQUIT** - Disconnect server
|
||
```
|
||
/SQUIT <server> :<reason>
|
||
```
|
||
- Deconectează un server din network
|
||
- **Fișier**: `m_squit.c`
|
||
- **Privilegiu**: PRIV_LOCAL_OPMODE
|
||
|
||
#### **JUPE** - Fake server (prevent connections)
|
||
```
|
||
/JUPE [+/-]<server> [:<reason>]
|
||
```
|
||
- Creează server "fake" pentru a preveni conectări
|
||
- **Fișier**: `m_jupe.c`
|
||
- **Privilegiu**: PRIV_LOCAL_JUPE sau PRIV_JUPE
|
||
|
||
---
|
||
|
||
### Comenzi de Monitorizare
|
||
|
||
#### **STATS** - Server statistics
|
||
```
|
||
/STATS <type> [<server>]
|
||
```
|
||
Tipuri disponibile:
|
||
- **c**: Connect blocks (server links)
|
||
- **g**: G-lines (global bans)
|
||
- **h**: Hub/Leaf configuration
|
||
- **i**: I-lines (client auth)
|
||
- **k**: K-lines (local bans)
|
||
- **l**: Connection info și stats
|
||
- **m**: Command usage statistics
|
||
- **o**: Operator blocks
|
||
- **p**: Port listeners
|
||
- **r**: Resource usage
|
||
- **s**: Service bans (shuns)
|
||
- **u**: Server uptime
|
||
- **v**: Version info detaliată
|
||
- **w**: Who was statistics
|
||
- **z**: Z-lines (IP bans)
|
||
- **f**: Features (F-lines)
|
||
- **t**: Timing statistics
|
||
- **T**: MOTD/RULES files
|
||
- **U**: Uptime și stats
|
||
- **?**: Help pentru stats
|
||
|
||
**Fișier**: `m_stats.c`
|
||
**Privilegiu**: Varies by type
|
||
|
||
#### **TRACE** - Trace connections
|
||
```
|
||
/TRACE [<target>]
|
||
```
|
||
- Afișează traceroute la server/user
|
||
- **Fișier**: `m_trace.c`
|
||
- **Privilegiu**: PRIV_SEE_OPERS (pentru info completă)
|
||
|
||
#### **CHECK** - Check user/channel/server
|
||
```
|
||
/CHECK <nickname|#channel|server>
|
||
```
|
||
- Informații detaliate despre target
|
||
- **Fișier**: `m_check.c`
|
||
- **Privilegiu**: PRIV_SEE_CHAN
|
||
|
||
#### **IRCOPS** - List IRC operators
|
||
```
|
||
/IRCOPS [<server>]
|
||
```
|
||
- Listează toți operatorii online
|
||
- **Fișier**: `m_ircops.c`
|
||
|
||
---
|
||
|
||
### Comenzi de Configurare
|
||
|
||
#### **SET** - Change runtime settings
|
||
```
|
||
/SET <option> <value>
|
||
```
|
||
- Modifică setări în runtime
|
||
- **Fișier**: `m_set.c`
|
||
- **Privilegiu**: PRIV_SET
|
||
|
||
#### **GET** - Get runtime settings
|
||
```
|
||
/GET <option>
|
||
```
|
||
- Afișează setări curente
|
||
- **Fișier**: `m_get.c`
|
||
|
||
#### **RESET** - Reset settings
|
||
```
|
||
/RESET <option>
|
||
```
|
||
- Resetează setări la valori default
|
||
- **Fișier**: `m_reset.c`
|
||
- **Privilegiu**: PRIV_SET
|
||
|
||
---
|
||
|
||
### Comenzi Speciale Oper
|
||
|
||
#### **WALLOPS** - Send to all operators
|
||
```
|
||
/WALLOPS :<message>
|
||
```
|
||
- Mesaj către toți operatorii cu +w
|
||
- **Fișier**: `m_wallops.c`
|
||
- **Privilegiu**: PRIV_WALLOPS
|
||
|
||
#### **WALLUSERS** - Send to all users
|
||
```
|
||
/WALLUSERS :<message>
|
||
```
|
||
- Mesaj către toți userii conectați
|
||
- **Fișier**: `m_wallusers.c`
|
||
- **Privilegiu**: PRIV_WALLOPS
|
||
|
||
#### **WALLCHOPS** - Send to channel ops
|
||
```
|
||
/WALLCHOPS <#channel> :<message>
|
||
```
|
||
- Mesaj către toți ops de pe canal
|
||
- **Fișier**: `m_wallchops.c`
|
||
|
||
#### **WALLHOPS** - Send to channel halfops
|
||
```
|
||
/WALLHOPS <#channel> :<message>
|
||
```
|
||
- Mesaj către toți halfops de pe canal
|
||
- **Fișier**: `m_wallhops.c`
|
||
|
||
#### **WALLVOICES** - Send to voiced users
|
||
```
|
||
/WALLVOICES <#channel> :<message>
|
||
```
|
||
- Mesaj către toți userii cu voice
|
||
- **Fișier**: `m_wallvoices.c`
|
||
|
||
---
|
||
|
||
### Comenzi Services
|
||
|
||
⚠️ **ATENȚIE**: Majoritatea comenzilor SVS* **NU SUNT ACTIVE** în versiunea curentă!
|
||
Fișierele `m_svs*.c` există dar **NU sunt înregistrate în parse.c**, deci comenzile **NU FUNCȚIONEAZĂ**!
|
||
|
||
#### **SVSJOIN** - Force user to join channel ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SVSJOIN <nickname> <#channel>
|
||
```
|
||
- Forțează user să intre pe canal
|
||
- **Fișier**: `m_svsjoin.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SVSPART** - Force user to part channel ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SVSPART <nickname> <#channel>
|
||
```
|
||
- Forțează user să părăsească canalul
|
||
- **Fișier**: `m_svspart.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SVSNICK** - Force nick change ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SVSNICK <old_nick> <new_nick> [<timestamp>]
|
||
```
|
||
- Forțează schimbare de nickname
|
||
- **Fișier**: `m_svsnick.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SVSMODE** - Force mode change ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SVSMODE <target> <modes>
|
||
```
|
||
- Forțează schimbare moduri user/canal
|
||
- **Fișier**: `m_svsmode.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SVSIDENT** - Set ident ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SVSIDENT <nickname> <ident>
|
||
```
|
||
- Setează ident pentru user
|
||
- **Fișier**: `m_svsident.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SVSQUIT** - Force user quit ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SVSQUIT <nickname> :<reason>
|
||
```
|
||
- Forțează user să se deconecteze
|
||
- **Fișier**: `m_svsquit.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SWHOIS** - Set special whois line ❌ NU FUNCȚIONEAZĂ
|
||
```
|
||
/SWHOIS <nickname> :<text>
|
||
```
|
||
- Setează linie specială în WHOIS
|
||
- **Fișier**: `m_swhois.c` (există dar NU e înregistrat în parser)
|
||
- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c
|
||
|
||
#### **SVSINFO** - Services info ⚠️ PARȚIAL
|
||
```
|
||
/SVSINFO <params>
|
||
```
|
||
- Informații despre servicii
|
||
- **Fișier**: `m_svsinfo.c`
|
||
- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere și servicii
|
||
|
||
#### **SVSNOOP** - Services noop ⚠️ PARȚIAL
|
||
```
|
||
/SVSNOOP <params>
|
||
```
|
||
- Services no-op command
|
||
- **Fișier**: `m_svsnoop.c`
|
||
- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere
|
||
|
||
---
|
||
|
||
### Comenzi Administrative (FUNCȚIONALE)
|
||
|
||
#### **SETHOST** - Set virtual host ✅ FUNCȚIONEAZĂ
|
||
```
|
||
/SETHOST <new_host>
|
||
```
|
||
- Schimbă hostname-ul virtual
|
||
- **Fișier**: `m_sethost.c`
|
||
- **Privilegiu**: PRIV_FREEFORM
|
||
- **Status**: ✅ **FUNCȚIONAL**
|
||
|
||
---
|
||
|
||
### Comenzi de Debug
|
||
|
||
#### **DEFAULTS** - Show compiled defaults
|
||
```
|
||
/DEFAULTS
|
||
```
|
||
- Afișează setările compilate default
|
||
- **Fișier**: `m_defaults.c`
|
||
|
||
#### **PRIVS** - Show privileges
|
||
```
|
||
/PRIVS [<nickname>]
|
||
```
|
||
- Afișează privilegiile operului
|
||
- **Fișier**: `m_privs.c`
|
||
|
||
#### **ISNEF** - Check Nefarious features
|
||
```
|
||
/ISNEF
|
||
```
|
||
- Verifică features Nefarious disponibile
|
||
- **Fișier**: `m_isnef.c`
|
||
|
||
#### **UPING** - UDP ping test
|
||
```
|
||
/UPING <server> [<port>]
|
||
```
|
||
- Test UDP ping către server
|
||
- **Fișier**: `m_uping.c`
|
||
- **Privilegiu**: PRIV_LOCAL_OPMODE
|
||
|
||
#### **RPING** - Remote ping test
|
||
```
|
||
/RPING <server1> <server2>
|
||
```
|
||
- Test ping între două servere
|
||
- **Fișier**: `m_rping.c`
|
||
|
||
---
|
||
|
||
## 🔷 COMENZI SERVER-TO-SERVER
|
||
|
||
Acestea sunt comenzi interne folosite între servere în protocol:
|
||
|
||
- **SERVER**: Server introduction
|
||
- **BURST**: Channel/user burst la link
|
||
- **ENDBURST**: Finish burst
|
||
- **CREATE**: Channel creation sync
|
||
- **DESTRUCT**: Channel destruction
|
||
- **ACCOUNT**: User account sync (services)
|
||
- **FAKE**: Fake direction message
|
||
- **PROTO**: Protocol negotiation
|
||
- **PROTOCTL**: Protocol control
|
||
- **XQUERY**: Cross-server query
|
||
- **XREPLY**: Cross-server reply
|
||
- **ASLL**: ASL lookup
|
||
- **PASS**: Server password
|
||
- **ERROR**: Error message
|
||
- **DESYNCH**: Desynch notification
|
||
- **MARK**: Channel/user mark
|
||
- **CLOSE**: Close connections
|
||
- **SVSINFO**: Services info
|
||
- **SVSNOOP**: Services noop
|
||
- **FINGERPRINT**: SSL fingerprint
|
||
|
||
**Note**: Aceste comenzi NU sunt disponibile pentru useri!
|
||
|
||
---
|
||
|
||
## 👤 MODURI USER (+modes)
|
||
|
||
### Moduri Disponibile
|
||
|
||
#### **+i** - Invisible
|
||
- User invizibil în /WHO (doar pe canale comune)
|
||
- Setat automat de majoritatea clienților
|
||
|
||
#### **+w** - Wallops
|
||
- Primește mesaje WALLOPS de la operi
|
||
- Recomandat pentru staff
|
||
|
||
#### **+o** - IRC Operator
|
||
- User e operator IRC
|
||
- Setat automat la /OPER
|
||
- NU poate fi setat manual
|
||
|
||
#### **+O** - Local Operator
|
||
- Operator local (nu global)
|
||
- Privilegii limitate la serverul curent
|
||
|
||
#### **+s** - Server Notices
|
||
- Primește server notices (snomask)
|
||
- Format: +s +<snomask>
|
||
|
||
#### **+d** - Deaf
|
||
- Nu primește mesaje de canal
|
||
- Useful pentru bots care nu procesează mesaje
|
||
|
||
#### **+k** - Service
|
||
- User e un service bot (protecție specială)
|
||
- Setat doar de servicii
|
||
|
||
#### **+g** - Caller ID / Ignore
|
||
- Doar userii din accept list pot trimite MSG
|
||
- Anti-spam protection
|
||
|
||
#### **+n** - NoChan
|
||
- Ascunde canalele în /WHOIS
|
||
- Doar pentru operi sau useri special
|
||
|
||
#### **+x** - Hidden host
|
||
- Activează host masking (cloaking)
|
||
- Format: user.users.network.org
|
||
|
||
#### **+h** - Hide oper
|
||
- **✨ NOU în v2.0.1**: Ascunde status oper din /WHOIS
|
||
- Doar pentru operi cu `hide_oper = yes` în config
|
||
- **Stealth mode!**
|
||
|
||
#### **+r** - Registered
|
||
- User e autentificat la servicii
|
||
- Setat automat de servicii (X, NickServ)
|
||
|
||
#### **+R** - Registered only
|
||
- Doar useri autentificați pot trimite MSG
|
||
- Anti-spam de la useri neautentificați
|
||
|
||
#### **+I** - Invisible joins
|
||
- Join-urile pe canale nu sunt anunțate
|
||
- Pentru staff investigations
|
||
|
||
---
|
||
|
||
## 📺 MODURI CHANNEL (#modes)
|
||
|
||
### Moduri de Acces
|
||
|
||
#### **+o** - Channel Operator (Op)
|
||
```
|
||
/MODE #channel +o <nickname>
|
||
```
|
||
- Control complet asupra canalului
|
||
- Poate da kick, ban, schimba topic, modes
|
||
|
||
#### **+h** - Halfop
|
||
```
|
||
/MODE #channel +h <nickname>
|
||
```
|
||
- Operator parțial
|
||
- Poate da kick, voice, dar NU ban sau modes
|
||
|
||
#### **+v** - Voice
|
||
```
|
||
/MODE #channel +v <nickname>
|
||
```
|
||
- Poate vorbi pe canal +m (moderated)
|
||
|
||
---
|
||
|
||
### Moduri de Restricții
|
||
|
||
#### **+i** - Invite only
|
||
```
|
||
/MODE #channel +i
|
||
```
|
||
- Doar useri invitați pot intra
|
||
- Bypass cu /INVITE
|
||
|
||
#### **+k** - Key (Password)
|
||
```
|
||
/MODE #channel +k <password>
|
||
```
|
||
- Necesită parolă pentru /JOIN
|
||
- `/JOIN #channel password`
|
||
|
||
#### **+l** - User limit
|
||
```
|
||
/MODE #channel +l <number>
|
||
```
|
||
- Limită maximă de useri
|
||
- Bypass cu /INVITE
|
||
|
||
#### **+m** - Moderated
|
||
```
|
||
/MODE #channel +m
|
||
```
|
||
- Doar ops, halfops, și voiced pot vorbi
|
||
|
||
#### **+n** - No external messages
|
||
```
|
||
/MODE #channel +n
|
||
```
|
||
- Doar userii de pe canal pot trimite mesaje
|
||
- Default pe majoritatea canalelor
|
||
|
||
#### **+t** - Topic protection
|
||
```
|
||
/MODE #channel +t
|
||
```
|
||
- Doar ops pot schimba topic-ul
|
||
- Recomandat pentru canale publice
|
||
|
||
#### **+s** - Secret
|
||
```
|
||
/MODE #channel +s
|
||
```
|
||
- Canalul NU apare în /LIST sau /WHOIS
|
||
- Invizibil pentru useri externi
|
||
|
||
#### **+p** - Private
|
||
```
|
||
/MODE #channel +p
|
||
```
|
||
- Canalul apare ca "*" în /WHOIS
|
||
- Parțial ascuns
|
||
|
||
#### **+r** - Registered
|
||
```
|
||
/MODE #channel +r
|
||
```
|
||
- Canalul e înregistrat la servicii
|
||
- Setat automat de ChanServ
|
||
|
||
#### **+R** - Registered users only
|
||
```
|
||
/MODE #channel +R
|
||
```
|
||
- Doar useri autentificați (+r) pot intra
|
||
- Anti-spam și securitate
|
||
|
||
#### **+M** - Moderated (registered)
|
||
```
|
||
/MODE #channel +M
|
||
```
|
||
- Doar useri autentificați (+r) pot vorbi
|
||
- Combinat cu +m pentru securitate maximă
|
||
|
||
#### **+c** - No colors
|
||
```
|
||
/MODE #channel +c
|
||
```
|
||
- Blochează mesaje cu color codes
|
||
- Util pentru canale serioase/business
|
||
|
||
#### **+C** - No CTCPs
|
||
```
|
||
/MODE #channel +C
|
||
```
|
||
- Blochează CTCP-uri (VERSION, PING, etc.)
|
||
- Anti-flood protection
|
||
|
||
#### **+u** - Auditorium
|
||
```
|
||
/MODE #channel +u
|
||
```
|
||
- Userii normali văd doar ops în /NAMES
|
||
- Util pentru canale mari (announcements)
|
||
|
||
#### **+N** - No nick changes
|
||
```
|
||
/MODE #channel +N
|
||
```
|
||
- Nu se pot schimba nickname-uri pe canal
|
||
- Anti-confusion în discuții
|
||
|
||
#### **+Q** - No kicks
|
||
```
|
||
/MODE #channel +Q
|
||
```
|
||
- Halfops nu pot da kick
|
||
- Doar ops pot da kick
|
||
|
||
#### **+S** - Strip colors
|
||
```
|
||
/MODE #channel +S
|
||
```
|
||
- Șterge color codes din mesaje
|
||
- Similar cu +c dar NU blochează mesajul
|
||
|
||
#### **+T** - No notices
|
||
```
|
||
/MODE #channel +T
|
||
```
|
||
- Blochează NOTICE pe canal
|
||
- Doar PRIVMSG permis
|
||
|
||
#### **+z** - Secure only (SSL)
|
||
```
|
||
/MODE #channel +z
|
||
```
|
||
- Doar useri cu conexiune SSL pot intra
|
||
- Securitate maximă
|
||
|
||
---
|
||
|
||
### Moduri Liste (Bans/Exceptions)
|
||
|
||
#### **+b** - Ban
|
||
```
|
||
/MODE #channel +b <mask>
|
||
/MODE #channel +b (listă bans)
|
||
```
|
||
- Interzice accesul pentru mask
|
||
- Format: nick!user@host
|
||
|
||
#### **+e** - Exception (Ban exempt)
|
||
```
|
||
/MODE #channel +e <mask>
|
||
```
|
||
- Except de la bans
|
||
- Useful pentru admini sau trusted users
|
||
|
||
#### **+I** - Invite exception
|
||
```
|
||
/MODE #channel +I <mask>
|
||
```
|
||
- Bypass +i (invite-only)
|
||
- Auto-invite pentru mask
|
||
|
||
---
|
||
|
||
### Moduri Speciale
|
||
|
||
#### **+D** - Delayed join
|
||
```
|
||
/MODE #channel +D
|
||
```
|
||
- Userii fără voice apar ca invizibili până vorbesc
|
||
- Reduce join/part spam
|
||
|
||
#### **+d** - Delayed join user
|
||
- Setat automat pentru useri în canal +D
|
||
- Dispar la primul mesaj
|
||
|
||
#### **+A** - Admin only
|
||
```
|
||
/MODE #channel +A
|
||
```
|
||
- Doar admini IRC pot intra
|
||
- Canale speciale pentru staff
|
||
|
||
#### **+O** - Opers only
|
||
```
|
||
/MODE #channel +O
|
||
```
|
||
- Doar operatori IRC pot intra
|
||
- Canale pentru operi
|
||
|
||
---
|
||
|
||
## 🔮 COMENZI VIITOARE (Pot fi adăugate)
|
||
|
||
### Comenzi User
|
||
|
||
#### **KNOCK** - Request invite
|
||
```
|
||
/KNOCK #channel [:<reason>]
|
||
```
|
||
- Cere invitație pe canal +i
|
||
- Notifică ops-ii
|
||
- **Status**: NU IMPLEMENTAT (poate fi adăugat)
|
||
|
||
#### **ACCEPT** - Manage accept list
|
||
```
|
||
/ACCEPT +<nick> (add)
|
||
/ACCEPT -<nick> (remove)
|
||
/ACCEPT * (list)
|
||
```
|
||
- Gestionează lista pentru +g mode
|
||
- **Status**: PARȚIAL (există în alte IRCd-uri)
|
||
|
||
#### **VHOST** - Request virtual host
|
||
```
|
||
/VHOST <username> <password>
|
||
```
|
||
- Activează vhost pre-aprobat
|
||
- **Status**: NU IMPLEMENTAT (poate fi adăugat)
|
||
|
||
#### **DCCALLOW** - DCC whitelist
|
||
```
|
||
/DCCALLOW +<nick>
|
||
```
|
||
- Permite DCC de la user specific
|
||
- **Status**: NU IMPLEMENTAT
|
||
|
||
---
|
||
|
||
### Comenzi Oper
|
||
|
||
#### **KLINE** - Local ban
|
||
```
|
||
/KLINE [+/-]<user@host> [<duration> [:<reason>]]
|
||
```
|
||
- Ban local (doar serverul curent)
|
||
- Similar cu GLINE dar local
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **DLINE** - IP line ban
|
||
```
|
||
/DLINE [+/-]<IP> [<duration> [:<reason>]]
|
||
```
|
||
- Ban pe IP direct
|
||
- Similar cu ZLINE
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **SPAMFILTER** - Spam detection
|
||
```
|
||
/SPAMFILTER add <type> <action> <regex> :<reason>
|
||
```
|
||
- Filtrare automată spam
|
||
- Actions: kill, gline, block, warn
|
||
- **Status**: NU IMPLEMENTAT (complex)
|
||
|
||
---
|
||
|
||
### Comenzi Services (SVS*) - PRIORITATE ÎNALTĂ! ⚠️
|
||
|
||
⚠️ **CRITICAL**: Aceste comenzi **EXISTĂ în cod** (`m_svs*.c`) dar **NU sunt activate**!
|
||
Trebuie **înregistrate în parse.c** pentru a funcționa!
|
||
|
||
#### **SVSJOIN** - Force user to join channel
|
||
```
|
||
/SVSJOIN <nickname> <#channel>
|
||
```
|
||
- Forțează user să intre pe canal
|
||
- **Fișier**: `m_svsjoin.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
- **Fix**: Adaugă în parse.c tabel MSG
|
||
|
||
#### **SVSPART** - Force user to part channel
|
||
```
|
||
/SVSPART <nickname> <#channel>
|
||
```
|
||
- Forțează user să părăsească canalul
|
||
- **Fișier**: `m_svspart.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
|
||
#### **SVSNICK** - Force nick change
|
||
```
|
||
/SVSNICK <old_nick> <new_nick> [<timestamp>]
|
||
```
|
||
- Forțează schimbare de nickname
|
||
- **Fișier**: `m_svsnick.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
|
||
#### **SVSMODE** - Force mode change
|
||
```
|
||
/SVSMODE <target> <modes>
|
||
```
|
||
- Forțează schimbare moduri user/canal
|
||
- **Fișier**: `m_svsmode.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
|
||
#### **SVSIDENT** - Set ident
|
||
```
|
||
/SVSIDENT <nickname> <ident>
|
||
```
|
||
- Setează ident pentru user
|
||
- **Fișier**: `m_svsident.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
|
||
#### **SVSQUIT** - Force user quit
|
||
```
|
||
/SVSQUIT <nickname> :<reason>
|
||
```
|
||
- Forțează user să se deconecteze
|
||
- **Fișier**: `m_svsquit.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
|
||
#### **SWHOIS** - Set special whois line
|
||
```
|
||
/SWHOIS <nickname> :<text>
|
||
```
|
||
- Setează linie specială în WHOIS
|
||
- **Fișier**: `m_swhois.c` ✅ EXISTĂ
|
||
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
|
||
|
||
**📝 NOTĂ**: Pentru a activa comenzile SVS*, trebuie:
|
||
1. Verificat că fișierele m_svs*.c sunt compilate în Makefile
|
||
2. Adăugat entries în parse.c (MSG table)
|
||
3. Recompilat IRCd
|
||
|
||
---
|
||
|
||
### Aliasuri Simple
|
||
|
||
#### **SAJOIN** - Force join (alias)
|
||
```
|
||
/SAJOIN <nickname> <#channel>
|
||
```
|
||
- Alias pentru SVSJOIN
|
||
- **Status**: DEPINDE DE SVSJOIN
|
||
|
||
#### **SAPART** - Force part (alias)
|
||
```
|
||
/SAPART <nickname> <#channel>
|
||
```
|
||
- Alias pentru SVSPART
|
||
- **Status**: DEPINDE DE SVSPART
|
||
|
||
#### **SANICK** - Force nick change (alias)
|
||
```
|
||
/SANICK <old_nick> <new_nick>
|
||
```
|
||
- Alias pentru SVSNICK
|
||
- **Status**: DEPINDE DE SVSNICK
|
||
|
||
#### **SAMODE** - Force mode (alias)
|
||
```
|
||
/SAMODE <target> <modes>
|
||
```
|
||
- Alias pentru SVSMODE
|
||
- **Status**: DEPINDE DE SVSMODE
|
||
|
||
---
|
||
|
||
### Moduri User Viitoare
|
||
|
||
#### **+B** - Bot
|
||
- Marchează user ca bot
|
||
- Apare în /WHOIS
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **+W** - Whois notification
|
||
- Notificare când primești /WHOIS
|
||
- **Status**: EXISTĂ (whois_notice în config)
|
||
|
||
#### **+H** - Hide oper (alternative)
|
||
- Alternativă pentru +h
|
||
- **Status**: IMPLEMENTAT în v2.0.1 ca hide_oper
|
||
|
||
#### **+S** - Network service
|
||
- User e network service
|
||
- Protecție specială
|
||
- **Status**: EXISTĂ PARȚIAL (+k)
|
||
|
||
#### **+Z** - Secure connection
|
||
- User conectat prin SSL/TLS
|
||
- Automat detectat
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
---
|
||
|
||
### Moduri Channel Viitoare
|
||
|
||
#### **+f** - Flood protection
|
||
```
|
||
/MODE #channel +f [5j#i1,4k#K,3n#N]:10
|
||
```
|
||
- Protecție automată împotriva flood
|
||
- Actions: lock canal, ban user, etc.
|
||
- **Status**: NU IMPLEMENTAT (complex)
|
||
|
||
#### **+F** - Free nickchange
|
||
```
|
||
/MODE #channel +F
|
||
```
|
||
- Permite nick changes (opposite of +N)
|
||
- **Status**: DEFAULT (NU trebuie mode special)
|
||
|
||
#### **+G** - Filter bad words
|
||
```
|
||
/MODE #channel +G
|
||
```
|
||
- Filtrare cuvinte obscene
|
||
- Necesită badwords.conf
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **+j** - Join throttle
|
||
```
|
||
/MODE #channel +j 5:10
|
||
```
|
||
- Limită 5 join-uri în 10 secunde
|
||
- Anti-flood bots
|
||
- **Status**: NU IMPLEMENTAT
|
||
|
||
#### **+J** - Kick rejoin delay
|
||
```
|
||
/MODE #channel +J 10
|
||
```
|
||
- User kicked nu poate re-join 10 secunde
|
||
- Anti-troll protection
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **+K** - No knock
|
||
```
|
||
/MODE #channel +K
|
||
```
|
||
- Blochează /KNOCK (request invite)
|
||
- **Status**: DEPINDE DE /KNOCK
|
||
|
||
#### **+L** - Redirect on full
|
||
```
|
||
/MODE #channel +L #overflow
|
||
```
|
||
- Redirecționează useri când canalul e plin
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **+P** - Permanent
|
||
```
|
||
/MODE #channel +P
|
||
```
|
||
- Canalul nu dispare când e gol
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
#### **+V** - No invites
|
||
```
|
||
/MODE #channel +V
|
||
```
|
||
- Blochează /INVITE pe canal
|
||
- **Status**: POATE FI ADĂUGAT
|
||
|
||
---
|
||
|
||
## ⚡ FEATURES SPECIALE
|
||
|
||
### Features Implementate
|
||
|
||
#### **WEBIRC** - Web gateway authentication
|
||
```
|
||
WEBIRC <password> <gateway> <hostname> <IP>
|
||
```
|
||
- Autentificare pentru web-to-IRC gateways
|
||
- Păstrează IP real al userului web
|
||
- **Config**: WebIRC blocks în ircd.conf
|
||
- **Documentație**: WEBIRC_EXPLAINED.md
|
||
|
||
#### **SASL** - SASL authentication
|
||
```
|
||
CAP REQ :sasl
|
||
AUTHENTICATE PLAIN
|
||
```
|
||
- Autentificare înainte de conectare
|
||
- Suport PLAIN, EXTERNAL
|
||
- **Fișiere**: m_authenticate.c, m_sasl.c
|
||
|
||
#### **Account Tracking** - Services integration
|
||
```
|
||
ACCOUNT <nickname> <account>
|
||
```
|
||
- Tracking autentificare la servicii
|
||
- Integration cu X/ChanServ
|
||
- **Fișier**: m_account.c
|
||
|
||
#### **GeoIP** - Location detection
|
||
- Detectare automată locație din IP
|
||
- Afișat în WHOIS (pentru operi)
|
||
- **Feature**: FEAT_GEOIP_ENABLE
|
||
- **Config**: F-line în ircd.conf
|
||
|
||
#### **Host Hiding** - IP cloaking
|
||
- Mascarea IP-ului cu hash
|
||
- Format: A1B2C3.4D5E6F.HASH.IP
|
||
- **Styles**: 3 stiluri disponibile
|
||
- **Feature**: FEAT_HOST_HIDING_STYLE
|
||
|
||
#### **SSL/TLS** - Secure connections
|
||
- Suport conexiuni criptate
|
||
- STARTTLS și SSL direct
|
||
- **Feature**: FEAT_SSL_CERTFILE
|
||
- **Port**: Configurat în Port blocks (ssl = yes)
|
||
|
||
#### **Extended Bans** - Advanced ban masks
|
||
```
|
||
/MODE #channel +b ~a:AccountName (ban by account)
|
||
/MODE #channel +b ~c:#channel (ban if on channel)
|
||
/MODE #channel +b ~r:realname (ban by realname)
|
||
```
|
||
- Ban-uri avansate pe diverse criterii
|
||
- **Feature**: FEAT_EXTBANS
|
||
- **Documentație**: doc/extendedbans.txt
|
||
|
||
#### **Halfops** - Half operators
|
||
- Status @op și +voice
|
||
- Privilegii medii
|
||
- **Feature**: FEAT_HALFOPS
|
||
|
||
#### **Exceptions** - Ban exceptions
|
||
- +e mode pentru except de la bans
|
||
- **Feature**: FEAT_EXCEPTS
|
||
|
||
---
|
||
|
||
### Features ce pot fi Adăugate
|
||
|
||
#### **Cloaking Advanced** - Diverse algoritme
|
||
- Multiple hash algorithms
|
||
- Custom cloaking patterns
|
||
- **Status**: POATE FI ÎMBUNĂTĂȚIT
|
||
|
||
#### **Flood Protection** - Anti-flood automat
|
||
- Detectare automată flood
|
||
- Rate limiting per user/channel
|
||
- **Status**: PARȚIAL (manual cu modes)
|
||
|
||
#### **Bad Words Filter** - Filtrare automată
|
||
- Lista cuvinte interzise
|
||
- Action: warn, kick, ban
|
||
- **Status**: NU IMPLEMENTAT
|
||
|
||
#### **Nick Protection** - Protecție nickname
|
||
- Auto-recover pentru nick-uri rezervate
|
||
- Integration services
|
||
- **Status**: DEPINDE DE SERVICII
|
||
|
||
#### **Channel Logs** - Logging canale
|
||
- Log automat canale specifice
|
||
- Pentru audit/moderare
|
||
- **Status**: NU IMPLEMENTAT
|
||
|
||
#### **Anti-Spam** - Detecție spam avansată
|
||
- Pattern matching
|
||
- Bayesian filtering
|
||
- **Status**: NU IMPLEMENTAT (complex)
|
||
|
||
---
|
||
|
||
## 📖 DOCUMENTAȚIE SUPLIMENTARĂ
|
||
|
||
### Fișiere Doc/ Disponibile
|
||
|
||
- **doc/modes.txt** - Explicații detaliate moduri
|
||
- **doc/extendedbans.txt** - Extended bans examples
|
||
- **doc/readme.features** - Lista features disponibile
|
||
- **doc/features.txt** - Configurare F-lines
|
||
- **doc/readme.who** - Advanced /WHO usage
|
||
- **doc/snomask.txt** - Server notice masks
|
||
- **doc/p10.txt** - Protocol P10 documentation
|
||
|
||
### Markdown Docs (pentru admini)
|
||
|
||
- **SECRET_STEALTH_MODE.md** - Stealth oper features (CONFIDENȚIAL!)
|
||
- **SOLUTIA_FINALA_FLAG_HIDEOPER.md** - Stealth WHOIS implementation
|
||
- **STEALTH_OPER_KILL_MESSAGES.md** - Stealth KILL messages
|
||
- **FIX_HIDE_CHANNELS_STEALTH.md** - Hide channels functionality
|
||
- **WEBIRC_EXPLAINED.md** - WebIRC configuration
|
||
- **SPOOFHOST_EXPLAINED.md** - Spoof host setup
|
||
- **PSEUDO_EXPLAINED.md** - Pseudo commands
|
||
- **SNOMASK_EXPLAINED.md** - Server notice masks
|
||
- **CRULE_EXPLAINED.md** - Connection rules
|
||
|
||
---
|
||
|
||
## 🎯 REZUMAT
|
||
|
||
### Statistici Comenzi
|
||
|
||
- **Comenzi User**: ~50 comenzi disponibile ✅
|
||
- **Comenzi Oper**: ~30 comenzi administrative ✅ **FUNCȚIONALE**
|
||
- **Comenzi SVS***: ~8 comenzi ❌ **NEFUNCȚIONALE** (există cod dar NU sunt activate)
|
||
- **Comenzi Server**: ~25 comenzi interne ✅
|
||
- **TOTAL Funcțional**: ~105 comenzi active
|
||
|
||
⚠️ **NOTĂ IMPORTANTĂ**: Comenzile SVS* (SVSJOIN, SVSPART, SVSNICK, etc.) **NU FUNCȚIONEAZĂ** în versiunea curentă!
|
||
Codul există în fișiere `m_svs*.c` dar comenzile **NU sunt înregistrate în parse.c**!
|
||
|
||
### Statistici Moduri
|
||
|
||
- **User Modes**: 15+ moduri disponibile ✅
|
||
- **Channel Modes**: 30+ moduri disponibile ✅
|
||
- **Extended Bans**: 5+ tipuri ✅
|
||
|
||
### Features Majore
|
||
|
||
- ✅ Stealth Oper Mode (v2.0.1)
|
||
- ✅ SASL Authentication
|
||
- ✅ SSL/TLS Support
|
||
- ✅ GeoIP Location
|
||
- ✅ Host Hiding/Cloaking
|
||
- ✅ Extended Bans
|
||
- ✅ WebIRC Gateway
|
||
- ✅ Services Integration
|
||
|
||
---
|
||
|
||
## 🚀 DEZVOLTARE VIITOARE
|
||
|
||
### Prioritate MAXIMĂ ⚠️ (Cod există, trebuie activat!)
|
||
|
||
1. **SVS* Commands** - Services commands
|
||
- SVSJOIN, SVSPART, SVSNICK, SVSMODE
|
||
- SVSIDENT, SVSQUIT, SWHOIS
|
||
- **Status**: Cod există în `m_svs*.c` dar NU e înregistrat în parse.c
|
||
- **Efort**: SCĂZUT (doar înregistrare în parser)
|
||
- **Impact**: MARE (comenzi esențiale pentru servicii)
|
||
- **Timp estimat**: 2-3 ore (verificare + testare)
|
||
|
||
### Prioritate ÎNALTĂ
|
||
|
||
1. **SPAMFILTER** - Anti-spam automat
|
||
2. **+f mode** - Flood protection channels
|
||
3. **Bad words filter** - Content filtering
|
||
4. **+j mode** - Join throttle
|
||
|
||
### Prioritate MEDIE
|
||
|
||
1. **KNOCK** - Request invite
|
||
2. **SA* aliases** - Simplified commands (SAJOIN, SAPART, etc.) [DEPIND DE SVS*]
|
||
3. **+G mode** - Bad words on channel
|
||
4. **+L mode** - Redirect overflow
|
||
|
||
### Prioritate SCĂZUTĂ
|
||
|
||
1. **Channel logs** - Audit functionality
|
||
2. **Advanced cloaking** - Multiple algorithms
|
||
3. **+B mode** - Bot identification
|
||
4. **DCCALLOW** - DCC whitelist
|
||
|
||
---
|
||
|
||
## ⚠️ ATENȚIE - Comenzi SVS* NEFUNCȚIONALE!
|
||
|
||
### Ce trebuie făcut pentru a activa SVS*:
|
||
|
||
1. **Verificare fișiere**:
|
||
```bash
|
||
ls -la ircd/m_svs*.c ircd/m_swhois.c
|
||
# Ar trebui să existe toate fișierele
|
||
```
|
||
|
||
2. **Verificare Makefile**:
|
||
```bash
|
||
grep "m_svs" ircd/Makefile.in
|
||
# Ar trebui să fie în lista de compilare
|
||
```
|
||
|
||
3. **Adăugare în parse.c**:
|
||
```c
|
||
// În ircd/parse.c, în tabelul de comenzi:
|
||
{ MSG_SVSJOIN, TOK_SVSJOIN, 0, MAXPARA, MFLG_SLOW, 0, {
|
||
m_ignore, m_ignore, ms_svsjoin, m_ignore, m_ignore
|
||
}},
|
||
// Similar pentru toate SVS* commands
|
||
```
|
||
|
||
4. **Recompilare**:
|
||
```bash
|
||
make clean && make
|
||
make install
|
||
```
|
||
|
||
### De ce nu funcționează ACUM:
|
||
|
||
- ✅ Codul **EXISTĂ** în `m_svs*.c` files
|
||
- ❌ Comenzile **NU SUNT ÎNREGISTRATE** în `parse.c`
|
||
- ❌ Parser-ul **NU ȘTIE** de aceste comenzi
|
||
- ❌ Când dai `/SVSJOIN`, primești: **"Unknown command"**
|
||
|
||
### Impact:
|
||
|
||
- **Servicii IRC** (X, ChanServ, NickServ) **NU POT** folosi SVS* pentru control users
|
||
- **Force join/part/nick** **NU FUNCȚIONEAZĂ**
|
||
- **Integration cu Anope/Atheme** **LIMITATĂ**
|
||
|
||
---
|
||
|
||
## 📞 PENTRU ADMINI
|
||
|
||
### Activare Features
|
||
|
||
Majoritatea features se activează în `ircd.conf` prin **F-lines**:
|
||
|
||
```conf
|
||
features {
|
||
"GEOIP_ENABLE" = "TRUE";
|
||
"HOST_HIDING_STYLE" = "3";
|
||
"HALFOPS" = "TRUE";
|
||
"EXTBANS" = "TRUE";
|
||
"EXCEPTS" = "TRUE";
|
||
# etc...
|
||
};
|
||
```
|
||
|
||
### Testing Comenzi
|
||
|
||
```bash
|
||
# În IRC ca oper:
|
||
/STATS m # Command usage
|
||
/STATS f # Features active
|
||
/PRIVS # Your privileges
|
||
```
|
||
|
||
---
|
||
|
||
**Creat de**: Senior Software Architect
|
||
**Data**: 23 Februarie 2026
|
||
**Versiune**: u2.10.12.19+UnderChat(2.0.1)
|
||
**Status**: ✅ DOCUMENTAȚIE COMPLETĂ
|
||
|
||
---
|
||
|
||
**📚 DOCUMENTAȚIE COMPLETĂ PENTRU 100+ COMENZI ȘI 45+ MODURI! 🎉**
|
||
|