IRC (англ. Internet Relay Chat) — технологія багатокористувацьких конференцій в текстовому режимі через мережу Інтернет.
Протокол IRC створив у 1988 році фінський вчений і програміст Яркко Ойкарінен (фін. Jarkko Oikarinen).
Опис IRC
При підключенні до серверу IRC користувач бачить список доступних каналів, у кожний з яких (або відразу в декілька) він може «увійти» (підключитися). Каналом є віртуальна «кімната», в якій можуть знаходитися декілька користувачів. Всі повідомлення, що видаються в канал, видно всім користувачам, які знаходяться на цьому ж каналі. Кожен канал має свою назву і, як правило, певну тему для обговорення. Після «входу» на канал користувач може бачити, що пишуть інші учасники каналу, а також може сам писати повідомлення. Тема, що обговорюється на каналі, зазвичай випливає з його назви (наприклад, канал ).
Різні сервери можуть об'єднуватися (лінкуватися) в мережу з єдиним простором імен користувачів і каналів. Великі світові IRC-мережі налічують у своєму складі сотні серверів. Аварійний тимчасовий розрив IRC-мережі на дві частини називається 'ом (сплітом).
IRC надає можливість як групового, так і приватного спілкування. Для групового чату в IRC призначені , на яких користувачі можуть збиратися та вести спілкування.
Оператори IRC-мережі керують роботою серверів та мережі в цілому. Як правило, в IRC-мережах на операторів теж встановлюються обмеження на рівні правил мережі, мережевого етикету або навіть на рівні /.
Технічні деталі
Команди
Більшість команд, які вводяться в командну консоль, відрізняються від тих, які передаються по мережі. Ось команди, визначені в RFC 2812:
NICK username
— змінює нік учасника на зазначене параметром username.OPER username password
— видає права оператора користувачеві, використовуючи відповідний O:Line.QUIT
— від'єднує користувача від сервера.JOIN channels [keys]
— приєднується до каналів channels використовуючи відповідні ключі keys якщо канал має режим +k. Канали в списку розділяються комами.JOIN 0
— покинути всі канали.PART channels [:message]
— покинути канали channels, використовуючи message. Якщо message містить прогалини, то перед ним ставиться:
.MODE channel /username modes
— змінює режими каналу channel (потрібні права оператора каналу) або користувача username (більшість серверів дозволяють змінювати свої режими тільки самим користувачам). Modes — рядок у форматі+flags-flags params
.TOPIC channel [:message]
— змінює тему на message. Якщо не вказано параметр message, то повертає тему каналу.NAMES [channel]
— повертає список користувачів на каналі, або, якщо канал не вказано, у всій мережі..LIST [pattern]
— повертає всі канали. Якщо встановлено шаблон pattern, то повертаються тільки канали, що збігаються з нимINVITE user channel
— запрошує user на канал channel.KICK channels users [:reason]
— викидає користувачів users з каналів channels. Можливо вказати причину reason.PRIVMSG channel /user:message
— посилає повідомлення message на канал channel або користувачу user.NOTICE channel /user:message
— аналог PRIVMSG. Згідно з RFC 2812, на NOTICE ніколи не може бути автоматичних відповідей.WALLOPS text
— посилає текст всім користувачам з режимом +w.WHOIS <nick[,nick,nick,...]>
— показує інформацію про даного користувача.
Режими каналів
можуть задавати різні режими каналів за допомогою команди MODE. У RFC 2811 визначені такі режими:
+O user
— позначає творця каналу. Не повинен змінюватися вручну (відсутня в багатьох реалізаціях).+o user
— позначає оператора каналу.+v user
— дає користувачеві право говорити на модерованих каналах (див. + m).+a
— анонімний канал. Імена всіх користувачів ховаються якanonymous!anonymous@anonymous
(відсутня в багатьох реалізаціях).+m
— тільки користувачі з прапорами +o, +h, або +v можуть посилати в нього повідомлення.+n
— тільки що знаходяться на каналі користувачі можуть посилати в нього повідомлення.+p
/+s
—- канал ховається в усіх відповідях сервера якщо користувач не знаходиться на цьому каналі.+t
— тему каналу можуть змінювати тільки оператори.+l limit
— обмежує кількість користувачів на каналі числом limit.+k key
— встановлює ключ (пароль) на канал key.+i
— на канал можна увійти тільки за запрошенням (invite).+b
— вивести список банів +b на каналі. Доступний всім користувачам.+b mask
— забороняє доступ до каналу користувачів, що збігаються з маскою mask.+e mask
— дозволяє користувачам, що потрапляють під маску mask, заходити на канал незалежно від режимів +b.+I mask
— дозволяє користувачам, що потрапляють під маску mask, заходити на канал незалежно від режиму +i.+c
— оформлення тексту на каналі заборонено (не визначено в RFC).
Режими користувачів
+i
— невидимий користувач.+s
— отримувати повідомлення сервера.+w
— отримувати wallops.+o
— оператор сервера. Для отримання повинна використовуватися команда OPER.
CTCP
CTCP — це особливий тип повідомлень. Повідомлення CTCP виглядають так:
PRIVMSG target :\001command [arguments]\001
target — це канал або користувач, якому надсилається повідомлення, \001 — це бінарний символ 0x01, command — це команда CTCP, arguments — аргументи команди. Основні команди:
- PING — повертає аргументи назад.
- VERSION — повертає версію клієнта.
- USERINFO — повертає інформацію про користувача.
- CLIENTINFO — повертає інформацію про клієнта.
- SOURCE — повертає джерело, звідки можна завантажити клієнт.
- TIME — повертає час на комп'ютері користувача.
- ACTION — емулює дію (команда /me).
Відповідь на CTCP-запит приходить в наступному вигляді:
NOTICE target :\001command [arguments]\001
Документи RFC
Основним документом, що визначає протокол IRC, є RFC 1459 - Internet Relay Chat Protocol. Пізніше були розроблені ще кілька документів, що доповнюють стандарт:
Відомі IRC-мережі
Серед міжнародних мереж популярні:
- [en]
- [en]
- , раніше відома як Open Projects Network (OPN)
- [en], заснована у 2021 році колишніми учасниками Freenode
- [en]
- [en]
Див. також
- — інформація про чат, на якому збираються Вікіпедисти.
- Програми миттєвого обміну повідомленнями
- Matrix (протокол)
Примітки
- . The University of Chicago. Архів оригіналу за 11 серпня 2016. Процитовано 15 червня 2016.
- Founding IRC. Jarkko Oikarinen [ 11 червня 2016 у Wayback Machine.](англ.)
Посилання
- IRC-SOFT.net :: IRC, QIP, ICQ, mIRC, Miranda, KVirc [ 10 вересня 2019 у Wayback Machine.] (рос.)
Це незавершена стаття про Інтернет. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina IRC znachennya IRC angl Internet Relay Chat tehnologiya bagatokoristuvackih konferencij v tekstovomu rezhimi cherez merezhu Internet Protokol IRC stvoriv u 1988 roci finskij vchenij i programist Yarkko Ojkarinen fin Jarkko Oikarinen Opis IRCIRC kliyent yakij pidklyuchivsya do kilkoh kanaliv na dvoh riznih IRC serverah Pri pidklyuchenni do serveru IRC koristuvach bachit spisok dostupnih kanaliv u kozhnij z yakih abo vidrazu v dekilka vin mozhe uvijti pidklyuchitisya Kanalom ye virtualna kimnata v yakij mozhut znahoditisya dekilka koristuvachiv Vsi povidomlennya sho vidayutsya v kanal vidno vsim koristuvacham yaki znahodyatsya na comu zh kanali Kozhen kanal maye svoyu nazvu i yak pravilo pevnu temu dlya obgovorennya Pislya vhodu na kanal koristuvach mozhe bachiti sho pishut inshi uchasniki kanalu a takozh mozhe sam pisati povidomlennya Tema sho obgovoryuyetsya na kanali zazvichaj viplivaye z jogo nazvi napriklad kanal wikipedia uk Rizni serveri mozhut ob yednuvatisya linkuvatisya v merezhu z yedinim prostorom imen koristuvachiv i kanaliv Veliki svitovi IRC merezhi nalichuyut u svoyemu skladi sotni serveriv Avarijnij timchasovij rozriv IRC merezhi na dvi chastini nazivayetsya om splitom IRC nadaye mozhlivist yak grupovogo tak i privatnogo spilkuvannya Dlya grupovogo chatu v IRC priznacheni na yakih koristuvachi mozhut zbiratisya ta vesti spilkuvannya Operatori IRC merezhi keruyut robotoyu serveriv ta merezhi v cilomu Yak pravilo v IRC merezhah na operatoriv tezh vstanovlyuyutsya obmezhennya na rivni pravil merezhi merezhevogo etiketu abo navit na rivni Tehnichni detaliKomandi Bilshist komand yaki vvodyatsya v komandnu konsol vidriznyayutsya vid tih yaki peredayutsya po merezhi Os komandi viznacheni v RFC 2812 NICK username zminyuye nik uchasnika na zaznachene parametrom username OPER username password vidaye prava operatora koristuvachevi vikoristovuyuchi vidpovidnij O Line QUIT vid yednuye koristuvacha vid servera JOIN channels keys priyednuyetsya do kanaliv channels vikoristovuyuchi vidpovidni klyuchi keys yaksho kanal maye rezhim k Kanali v spisku rozdilyayutsya komami JOIN 0 pokinuti vsi kanali PART channels message pokinuti kanali channels vikoristovuyuchi message Yaksho message mistit progalini to pered nim stavitsya MODE channel username modes zminyuye rezhimi kanalu channel potribni prava operatora kanalu abo koristuvacha username bilshist serveriv dozvolyayut zminyuvati svoyi rezhimi tilki samim koristuvacham Modes ryadok u formati flags flags params TOPIC channel message zminyuye temu na message Yaksho ne vkazano parametr message to povertaye temu kanalu NAMES channel povertaye spisok koristuvachiv na kanali abo yaksho kanal ne vkazano u vsij merezhi LIST pattern povertaye vsi kanali Yaksho vstanovleno shablon pattern to povertayutsya tilki kanali sho zbigayutsya z nim INVITE user channel zaproshuye user na kanal channel KICK channels users reason vikidaye koristuvachiv users z kanaliv channels Mozhlivo vkazati prichinu reason PRIVMSG channel user message posilaye povidomlennya message na kanal channel abo koristuvachu user NOTICE channel user message analog PRIVMSG Zgidno z RFC 2812 na NOTICE nikoli ne mozhe buti avtomatichnih vidpovidej WALLOPS text posilaye tekst vsim koristuvacham z rezhimom w WHOIS lt nick nick nick gt pokazuye informaciyu pro danogo koristuvacha Rezhimi kanaliv mozhut zadavati rizni rezhimi kanaliv za dopomogoyu komandi MODE U RFC 2811 viznacheni taki rezhimi O user poznachaye tvorcya kanalu Ne povinen zminyuvatisya vruchnu vidsutnya v bagatoh realizaciyah o user poznachaye operatora kanalu v user daye koristuvachevi pravo govoriti na moderovanih kanalah div m a anonimnij kanal Imena vsih koristuvachiv hovayutsya yak anonymous anonymous anonymous vidsutnya v bagatoh realizaciyah m tilki koristuvachi z praporami o h abo v mozhut posilati v nogo povidomlennya n tilki sho znahodyatsya na kanali koristuvachi mozhut posilati v nogo povidomlennya p s kanal hovayetsya v usih vidpovidyah servera yaksho koristuvach ne znahoditsya na comu kanali t temu kanalu mozhut zminyuvati tilki operatori l limit obmezhuye kilkist koristuvachiv na kanali chislom limit k key vstanovlyuye klyuch parol na kanal key i na kanal mozhna uvijti tilki za zaproshennyam invite b vivesti spisok baniv b na kanali Dostupnij vsim koristuvacham b mask zaboronyaye dostup do kanalu koristuvachiv sho zbigayutsya z maskoyu mask e mask dozvolyaye koristuvacham sho potraplyayut pid masku mask zahoditi na kanal nezalezhno vid rezhimiv b I mask dozvolyaye koristuvacham sho potraplyayut pid masku mask zahoditi na kanal nezalezhno vid rezhimu i c oformlennya tekstu na kanali zaboroneno ne viznacheno v RFC Rezhimi koristuvachiv i nevidimij koristuvach s otrimuvati povidomlennya servera w otrimuvati wallops o operator servera Dlya otrimannya povinna vikoristovuvatisya komanda OPER CTCP CTCP ce osoblivij tip povidomlen Povidomlennya CTCP viglyadayut tak PRIVMSG target 001command arguments 001 target ce kanal abo koristuvach yakomu nadsilayetsya povidomlennya 001 ce binarnij simvol 0x01 command ce komanda CTCP arguments argumenti komandi Osnovni komandi PING povertaye argumenti nazad VERSION povertaye versiyu kliyenta USERINFO povertaye informaciyu pro koristuvacha CLIENTINFO povertaye informaciyu pro kliyenta SOURCE povertaye dzherelo zvidki mozhna zavantazhiti kliyent TIME povertaye chas na komp yuteri koristuvacha ACTION emulyuye diyu komanda me Vidpovid na CTCP zapit prihodit v nastupnomu viglyadi NOTICE target 001command arguments 001Dokumenti RFCOsnovnim dokumentom sho viznachaye protokol IRC ye RFC 1459 Internet Relay Chat Protocol Piznishe buli rozrobleni she kilka dokumentiv sho dopovnyuyut standart RFC 2810 Internet Relay Chat Architecture RFC 2811 Internet Relay Chat Channel Management RFC 2812 Internet Relay Chat Client Protocol RFC 2813 Internet Relay Chat Server ProtocolVidomi IRC merezhiSered mizhnarodnih merezh populyarni en en ranishe vidoma yak Open Projects Network OPN en zasnovana u 2021 roci kolishnimi uchasnikami Freenode en en Div takozhVikipediya IRC informaciya pro chat na yakomu zbirayutsya Vikipedisti Programi mittyevogo obminu povidomlennyami Matrix protokol Primitki The University of Chicago Arhiv originalu za 11 serpnya 2016 Procitovano 15 chervnya 2016 Founding IRC Jarkko Oikarinen 11 chervnya 2016 u Wayback Machine angl Posilannya IRC SOFT net IRC QIP ICQ mIRC Miranda KVirc 10 veresnya 2019 u Wayback Machine ros Ce nezavershena stattya pro Internet Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi