IRC

Allikas: Vikipeedia
Disambig gray.svg  See artikkel räägib võrgusuhtluse ühest protokollist, IRC on ka Royal Ocean Racing Club võistluspurjetamise etteandesüsteem [1].

Rühmadiskussioon Internetis (IRC, ing.k. Internet Relay Chat) on protokoll reaalajas Interneti kaudu tekstsõnumite vahetamiseks. Selle peamine eesmärk on võimaldada gruppidevahelist suhtlust foorumites, mida nimetatakse kanaliteks (ing.k. channels), kuid lisaks lubatud on nii üks-ühele suhtlus privaatsõnumitega kui ka andmevahetus, näiteks failide jagamine.[2][3][4][5]

IRC protokolli kirjutas 1988. aastal soomlane Jarkko Oikarinen. Klienttarkvara on saadaval kõigile populaarsematele operatsioonisüsteemidele, mis võimaldavad suhtlust Internetiga. Detsembris 2011 teenindab sada suurimat IRC võrgustikku umbes poolt miljonit kasutajat.[6][7]

Ekraanitõmmis KVIrc IRC klientprogrammist.

Ajalugu[muuda | redigeeri lähteteksti]

IRC on kirjutatud Jarkko Oikarineni poolt augustis 1988 eesmärgiga asendada teatetahvlisüsteemis Oulubox kasutusel olnud programm MultiUser Talk. Oikarinenit inspireeris suhtlussüsteem Bitnet Relay, mis töötas BITNET'is.[8]

Esimene IRC server väljapanekul Soomes, Oulu Ülikoolis.

Tehniline informatsioon[muuda | redigeeri lähteteksti]

IRC on vabalt kättesaadava lähtekoodiga protokoll, mis kasutab TCP protokolli ning lisavõimalusena ka TLS protokolli. Iga IRC server suudab ühenduda teiste IRC serveritega luues IRC võrgustiku. Kasutajad ühenduvad IRC serveriga kasutades klienttarkvara. Klienttarkvara ja servertarkvara on saadaval mitmete erinevate versioonidena, näiteks klientprogrammid mIRC ja XChat ning originaalne servertarkvara IRCd. Enamik IRC serveritest ei nõua kasutajalt eelnevat registreerumist, siiski on ühendumiseks vajalik aliase sisestus.[9][10][11]

IRC oli algupäraselt tekstipõhine protokoll, mis kasutas IANA poolt määratud 194/TCP porti. Tegelikult aga kasutati tavaliselt 6667/TCP ja selle läheduses olevaid porte (näiteks TCP pordid 6660-6669, 7000) vältimaks vajadust käivitada IRCd tarkvara superkasutaja õigustega.[12][13][14]

Protokoll määras märkide suuruseks 8 bitti, kuid ei vajanud kindlat kodeeringut. See võis tekitada probleeme erineva klienttarkvara ja/või platvormiga kasutajate suhtluses.[15]

Kõik praegu kasutusel olevad klient-server IRC protokollid pärinevad IRC2 serveri irc2.4.0 protokolli versioonist, mis on dokumenteeritud RFC 1459 's. RFC 1459 publitseerimisest saati on uute, irc2.10 versioonis lisandunud võimaluste kohta avaldatud mitu sarnast dokumenteeringut (RFC 2810, RFC 2811, RFC 2812, RFC 2813), kuid need muutused protokollis ei ole leidnud laialdast kasutust.

Vaatamata mitmetele avaldatud IRC protokolli spetsifikatsioonidele ei ole IRC protokollil ametlikku spetsifikatsiooni, seetõttu on protokoll dünaamiline. Eelnevalt mainitud RFC spetsifikatsioonidele on rangelt üles ehitatud väga vähesed IRC serverid ning pea mitte ühtegi klientprogrammi.

1998. aastal tõi Microsoft välja laienduse IRC protokollile - IRCX'i, kuid hiljem lõpetati IRCX'i toetava tarkvara tootmine ning keskenduti .NET Messenger Service (MSN) arendamisele.[16]

Inspireerituna IRCX protokollist on net-bits.net poolt loodud uus IRC protokoll IRCwx (ing. k. IRC web extension).[17]

Standardne IRC serverite võrgu topoloogiline struktuur on puu. Sõnumeid edastatakse lühimat teed pidi, kuid võrgu seisu teatakse igale serverile. Sellisel ülesehitusel on mitmeid puuduseid. Vigane või pahatahtlik server võib võrgule põhjustada kahju ja iga struktuurimuutuse korral langeb võrgule suur koormus.[18][19][20]

