IRCd, mis tähendab Internet Relay Chat server programmi, on programm, server tarkvara, mis kasutab IRC protokolli. See võimaldab inimestel üksteisega internetis rääkida. Nad vahetavad tekstisõnumeid reaalajas.

Server võtab IRC-klientidelt vastu ühendusi teatud TCP-portide grupil. Kui server on osa IRC-võrgustikust, hoiab ta ka ühe või mitu ühendust teiste serverite/daemonitega.

Sõna ircd viitas kunagi ainult ühele tarkvarale.

Mis on IRCd täpsemalt ja milleks seda kasutatakse

IRCd on serveriprogramm, mis haldab mitut samaaegset kasutajaühendust, edastab sõnumeid kanalite (channel) ja privaatvestluste vahel ning rakendab reegleid nagu kasutajate nimed (nick), õigused ja kanalite sätted. IRCd võimaldab luua avalikke või privaatseid vestlusruume ning siduda kokku mitmeid servereid, et moodustada suuremaid IRC-võrke.

Kuidas IRCd töötab

  • Klientidelt tulevad ühendused: kasutajad ühenduvad IRC-klientidega (näiteks mIRC, HexChat, WeeChat) serveri TCP-pordi kaudu. Levinud mitte-krüpteeritud port on 6667; krüpteeritud (TLS/SSL) ühendused kasutavad sageli porti 6697.
  • Teave edasi-tagasi: server võtab vastu sõnumeid klientidelt ja edastab need kas samale serverile ühendatud kasutajatele või teistele serveritele, kui server on osa suuremast võrgust.
  • Serverite linkimine: kui IRCd on seotud teiste serveritega, sünkroniseerivad need kanaleid, kasutajate nimekirju ja edastavad sõnumeid üle kogu võrgustiku. Selline ühendus võib mõnikord põhjustada nn netsplit’e, kui serverid vahel tekib ajutine ühenduse katkemine.

Põhifunktsioonid

  • Kanalite haldus: loomine, õiguste määramine (ops, voiced jmt), reeglid ja kanali parameetrid.
  • Kasutajahaldus: nickide registreerimine (kui teenused on olemas), autendimine, operaatorite (IRC-op) õigused ning keelud ja blokkide haldus.
  • Teenused: paljud võrgud kasutavad lisaprogramme (NickServ, ChanServ, MemoServ jt), mis pakuvad registreerimist, kanali kinnitamist ja automatiseeritud haldust. Need võivad töötada eraldi protsessina või olla IRCd-ist eraldatud.
  • Logimine ja audit: sõnumite logimine, administraatori käsud ja statistika, mis aitavad haldajal jälgida tegevust ja tõrkeid.

Turvalisus ja haldus

IRCd haldavad tavaliselt serverioperaatorid (IRC-op), kes saavad kasutada spetsiaalseid käske kasutajate eemaldamiseks, keelamiseks (K-line, G-line jms) või serveri konfiguratsiooni muutmiseks. Tänapäevased IRCd tarkvarad toetavad TLS/SSLi, autentimist väliste vahenditega (nt SASL), IP-blokeeringuid, rate limiting’ut ja muid turvameetmeid, et vähendada pahatahtlikku tegevust nagu spam või DoS-rünnakud.

Levinud tarkvarad ja variandid

Kuigi ircd oli kord ühe konkreetse serveritarkvara nimi, on nüüdseks olemas mitmeid erinevaid implementeeringuid ja variatsioone, näiteks Hybrid, UnrealIRCd, InspIRCd jt. Igaühel neist on oma funktsioonid, konfiguratsioonifaili formaat ja lisamoodulid — mõned keskenduvad jõudlusele, teised turvalisusele või teenuste tihedale integreerimisele.

Kus ja miks IRCd kasutatakse tänapäeval

  • Kogukondade reaalajas suhtlemiseks (avangardsed tehnoloogia- ja tarkvararühmad, globaalsed foorumid).
  • Toe ja koostöö kanalites, kus kiire tekstipõhine suhtlus on vajalik.
  • Automaatika ja botid: IRCd võimaldab käivitada hulku botsid, mis jälgivad kanaleid, pakuvad teateid või automatiseerivad töid.

Alustamine ja konfiguratsioon

IRCd seadistamine nõuab tavaliselt teadmisi serverihaldusest: paigaldus, pordi/ühenduste seadistamine, TLS sertifikaatide lisamine, operaatorite määramine ja, kui soovitakse, linkimine teiste serveritega. Dokumentatsioon iga IRCd-implementatsiooni kohta juhatab samm-sammult läbi vajalikud konfiguratsioonid ja turvameetmed.

IRCd on lihtne, kuid võimas lahendus reaalaja tekstisuhtluseks ning selle paindlikkus ja hajutatud arhitektuur on muutnud IRCi püsivalt kasutatavaks platvormiks alates selle loomisest.