ircu2/COMENZI_SI_MODURI_COMPLETE.md

1571 lines
34 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📋 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ă 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 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 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 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! 🎉**