Käsud ja vastused[muuda | redigeeri lähteteksti]

IRC on reapõhise struktuuriga. Klientprogramm saadab serverile üherealisi sõnumeid saades neile vastuseid ning koopiaid teiste kasutajate poolt serverile saadetud sõnumitest. Enamikus klientprogrammidest saavad kasutajad sisestada käske lisades nende ette märgi "/". Olenevalt käsust võib seda interpreteerida klientprogramm või, juhul kui klientprogramm ei tuvasta käsku, saadetakse käsk edasi serverile.[21][22]

Protokolli iseärasuste tõttu ei suuda automatiseeritud süsteemid alati korrektselt grupeerida konkreetset sõnumit selle vastusega.[23]

Näited mõnedest käskudest:[24]

  • /join - sisestades käsu kujul /join #kanalinimi saab kasutaja ühenduda kanaliga
  • /me - sisestades käsu kujul /me (teeb midagi) saab kasutaja edastada tegevust väljendava sõnumi. Näiteks sisestades /me lehvitab kuvatakse sõnum *alias lehvitab.
  • /msg - sisestades käsu kujul /msg kellegialias sõnum saadetakse määratud kasutajale privaatsõnum.
  • /nick - sisestades käsu kujul /nick uusalias saab kasutaja muuta oma aliast.
  • /notice - sisestades käsu kujul /notice kellegialias sõnum saab kasutaja saata kellelegi privaatsõnumi kanali peaaknas (avamata lisaks privaatdialoogi akent).
  • /part - sisestades käsu kujul /part või /partall saab kasutaja lahkuda vastavalt ühest kanalist või kõikidest.
  • /ping - sisestades käsu kujul /ping kellegialias saab kasutaja kontrollida ajakulu andmete edastamiseks tema ja teise kasutaja vahel.
  • /query - sisestades käsu kujul /query kellegialias sõnum saab kasutaja sarnaselt /msg käsule saata teisele kasutajale privaatsõnumi uues aknas.
  • /ignore - sisestades käsu kujul /ignore kellegialias saab kasutaja ignoreerida määratud kasutaja poolt saadetavaid sõnumeid.
  • /whois - sisestades käsu kujul /whois kellegialias saab kasutaja vaadata informatsiooni teise kasutaja kohta.
  • /chat - sisestades käsu kujul /chat kellegialias saab kasutaja privaatselt suhelda teise kasutajaga. Kasutades seda käsku saab suhelda isegi pärast serverist lahkumist.
  • /help - sisestades käsu kujul /help saab kasutaja vaadata abilehti.

Kanalid[muuda | redigeeri lähteteksti]

Põhiline viis kasutajatega suhtlemiseks kasutades olemasolevat IRC sessiooni on läbi kanali. Võrgus olevaid kanaleid saab kuvada käsuga LIST, mis kuvab kõigi konkreetses võrgus olevate kanalite nimekirja, mis ei ole režiimides +s või +p.[25][26]

Kasutajad saavad kanaliga liituda kasutades JOIN käsku, tavaliselt kujul /join #kanalinimi. Pärast kanaliga liitumist edastatakse sellesse kanalisse saadetud sõnumid kõigile sama kanaliga liitunud kasutajatele.[27]

Kogu IRC võrgust kättesaadavate kanalite nime ette lisatakse märk '#' , serverile omaste kanalite nimede ette aga '&' . Vähem kasutusel olevad märgid on näiteks '+' - märkimaks operaatoriteta kanaleid ja '!' - ajatemplit kasutavate kanalite jaoks ajatempleid tavaliselt mittekasutavates võrkudes.[28][29][30]

Režiimid[muuda | redigeeri lähteteksti]

Kanalitel ja kasutajatel võivad olla töörežiimid (ing.k. modes), mida väljendavad ühekordsed tõstutundlikud tähed[31] ning saab määrata käsuga MODE.[32] Kasutajate režiimid ning kanalirežiimid on erinevad ning sama täht võib tähendada kummalgi juhul erinevat režiimi (näiteks kasutajarežiim "i" tähistab nähtamatut olekut, aga kanalirežiim "i" ainult kutse alusel sisenemist[33]). Režiime saab tavaliselt määrata kasutades režiimikäsku, kus määratakse sihtmärk (kasutaja või kanal), rakendatavad režiimid ("+" - režiimi lisamiseks, "-" - eemaldamiseks) ning võimalikud lisaparameetrid.

