Internet Relay Chat

Internet Relay Chat („разговори през (чрез) Интернет“), по-известен под съкращението IRC, e услуга в интернет, която предлага възможността за общуване в реално време с хора от цял свят. IRC е една от услугите, които често се обобщават под названието „чат“, и е може би една от първите системи за чат в реално време. За услугата е характерно, че от самото начало е създадена за комуникация на много хора едновременно помежду си (т.нар. „много-към-много“, от англ. many-to-many), за разлика от други подобни услуги като ICQ, MSN Messenger или най-обикновен телефон, които се използват главно за общуване между двама души („един-към-един“, от англ. one-to-one). Естествено IRC също предлага възможност за обмен на съобщения само между двама души, но това не е силата му. И тук, както при споменатите услуги, това, което се напише или каже, се изпраща веднага на другата страна в разговора (естествено почти винаги има известно кратко закъснение).

Характеристики 
Всеки потребител в IRC има уникален „псевдоним“, наречен още ник (), който го разграничава от другите потребители и го определя еднозначно. В IRC могат да се водят лични (private) разговори (гореспоменатите един-към-един), както и да се разговаря с повече от един потребител в т.нар. канали (channels), наричани още чатстаи (chat rooms). Имената на всички канали в IRC започват със знака „#“ (диез), и по този начин се различават от никовете на потребителите.

Както за всяка комуникация по интернет, и за IRC е характерно известно забавяне между изпращането на дадено съобщение и получаването му от отсрещната страна. В жаргона на IRC това още се нарича „лаг“ – от английското lag (закъснение). Според скоростта на достъпа до интернет на отделните потребители, това закъснение обикновено се движи между 0,5 и 2 – 3 секунди. Всичко над 4 – 5 секунди се счита за твърде дълго и е дразнещо за повечето потребители.

IRC е създаден във Финландия от Ярко Ойкаринен (Jarkko Oikarinen, ник WiZ) през 1988 г. В същността си представлява мрежа от един или повече сървъри, които са свързани един с друг (естествено една мрежа може да се състои и само от един единичен сървър, който не е свързан с други такива). Всяка IRC мрежа е отделен „свят“, т.е. когато потребител се свърже с някоя IRC мрежа, вижда само това, което става в нея и може да говори само с други хора от същата мрежа. В две различни мрежи може да има канали с еднакви имена и хора с еднакви никове, които нямат нищо общо по между си, не се виждат взаимно и не могат да разговарят един с друг. Това отново е основна разлика от други услуги за онлайн комуникация като гореспоменатите ICQ, Skype или Yahoo Messenger, при които абсолютно всички потребители се регистрират на едно и също централно място и няма различни мрежи.

Първата създадена в света мрежа за IRC е EFnet, която е една от най-големите, често пъти с повече от 100 хиляди потребители на линия. Челната шестица допълват Undernet, IRCnet, DALnet, QuakeNet и NewNet.

В България има много IRC мрежи, като съществуват с различен успех върху много отделни сървъри. Някои от тях са: UniBG (вече UniBG.eu и UniBG.org), ShakeIT.

Софтуер 
За свързването към IRC са нужни програми, известни като клиенти за IRC. Те представляват посредник между потребителя и мрежата. Някои от най-популярните са:
 ircII – Първият IRC клиент, конзолен; за *NIX/Linux и Windows
 irssi – Конзолен клиент, известен със стабилност и доста функции; за *NIX/Linux и Windows
 mIRC – Познат с прякора си „Мирка“ графичен клиент, IRC клиент под Windows, известен с немалко бъгове и дупки в сигурността; само за Windows.
 Miranda IM – Клиент за всякакви мрежи, вкл. и IRC; само за Windows, но безплатен и свободен под лиценза GNU GPL
 XChat – Графичен клиент, един от най-добрите графични клиенти под Линукс; за *NIX/Linux и Windows
 BitchX – Конзолен клиент за *NIX/Linux
 Pirch – За Windows
 IRCle – За Mac
 HydraIRC
 Conversation – Безплатен клиент за Mac
 Colloquy – Още един безплатен клиент за Mac
 Chatzilla  – Част от Mozilla или разширение на Firefox, този клиент работи на всички платформи, на които са достъпни споменатите браузъри
