IRCd ( Internet Relay Chat Daemon ) este un server care rulează protocolul Internet Relay Chat (IRC) , permițând oamenilor să comunice între ei prin Internet (care implică mesagerie text în timp real).
Serverul acceptă conexiuni de la un client IRC pe un anumit port . Când un server face parte dintr-o rețea IRC, menține și conexiuni la alte servere/daemoni.
Termenul ircd se referea inițial la o singură varietate de software, dar în cele din urmă a ajuns să se refere la orice implementare a unui demon IRC. Cu toate acestea, versiunea originală este încă distribuită sub același nume.
Autorul termenului este Jarko Oikarinen (WiZ pe IRC) din 1989.
În primele versiuni ale protocolului, IRC nu a acceptat multe dintre caracteristicile sale actuale, cum ar fi conductele numite și operatorii acestora. Canalele erau numerotate, iar un canal zero însemna nicio conexiune.
Deja în versiunea 2.5, canalele au primit nume, iar în 2.7 au înlocuit complet numerele și a apărut posibilitatea de a interzice (modul +b). Versiunea 2.7 a fost marcată de controverse care au dus la apariția EFNet . irc2.8 a adăugat „&canale” (canale care sunt doar pe acest server, nu întreaga rețea) și „!canale” (care sunt teoretic protejate de captură ), această versiune este baza de la care s-au format toate implementările actuale.
Porturile 194 ("irc"), 529 ("irc-serv") și 994 ("ircs") au fost alocate oficial IRC. Cu toate acestea, aceste porturi sunt în intervalul de privilegii (0-1024), ceea ce pe sisteme asemănătoare Unix înseamnă că demonul va trebui să aibă privilegii de superutilizator pentru a deschide porturile. Din motive de securitate, acest lucru nu este permis.
De obicei, porturile pentru un proces IRCd sunt de la 6665 la 6669, iar implicit este 6667. Acestea pot fi deschise de programele oricărui utilizator și, prin urmare, sunt utilizate pe scară largă.
Rularea unui server IRC, care deservește în mod obișnuit câteva mii de utilizatori simultan, necesită ca un număr mare de conexiuni TCP să fie menținute deschise pentru perioade lungi, motiv pentru care unele ircd-uri au mai multe fire .
Ca urmare, cele mai bune platforme pentru ircd sunt cele care oferă mecanisme eficiente pentru gestionarea unui număr mare de conexiuni pe un singur fir. Linux oferă această capacitate sub formă de epoll , în nuclee ulterioare 2.4.x. FreeBSD (din 4.1) oferă kqueue . Solaris are /dev/poll din versiunea 7. Diferențele dintre aceste noi interfețe pot fi critice. Programatorii de la IRCU au menționat o creștere a capacității practice a serverului de la 10.000 la 20.000 de utilizatori.
Unele IRC-uri acceptă SSL , altele încă folosesc tunelul generic Stunnel . Nu este oficial, dar cel mai frecvent utilizat port pentru conexiunile SSL IRCd este 6697.
Demonii IRC acceptă IPv4 , iar unii acceptă și IPv6 .
Jupping IRC se numește de obicei blocarea unui canal numit sau a unui pseudonim pe un server sau pe un server de rețea sau de rețea.
Trecerea peste un pseudonim sau un server este de obicei utilă atunci când anumiți identificatori sunt unici. Folosind un identificator, puteți obține un drept exclusiv asupra unui nume, în timp ce niciunul dintre utilizatori nu poate beneficia de acesta.
În practică, operatorii IRC folosesc oops pentru a face canalele sau poreclele inaccesibile [1] O capotă de canal este o interdicție de canal, ceea ce înseamnă că nu vă veți putea alătura atunci când vă conectați la un server, dar alte servere pot permite utilizatorului să facă acest lucru. În acest fel puteți bloca canalele problematice.
O-line , prescurtare pentru Operator Line, este o linie de cod din configurația demonului care specifică ce utilizatori pot deveni operatori și ce privilegii vor primi apoi. O-line setează porecla, parola, steagurile operatorului și masca de gazdă a operatorului specific. Un server poate avea multe linii O în funcție de nevoile serverului și ale rețelei [2] .
Steagurile unui operator descriu privilegiile acestuia. Unii operatori pot fi atribuiți rutarea rețelei, alții păstrează ordinea. [3] Indicatoarele disponibile variază în funcție de demonul pe care îl utilizați. Cu cât mai multe caracteristici în demon, cu atât mai multe steaguri și serverele tradiționale au mai puține.
De asemenea, puteți seta o restricție de gazdă prin mască sau adresa IP . În acest caz, operatorul trebuie să aibă un IP static, dar acesta va fi mai sigur.
k-line sau kill line (și k:line ) este un termen aplicat unui anumit utilizator. Adăugarea unui utilizator la k-line înseamnă o interdicție pe acest server, fie pentru un anumit timp, fie complet. Astfel de utilizatori le este interzis să se conecteze la server. Astfel de linii încep cu litera K în fișierul de configurare.
Gline sau AKill este o interdicție globală a rețelei.
În unele IRCd-uri, cum ar fi UnrealIRCd , Zline este similar cu g-line , dar este aplicat intervalului IP al clientului și este considerat o ultimă soluție. Deoarece Zline nu are o verificare a numelui de utilizator (identd) sau o soluție de gazdă, acesta poate fi aplicat unui utilizator înainte ca acesta să trimită informații despre conexiune. În plus, Zline este mai eficient și folosește mai puține resurse decât Gline și Kline atunci când interzice un număr mare de utilizatori. Deoarece nu toate IRC-urile sunt la fel, unele precum Charybdis folosesc „Dline” în loc de Z.
Pe unele IRC-uri, cum ar fi UnrealIRCd, Qline nu permite o poreclă sau gruparea lor după mască. Acesta este cel mai frecvent utilizat pentru a interzice poreclele de serviciu (cum ar fi „X” sau NickServ ) sau pentru a interzice utilizarea poreclelor operatorilor de către non-operatori. Unii demoni renunță la conexiunea atunci când utilizatorul folosește un pseudonim Qline , iar alții necesită o schimbare a poreclei sau nu fac nimic până când utilizatorul se conectează din nou. Charybdis folosește „Xline” pentru asta.
Internet Relay Chat | |||||||||
---|---|---|---|---|---|---|---|---|---|
Noțiuni de bază | |||||||||
Liste și comparații |
| ||||||||
Protocoale înrudite | |||||||||
roboții |
| ||||||||
Daemoni IRC |
| ||||||||
Servicii IRC | |||||||||
Bouncers și proxy |
| ||||||||
retelelor | |||||||||
| |||||||||
|