Mõned kanalirežiimid ei vaja parameetreid ning teatud juhtudel rakenduvad kanali asemel seal olevale kasutajale või muudavad kanaliga seotud nimekirja maski terve kanali režiimi asemel.[34] Režiime, mis rakenduvad kanalis olevatele kasutajatele, tähistatakse kasutajate aliastele lisatavate sümbolitega.[35] Vastav informatsioon saadetakse serveri poolt kasutaja liitumisel kanaliga.[27] Mitmetes klientprogrammides on režiimisümbol nähtav kanaliga liitunud kasutajate nimekirjas.

Korrektseks sõnumite edastamiseks ning kanalirežiimide järgimiseks on klientprogrammidel vaja teada kanalirežiimide ning kasutajatele rakenduvate režiimide puhul kasutajanimedele lisanduvate sümbolite tähendusi. Varajastes IRC versioonides pidi see olema püsiprogrammeeritud klientprogrammi, kuid praeguseks on loodud juba standardseks nimetatav laiendus ISUPPORT, mis saadab klientprogrammile režiimide kohta käiva informatsiooni ühenduse loomisel.[36][37]

IRCs on väike disainiviga seoses nende kanalirežiimidega, mis rakenduvad kanalis olevatele kasutajatele. Esialgne serveri poolt saadetav sõnum sisaldab infot hetkel kehtiva reziimi kohta, kuid juhul, kui kanalile on rakendatud mitu erinevat režiimi, saab kasutaja infot ainult kõrgema tähtsusega režiimi kohta.[35] Näiteks, kui vastselt kanaliga liitunud kasutajale omistatakse vaikimisi nii operaatori (+o) kui ka kanalihääle staatus, siis kasutaja saab teada ainult operaatori staatusest. Sellele probleemile on lahendusi, kuid nad ei ole laialt kasutatavad.

Standardsed (RFC1459) režiimid[muuda | redigeeri lähteteksti]

Kasutajarežiimid
Täht Sümbol Kirjeldus
i Nähtamatu - ei ole võimalik näha ühise kanali olemasoluta või teadmata täpset aliast
s võtab vastu serveri teateid
w võtab vastu kõigile operaatoritele saadetud teateid (wallops)[38][39]
o kasutaja omab IRC operaatori staatust (ircop)
Kanalirežiimid
Täht Sümbol Parameeter Kirjeldus
o @ Staatust omandava kasutaja alias Kanalioperaator - saab muuta kanalirežiime, kasutajaid eemaldada jpm.
s Salajane kanal — ei näidata kanalite nimekirjas
p Privaatne kanal - RFC 1459 järgi väljendab sellist kanalit kanalite nimekirjas lühend "prv"
n Kasutajad ei saa kanaliväliselt saata kanalisse sõnumeid
m Kanal on modereeritud (ainult need kasutajad, kes omavad operaatori või kanalihääle staatust saavad kanalisse sõnumeid saata)
i Kanaliga saab liituda ainult kutsega
t Kanali "teemat" (ing.k channel topic) saavad muuta ainult operaatorid
l Piirarv Määrab kanaliga ühenduda võivate kasutajate arvu (kui kanal on täis, ei saa uued kasutajad liituda)
b Keelatav mask (lubatud alias!kasutaja@host metamärkidega) Keelab määratud hostimaski(de)l kanaliga ühenduda
v + staatust omandava kasutaja alias Annab määratud kasutajale kanalihääle staatuse
k Uus kanali võti Määrab uue kanali võtme, ainult võtit teadvad kasutajad saavad kanaliga liituda

Enne serveriga või IRC võrguga ühendumist on soovitatav tutvuda konkreetse serveri või IRC võrgu dokumentatsiooniga, kuna mitmed IRC programmeerijad on lisanud režiime või muutnud olemasolevate režiimide olemust.[40][41][42][43]

IRC operaatorid[muuda | redigeeri lähteteksti]

Mõned kasutajad omavad suuremaid õiguseid teatud serveril või tervel võrgul, neid kutsutakse IRC operaatoriteks. Kuna IRCd leiab rakendust erinevatel viisidel on ka iga võrgu/serveri IRCd operaatoritel erinevad õigused. RFC 1459 väidab, et IRC operaatorid on "vajalik kurjus" (ing.k. "neccessary evil") hoidmaks IRC võrku puhtana. IRC operaatoritel on näiteks õigused ühenduda ning lahti ühenduda serveritest, visata välja kasutajaid ja täielikult keelata IP aadresse ning terveid alamvõrke. Lisaks võib operaatoritel olla õigus kustutada kasutajate ligipääsukeelde teatud kanalile, lubada endal ligi pääseda tavapäraselt keelatud kanalile, võimaldada ligipääsu kõigile võrgus olevatele kanalitele jne.[44]

