IRC

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
Internet Relay Chat
IRC
Уровень:
Прикладной
Семейство:
TCP/IP
Создан:
1988
Порт:
194 (TCP), 6667 (TCP)
Назначение:
Доступ к чат-серверам
Спецификация:
RFC 2810, RFC 2811, RFC 2812, RFC 2813
Реализация:
Клиенты:
irssi, KVIrc, mIRC, X-Chat
Серверы:
hybrid-ircd, Hyperion

IRC (англ. Internet Relay Chat — ретранслируемый интернет-чат) — сервисная система, при помощи которой можно общаться через сеть Интернет с другими людьми в режиме реального времени. Она была создана в 1988 году финским студентом Ярко Ойкариненом (Jarkko Oikarinen). В русском компьютерном сленге IRC называют «иркой», «ирцем», а также «мирк», «мирц» (кальки с названия наиболее популярного клиента — программы mIRC). IRC начало завоевывать особенную популярность после операции «Буря в пустыне» (1991), когда сообщения со всего мира собирались в одном месте и в режиме «on-line» транслировались в IRC [1]. Подобным образом IRC использовалось и в 1991, во время путча в СССР, когда пользователи из Москвы в реальном времени сообщали всему миру о происходящем на улицах.

Описание IRC[править | править код]

IRC состоит из серверов. Сервер может быть соединён с другими серверами. Совокупность серверов, соединённых друг с другом, образует сеть. В мире существуют десятки сетей. Наиболее старые и известные - это IRCNet и EfNet, образовавшейся из расколовшейся первой irc сети. Для работы с irc необходима специальная программа клиент. Для Unix самая распространённая - ircII (консольная) со всевозможными front-end для работы под X-Window. Под win32 это mirc. Она проста в настройке и установке настолько, что 90% пользуются именно ею и часто незнающие люди называют irc мирком. Далее надо подключится к серверу. Для этого наберите /server адрес_сервера. После подключения к серверу можно найти нужного человека и общаться с ним. Можно также подключиться к каналу. Общение на канале напоминает общение людей в комнате. Кто-нибудь говорит и все его слышат. У каждого канала есть имя, которое отражает общую тематику разговора. Это может быть как интересующая всех тема (например, #linux, #quake, #wikipedia-ru[2]), так и просто какое-нибудь объединяющее всех название (например, #ufa, #odessa). Если в первом случае разговоры обычно ведутся вокруг указанной тематики, то во втором случае разговоры ведутся на совершенно разнообразнейшие темы. Кроме обычных пользователей сети irc есть так называемые операторы каналов и операторы сети. Операторы канала - это "хозяева" канала. Они могут закрыть доступ на канал без приглашения, лишить любого пользователя возможность говорить на канале, выкинуть пользователя с канала, поставить ему бан (невозможность зайти на канал) и многое другое. Иными словами, это управляющие (модераторы), которые следят за порядком на канале. Оператором канала в классическом случае становится тот, кто первым заходит на канал и тем самым создаёт его. Но на данный момент такие случаи очень редки. В основном сейчас существует множество постоянных каналов. У таких каналов есть постоянные операторы. Для того, чтобы они получили статус оператора при входе на канал используются обычно постоянно сидящие на канале боты (или роботы), которые имеют статус оператора и могут его раздавать определённым пользователям. Боты - это программы, которые подключаются к irc серверу и могут выполнять специальные операции. Кроме поддержки статуса оператора, боты могут выполнять функции доски объявлений, могут выводить информацию о заходящем на канал пользователе и множество другого. Отношение к ботам в разных сетях разное и в основном зависит от общей политики сети. Например, в IRCNet боты не приветствуются, но и нет регистрации каналов. В сети EfNet регистрации каналов также нет, но к ботам относятся равнодушно. Операторы сети - это администраторы, управляющие работой сети в целом. В их власти выкинуть пользователя с сервера и запретить ему вход на отдельный сервер или вообще на все сервера сети. Однако операторам запрещено вмешиваться во внутренние дела каналов - для этого существуют операторы каналов. Фактически операторы могут вмешиваться только если в результате действий какого-либо пользователя нарушается нормальная работа сети.

Технические детали[править | править код]

Feather.svg Этот раздел статьи ещё не написан.
Согласно замыслу одного из участников «Традиции», на этом месте должен располагаться раздел, посвящённый техническим деталям 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. Возможно указать причину reasohttp://ru.wikipedia.org/w/index.php?title=IRC&action=edit&section=2

Редактирование IRC (секция) — Википедияn.

  • PRIVMSG channel/user :message — посылает сообщение message на канал channel или пользователю user.
  • NOTICE channel/user :message — аналог PRIVMSG. Согласно RFC 2812, на NOTICE никогда не может быть автоматических ответов.
  • WALLOPS text — посылает текст всем пользователям с режимом +w

Режимы каналов[править | править код]

Операторы канала могут задавать различные режимы каналов с помощью команды MODE. В RFC 2811 определены следующие режимы:

  • +O user — обозначает создателя канала. Не должен изменятся вручную. (отсутствует во многих реализациях)
  • +o user — обозначает оператора канала.
  • +v user — даёт пользователю право говорить на модерируемых каналах.
  • +a — анонимный канал. Имена всех пользователей скрываются как anonymous!anonymous@anonymous (отсутствует во многих реализациях)
  • +m — только пользователи с флагами +o или +v.
  • +n — только находящиеся на канале пользователи могут посылать в него сообщения
  • +p/+s — канал скрывается во всех ответах сервера если пользователь не находится
  • +t — тему канала могут изменять только операторы
  • +l limit — ограничевает количество пользователей на канале числом limit.
  • +k key — устанавливает ключ (пароль) от канала key
  • +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)

Документы RFC[править | править код]

Основным документом, определяющим протокол IRC является RFC 1459 — Internet Relay Chat Protocol. Позднее были разработаны ещё несколько документов, дополняющих стандарт:

  • 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 Protocol

Известные IRC-сети[править | править код]

Среди международных сетей популярны:

В названных сетях наиболее употребительным языком общения является английский. Существуют и сети, основной язык которых отличен от английского, в частности русскоязычные сети:

См. также[править | править код]

Ссылки[править | править код]

eo:Interreta relajsa babilo hu:Internet Relay Chat ia:Internet Relay Chat lt:IRC lv:IRC nn:Internet Relay Chat sw:IRC