Почти всяка мрежа за IRC е създала свой собствен канал за помощ, обикновено носещ името #irchelp.
 kopete програма на KDE – Работи като IRC клиент и като клиент за други мрежи (ICQ, Gadu-Gadu, Jabber и др.)
 Konversation – Програма от пакета на KDE, удобен графичен клиент с интуитивни менюта за настройките.

Услуги за IRC (Services) 
Някои мрежи за IRC предлагат различни услуги: ChanServ, NickServ, MemoServ, OperServ, SeenServ, BotServ. Те служат за най-различни цели, улеснявайки живота на ежедневния потребител на IRC.

NickServ например позволява да се регистрира даден ник (псевдоним) с избрана парола, така че да не може друг случаен човек да използва същия ник (нещо, което доста често се случва в големите мрежи, и което може да бъде доста неприятно, ако се държи на даден псевдоним).

ChanServ има същата цел, само че за канали: Може да се регистрира даден канал с парола, при което регистриращият става „основател“ (founder) на канала. Оттогава нататък той може да определя кой да влиза в канала, на кого да даде права да го управлява, когато го няма и т.н.

MemoServ служи за изпращането на кратки съобщения към други потребители, които не са на линия. Когато дойдат, те ще бъдат известени, че имат съобщение и ще могат да го прочетат. Обикновено изисква и двата ника да са регистрирани в NickServ и да са се идентифицирали с паролата си; в противен случай всеки ще да може да пише съобщения от името на друг или да чете чуждите съобщения, когато съответния човек го няма.

SeenServ (наличен в българската мрежа UniBG, но иначе не присъства във всички IRC мрежи) следи кои потребители кога влизат и излизат от кои канали, кога напускат IRC изцяло, колко време седят там и т.н. и дават тази информация на други потребители. Полезно, когато е нужно да се знае кога за последно някой е бил на линия.

OperServ има за цел главно да улесни живота на администраторите в IRC.

Повече информация относно тези услуги се получава при въвеждането на (вж. по-долу команди):

 /cs help или /msg cs help или /msg chanserv help
 /ns help или /msg ns help или /msg nickserv help
 /ms help или /msg ms help или /msg memoserv help.

Команди 
Повечето команди действат еднакво във всички мрежи. Въвеждат се в полето, където се пишат и обикновените съобщения, като винаги започват с наклонена черта („/“).