IRC kanalioperaator on IRC kanali kasutaja, kes haldab seda kanalit. IRC kanalioperaatorid on kergesti äratuntavad sümboli "@" või ladina tähe "+o"/"o" järgi. Tavapäraselt võib kanalioperaator:

  • kasutajat välja visata
  • keelata kasutajale ligipääsu
  • anda teistele kasutajatele kanalioperaatori või kanalihääle staatust
  • muuta IRC kanali teemat
  • muuta IRC kanali töörežiime

Hostimaskid[muuda | redigeeri lähteteksti]

Hostimask on unikaalne IRC serveriga ühendatud klientprogrammi identifikaator.[45][46] IRC serverid, IRC teenused ning teised kliendid, kaasa arvatud IRC botid, võivad kasutada hostimaski konkreetse IRC sessiooni kindlaks tegemiseks.

Hostimaski formaat on alias!kasutaja@host. Sarnase kirjapildi tõttu võib hostimaski ajada segamini e-maili aadressiga.

Aliase osa hostimaskist määrab kasutaja ühenduse loomisel ning seda võib muuta ka ühenduse käigus. Kasutaja osa hostimaskist edastab klientprogramm kasutades ident protokolli.[47] Kui klientprogrammil puudub ident, siis kasutatakse ühenduse loomisel määratud aliast, lisades ta ette tilde. [48]

Hostimaski hosti osa sisaldab kasutaja hostimaski. Kui kasutaja IP-aadressi ei ole võimalik tõlgendada hostinimeks kasutatakse, siis kasutatakse IP-aadressi selle asemel.

Võrgud[muuda | redigeeri lähteteksti]

Maailmas on kasutusel tuhandeid erinevatel servertarkvara versioonidel töötavaid IRC võrke, kuid kõik on ligipääsetavad suvalise klienttarkvaraga, kuna vaatamata suurele versioonide hulgale on kasutatav IRC protokoll kõikjal väga sarnane.

Suurimad IRC võrgud on traditsiooniliselt grupeeritud kui "Suur Nelik" - edetabelite tipus olevate võrkude tunnus.[49][50][51][52]

Ajalooliselt olid "Suures Nelikus":

Praegu on "Suures Nelikus":

Klienttarkvara[muuda | redigeeri lähteteksti]

Erinevate operatsioonisüsteemide populaarseimad klientprogrammid on:

Kõrgetasemelised programmid võivad olla ka IRC klientprogrammide platvormiks. Näiteks:

Tänapäeva IRC[muuda | redigeeri lähteteksti]

IRC protokoll on oma eluaja jooksul palju muutunud. Uued servertarkvara versioonid on lisanud mitmeid uusi võimalusi:

  • Teenused: võrgu poolt juhitavad botid, mis hoolitsevad aliaste ja kanalite registreerimise eest ning saadavad sõnumeid võrgust väljas olevatele kasutajatele.
  • Lisarežiimid: originaalversioonile lisaks on uutes serverites võimalik kasutada mitmeid lisavõimalusi, näiteks tekstist värvikoodide eemaldamist või kasutaja hostimaski varjamist rünnakute vältimiseks.
  • Proksi tuvastamine: suurem osa tänapäeva serveritest toetavad kasutajate tuvastamist, kes on püüdnud ühenduda serveriga läbi valesti konfigureeritud või ekspluateeritud proksi serveri, ning nende ühendus keelatakse.
  • Lisakäsud
  • Krüpteerimine: sõnumi teekonnal kasutajalt serverisse võib kasutada SSL'i (pärast serverist väljumist ei ole sõnumid enam turvatud, kuid siiski muudab see IRC sessiooni pealtkuulamise keeruliseks). Kasutajalt kasutajale suhtluses võib kasutada SDCC'd.
  • Ühenduse protokoll: IRCga saab ühenduda kasutades IPv4 või IPv6 protokolli.
  • Veebipõhine kasutajate registreerimine ja kasutajate profiililehed, näiteks IRCwx.

Kodeeringud[muuda | redigeeri lähteteksti]

IRC protokollil ei ole siiani ühiselt aksepteeritud viisi, kuidas edastada märke mis ei ole ASCII 7 bitilises kodeeringus. Tavapäraselt vahetavad IRC serverid kasutajate vahelisi sõnumeid bitijadana, pööramata tähelepanu märgikodeeringule. IRC protokollil puuduvad vahendid kodeeringuga tegelemiseks. Seetõttu langes korrektse kodeeringu valimise kohustus kasutajale. Tegelikuses on aga IRC kanalid traditsiooniliselt kasutanud samu kodeeringuid nagu operatsioonisüsteemid, sõltuvalt keelekeskkonnast:

  • 7 biti ajastu: IRC algusajal kasutati peamiselt, eriti Skandinaavia keelte ning soome keele puhul, vastavaid ISO 646 variante. Seetõttu asusid näiteks märgid Ä Ö Å ä ö å positsioonidel 0x5B 0x5C 0x5D 0x7B 0x7C 0x7D (US-ASCII: [ \ ] { | } ). 1990. aastate lõpuks olid 7-bitilised kodeeringud asendunud ISO 8859-1 kodeeringuga.
  • 8 biti ajastu: 1990. aastate algusest saadik on 8-bitilised kodeeringud, näiteks ISO 8859-1, saanud Euroopa keelte puhul tavapäraseks. Venekeelsed kasutajad said valida KOI8-R, ISO 8859-5 ja CP1251 vahel.
  • multi-biti ajastu: Ida-Aasia IRC kanalid on juba pikka aega kasutanud selliseid kodeeringuid nagu EUC ja ISO-2022-JP. Üldise migratsiooniga ISO 8859 kodeeringult üle UTF-8 kodeeringule Linuxi ja Unixi operatsioonisüsteemidel on UTF-8 muutunud populaatseks alternatiiviks 8 bitilistile kodeeringutele Euroopa IRC kanalites. Mõningad IRC klientprogrammid on võimelised samal kanalil automaatselt tuvastama sõnumeid nii ISO 8859-1 kui ka UTF-8 kodeeringus. Üleminek UTF-8 kodeeringule sai enimmärgatava tõuke soomekeelsest IRC kommuunist.

Failide jagamine[muuda | redigeeri lähteteksti]

Paljuski sarnaselt tavapärasele P2P failide jagamisele saavad kasutajad rakendades IRC botte või skripte luua failiservereid, mis võimaldavad kasutajate vahelist failide jagamist. Tihtipeale loovad kasutajad IRC bottidel põhineva võrgustiku jagamaks autoriõigustega kaitstud andmeid.[59]

Tehniliselt ei võimalda IRC protokoll failide saatmist, seda võimaldavad klientprogrammid, tavaliselt kasutades Direct Client-to-Client (DCC) protokolli. Enamik IRC klientprogrammides võimaldab failide jagamist, seetõttu peetakse seda IRC protokollile omaseks võimaluseks.[60]