Ето някои по-прости команди:
 /join #канал – присъединяване към желан канал: /join #irchelp Понеже се използва често, доста клиенти разбират и съкращението „/j“: /j #irchelp
 /msg [ник или #канал] – изпраща съобщение към дадения потребител или канал. Това е „стандартната“ команда, която се използва от IRC програмата, когато се напише някакъв текст без „/“ отпред. Като ник или канал се използва този, който съответства на прозореца, в който се пише.
 /who #канал – дава списък с потребителите в даден канал и информация за тях
 /ping #канал – дава информация за възможното (лаг, пинг) на изпращането на съобщенията между потребителите на канала. Колкото по-ниска е стойността, толкова по добре. В някои (големи) канали е забранено поради големия трафик, който причинява. По-добре е да се използва /ping <ник>
 /me <съобщение> – описателно действие; пример: /me е щастлив – ако псевдонимът (прякорът) е wolf, ще се покаже
 wolf e щастлив
 /part #канал – напускане на дадения канал: /part #irchelp
 /whois <прякор> – извежда информация за дадения потребител: в кои канали е влязъл, какво е състоянието му там (+v = voice; +о = оператор; дали е оператор (IRCop) или администратор на сървъра (Server Admin)
 /nick <нов_прякор> – сменя прякора на <нов_прякор> (стига да не е зает от друг потребител)
 /quit <коментар> – напускане изцяло на IRC, като се оставя коментар или причина (reason)
 /list – извежда списък на наличните канали, поддържани от сървъра, с изключение на тези канали, които са с характеристика +s, т.е. тайни (secret) канали
 /server <име_на_друг_сървър> – свързва погребителя с друг IRC сървър, като (обикновено) преди това напуска текущия (подобно на /quit).
 /links – извежда списък на работещите сървъри в използваната мрежа. На някои мрежи командата е деактивирана от съображения за сигурност.
 /ignore <прякор> – пренебрегване на посочения потребител. След като се напише тази команда, повече не се получават съобщения от дадения потребител (удобно, когато някой досажда, но за сметка на това въпросният човек може да говори каквото си иска пред другите и няма да се види).
 /query <прякор> – започване на личен (private) разговор с въпросния потребител

Защита 
IRC има за цел отпускане и разтоварване. Понякога обаче недоброжелателни потребители изпращат вируси и/или препратки към неподходящи сайтове.

Тук са изброени няколко неща за защита на самоличността в IRC:

 Използване на програма за IRC, която е способна да поддържа анонимността на потребителя.
 Никога да не се използва истинското име, телефонен номер, адрес или каквато и да е лична информация на непознат в IRC.
 Използване на неутрален прякор за род, т.е. нещо, което да не издава пол.
 В полетата за лична информация да не се попълват истински данни. Да не се въвежда истински електронен адрес.
 В частта „IDENTD“ на настройките си да не се въвежда истинско потребителско име (или каквото и да е име, издаващо същността на потребителя).
 Избор на невидим (invisible) като режим (mode). Използване на командата '/mode <потребителски_прякор> +i'. Това не означава буквално невидимост за останалите потребители, а просто името няма да излиза в списъците от /who или /names (освен човекът, който ги гледа, не е в един и същи канал с потребителя, тогава така или иначе го вижда). Командата /whois ще продължи да работи нормално.
 Ако даден потребител притеснява, може да се сменяй често прякора, се ползва режим +i (точка 6) или се поставя натрапника в т.нар. списък на пренебрегнатите (Ignore List). Командата е /ignore [прякор или адрес]. Пример: '/ignore wolf' или '/ignore *!mjack@*.neosoft.com'.
 Режимът (caller-id) или (server-side ignore), познат като режим +g. По този начин сървърът, през който е свързано, няма да допуска никакви лични съобщения с изключение на съобщенията, идващи от хора, за които специално сте указали, че могат да го правят посредством командата /accept nickname.
 Никога не се приема DCC-чат или DCC-файл, изпратен от непознат или някого, на когото не се доверявате. Това е причината за 95% от проблемите по сигурността в IRC. В настройките на клиента се избира Ignore All за DCC chat и DCC send – да пренебрегва всичко. Опцията за автоматично приемане на DCC трябва да бъде изключена (Auto-get file, Auto-accept chat).
 Никога не се правят неща, поръчани от друг потребител, ако изглеждат съмнително или са с неизвестен резултат. Например, ако някой помоли да напишете '/do blah blah' (т.е. команда), никога не го правете. Особено злощастен в това отношение е mIRC, който допуска въвеждането на скриптове от командния ред. Ако някой изпрати ред, съдържащ командата '$decode', последвана от много дълга редица от произволни символи, вероятно има вирус. Ако се въведете тази команда се прихваща вирусът. Това може да даде цялостен контрол върху компютъра или системата.

Ако се следват тези предпазни мерки, няма да има особени грижи за сигурността в IRC. Не се доверявайте на никого, когото не познавате, бъдете внимателни и по този начин защитени.

Вижте също 
 CTCP
 Троянски кон

Външни препратки 
 Списък на почти всички команди за IRC
 irchelp.org
 RFC 1459 за IRC, усъвременено от RFC 2810, RFC 2811, RFC 2812, RFC 2813

Мрежови протоколи
Незабавни съобщения