Viited[muuda | redigeeri lähteteksti]

  1. IRC Rating
  2. Introduction lk 4, RFC 1459
  3. One-to-many lk 11, RFC 1459
  4. One-to-One Communication lk 5, RFC 2810
  5. Wang, Wallace (2004-10-25). "Instant Messaging and Online Chat Rooms: Internet Relay Chat (IRC)". Steal this File Sharing Book (1st ed.). San Francisco, California: No Starch Press. lk 61 – 67. ISBN 1-59327-050-X
  6. http://www.sage.org/about/irc.html Sage IRC Channel
  7. http://irc.netsplit.de/networks/top100.php IRC Networks - Top 100
  8. http://www.mirc.com/jarkko.html Founding IRC
  9. Servers lk 4, RFC 1459
  10. Clients lk 3, RFC 2810
  11. Clients lk 5, RFC 1459
  12. Port Numbers Marina del Rey, California: Internet Assigned Numbers Authority
  13. Connect message lk 29, RFC 1459
  14. Lucas, Mark; Singh, Abhishek; Cantrell, Chris (2006-10-05). "Defining a Firewall". In Henmi, Anne. Firewall Policies and VPN Configurations. Rockland, Massachusetts: Syngress Publishing. lk 93. ISBN 1-59749-088-1.
  15. Character codes lk 7, RFC 1459
  16. Extensions to the Internet Relay Chat Protocol (IRCX) Abraham, Dalen (Juuni 1998).
  17. IRCwx FAQs net-bits.net.
  18. Architecture lk 3-4, RFC 2810
  19. Introduction lk 2, RFC 2810
  20. Algorithms lk 64, RFC 1459
  21. Message format in 'pseudo' BNF. lk 8, RFC 1459
  22. Numeric replies. lk 10, RFC 1459
  23. IRC List Modes - List mode extension showing pair confusion for lists. 2009-11-25.
  24. #Beginner - IRC Commands, the Basics. 2007-04-18.
  25. To a group (channel) lk 11, RFC 1459
  26. List message lk 24, RFC 1459
  27. 27,0 27,1 Join message lk 19, RFC 1459
  28. Channel Scope lk 3, RFC 2811
  29. Channel properties lk 4, RFC 2811
  30. Channel lifetime lk 5, RFC 2811
  31. Channel modes lk 7, RFC 2811
  32. Mode message lk 21, RFC 1459
  33. Channel modes lk 21-22, RFC 1459
  34. Channel access control lk 10-11, RFC 2811
  35. 35,0 35,1 Command responses: 353 RPL_NAMREPLY lk 51, RFC 1459
  36. Roeckx, Kurt (14. oktoober 2004). "The 005 numeric: ISUPPORT". irc.org.
  37. Brocklesby, Edward (september 2002).IRC RPL_ISUPPORT Numeric Definition. EITF.
  38. Operwall message lk 41, RFC 1459
  39. "Definition of wallops". Urban Dictionary.
  40. Butcher, Simon (12. jaanuar 2005). "IRC User Modes List". alien.net.au.
  41. Butcher, Simon (12. jaanuar 2005). "IRC Channel Modes List". alien.net.au.
  42. Butcher, Simon (12. jaanuar 2005). "IRC Server Modes List". alien.net.au.
  43. Olsen, Tommy. "IRCd Modes". webtoman.com.
  44. Operators lk 5, RFC 1459
  45. Thiedeke, Udo (2003-09-23). "Nicola Döring, Alexander Schestag", Virtuelle Gruppen: Charakteristika und Problemdimensionen, 2nd (in German), VS Verlag für Sozialwissenschaften, 314, 337. ISBN 3-531-33372-0. 
  46. Rogers, Russ (2004-12-01). "The Mind of Terror", Hacking a Terror Network: The Silent Threat of Covert Channels, 1st, Rockland, Massachusetts: Syngress Publishing, 10. ISBN 1-928994-98-9. 
  47. (2002-05-29) "Internet Relay Chat", The Telecommunications Illustrated Dictionary, 2nd, CRC Press, 500. ISBN 0-8493-1173-X. 
  48. "Frequently-Asked Questions". freenode.
  49. Charalabidis, Alex (1999-12-15). "IRCing On The Macintosh: Ircle". The Book of IRC: The Ultimate Guide to Internet Relay Chat (1st ed.). San Francisco, California: No Starch Press. lk 61. ISBN 1-886411-29-8.
  50. Jones, Steve, ed (2002-12-10). "Internet Relay Chat". Encyclopedia of New Media: An Essential Reference to Communication and Technology (1st ed.). Thousand Oaks, California: SAGE Publications. lk 257. ISBN 0-7619-2382-9.
  51. Rittner, Don (1999-03-03). The iMac Book (1st ed.). Scottsdale, Arizona: Coriolis Group. lk 215. ISBN 1-576-10429-X.
  52. Turban, Efraim; Leidner, Dorothy; McLean, Ephraim; Wetherbe, James (2005-02-07). "Communication". Information Technology for Management: Transforming Organizations in the Digital Economy (5th ed.). Hoboken, New Jersey: John Wiley & Sons. lk 106 – 107. ISBN 0-471-70522-5.
  53. Smith, Roderick W. (2000-04-08). "The Internet: Using IRC to Get Help". The Multi-Boot Configuration Handbook. Handbook Series. Upper Saddle River, New Jersey: Que Publishing. lk 289. ISBN 0-7897-2283-6.
  54. Opera Browser Wiki: IRC Client
  55. http://www.warsow.net/wiki/index.php?title=IRC_Module Warsow Wiki: IRC Module]
  56. Guenter, Daniel (2004-06-21)UT2004 Review BBCHardware.
  57. The Ultimate Uplink Guide
  58. ZDaemon - The Doom Wiki: Other utilities
  59. Pirated movies: Now playing on a server near you Vamosi, Robert (2002-05-08). ZDNet.
  60. IRC 101:What Is It & How Do I Use It?. Sesaki, Darla (2002-04-04). The Mac Observer.