IRC (Internet Relay Chat)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:36, 23 декабря 2017.

IRC (или IRCX, Internet Relay Chat eXtensions, расширения ретранслируемого интернет-чата)- это протокол прикладного уровня, позволяющий различному количеству пользователей подключаться к серверу, ипользуя IRC-клиент, заходить на каналы (в чаты) и обмениваться сообщениями в реальном времени посредством набора слов на клавиатуре, которые рассылаются всем другим пользователям на канале. Количество пользователей может варьироваться от групповых чатов до обмена личными сообщениями (один-на-один). IRC явяляется основной формой общения между членами сообщества Mozilla такими как, программисты, тестировщики, пользователи и т. п.

История IRC

IRC был написан в 1988 году как улучшение UNIX-программы talk, а затем и в качетсве замены программы MultiUser Talk, что в итоге привело к выделению его в отдельный протокол. Первоначально IRC работал в пределах одного штата и всего на нескольких компьютерах. Стремительно развиваясь, к 1989 году IRC работал примерно на 40 серверов по всему миру, а в июле 1990 года IRC составлял в среднем 12 пользователей на 38 серверах. В период своей разработки IRC неоднократно прекращала свою работу в свзяи с тем, что пользователи не могли связаться с друг другом. Однако первым значимым событием в истории развития данного протокола служит война в Персидском заливе, когда стали доступны прямые отчеты и около 300 пользователей были представлены одновременнно по всему миру. [Источник 1]

Undernet

В 1992 году сеть была разелена и выделилась новая ветка-Undernet, которая для уменьшения количества выделенных каналов сети и их ситематизации реализовала временные метки и новую маршрутизацию, а также предложила новую программу CService, которая позволяла пользователям регистрировать каналы, а затем пыталась защитить их от нарушителей спокойствия, имея более или менее глобальный бот обороны. Самый первый список серверов, представленный от Февраля 15-го 1993 года, включает в себя серверы из США, Канады, Франции, Хорватии и Японии. Примечательно, что части CTCP и такие вещи, как цвета и форматы, не были включены в спецификацию протокола, также как и кодировкка символов.

Dalnet

В течение лета 1994 года Undernet сам был подвергнут разветвлению. На этот раз новая сеть называлась Dalnet (в честь ее основателя: dalvenjah) и была предназначена для лучшего обслуживания пользователей и еще большей защиты как самих юзеров, так и их каналов. Одним из наиболее значительных изменений в Дальнете уже с самого начала является использование более длинных прозвищ (исходный предел составляет 9 букв). Первоначальные изменения в Dalnet внес Алексей «Лефлер» Косут: были предложены "глобальные" сообщения WallOps, возможность создавать более длинные псевдонимы, добавлены псевдонимы, которые нельзя использовать (ChanServ, IRCop, NickServ и т.д.), выделение запрещенных линий (запрет на одного человека, на весь домен с данного сервера или на всю сеть).

Большая часть новых функций Далнета была написана в начале 1995 года Брайаном Морфером Смитом и позволяла пользователям создавать псевдонимы, каналы, отправлять заметки и многое другое.

oz.org

В 1996 году Undernet снова разделился, на этот раз была выделена сеть oz.org, которая была нужна для помощи Дальнету в поддержании связи в часы пиковой нагрузки. К 2001 году oz.org мог похвастаться пиковыми потребностями 4000 одновременных пользователей.

Великое разделение

Также в июле 1996 года произошло "Великое разделение" на IRCnet и EFnet в связи с тем, что компании не могли договориться о дальнейшем направлении развития IRC. Европейская сторона-IRCnet (большинство из этих серверов находилась в Европе) опирались на ники и каналы, в то время как американская сторона-EFnet (большинство серверов находились в США) настаивала на развитии временных меток. К осени 2000 года EFnet насчитывала около 50 000 пользователей против 70 000 юзеров IRCnet.

Freenode

Еще одна сеть IRC, которая открыла свои двери в 1998 году, называется сетью открытых проектов, и насчитывала около 100 пользователей и менее 20 каналов. В конце 2001 года она выросла почти до 4000 пользователей и более 1300 каналов. Позднее эта сеть была переименована в Freenode. К 2011 году она насчитывала около 65 000 пользователей и 40 000 каналов.

Попытки стандартизации

IETF-IRCUP была инициативой, начатой ​​в январе 1998 года, чтобы собрать все варинаты IRC-серверов для документирования нового RFC и, возможно, установить новый стандарт для всех сетей. Однако данный проект в скором времени был закрыт.

CTCP/2 была попыткой, начатой ​​в 1997 году Бьорном Ризом, разработать и стандартизировать протокол Client to Client, который никогда раньше не был в IRC. Известно, что клиенты расширяют и изменяют исходный протокол CTCP, не позволяя клиентам, не соответствующим требованиям, фильтровать новые коды. CTCP/2 должен был определить, как вводить коды и, возможно, более важные новые коды, чтобы позволить старым клиентам оставаться работоспособными. Он также предназначался для решения проблем IPv6, связанных с последовательностью DCC. Данный проект также не смог просущетсвовать долго.

XXI век

Сегодня существует сотни независимых IRC-сетей (например, amiganet, linuxnet, galaxynet, bestnet, NewNet, AnotherNet, ChatNet, UpperNet, ZAnet, X-Net, GammaNet, SuperChat, IceNet, RedBrasil, GR-Net, AlphaStar, SorceryNet и др.), но существуют и «четыре основных», которые продолжают разрабатывать собственную версию серверного программного обеспечения ircd.

С IRC сейчас работают тысячи пользователей Интернет по всему миру. IRC может служить как и для развлечения, так и для вполне серьезных дел: помощи и консультации в работе, передачи информации и прочего. Также некоторые российские писатели-фантасты периодически устраивают пресс-конференции на определенных каналах.

Спецификации

Основная спецификация от 1993 года - RFC1459.[1]

Также существуют дополнительные спецификации RFC 2000 года:[Источник 2]

  • Internet Relay Chat: Architecture - RFC2810;[2]
  • Internet Relay Chat: Channel Management - RFC2811;[3]
  • Internet Relay Chat: Client Protocol - RFC2812;[4]
  • Internet Relay Chat: Server Protocol - RFC2813.[5]

Принцип работы

Для IRC нужен сервер — компьютер, через который ваше сообщение отправляется другим собеседникам.[Источник 3]

Принцип работы IRC прост: пользователь подключается к серверу, выбирает канал для общения и обменивается сообщениями (и/или файлами) с другими пользователями. Группа серверов, соединённых между собой и несущих определённый набор каналов, образует сеть. Каналы служат для объединения пользователей по интересам. После подключения пользователя к одному из серверов сети ему становятся доступны все каналы, которые включает эта сеть.

Программа пользователя (IRC-клиент) отправляет набранный пользователем текст на сервер, и показывает текст, полученный с сервера от других пользователей. Все пользователи, находящиеся на одном канале, видят общие сообщения. Пользователь имеет возможность отправлять скрытые сообщения (видимые только ему самому и его адресату), а также устанавливать чат-сессию (когда не требуется набирать специальную команду, чтобы отправить скрытое сообщение) и передавать файлы. Пользователь может подключиться к множеству каналов одновременно. Пользователь известен в сети IRC под своим ником (ник — это последовательность букв и цифр, идентифицирующая пользователя). IRC-протокол позволяет пользователю зарегистрироваться — то есть выбрать себе ник и защитить его паролем.

Все IRC-клиенты имеют:

  • поле, в которое пользователь вводит свой текст,
  • поле, в котором программа показывает сообщения от других пользователей
  • дополнительные поля

Всё, что вводится в поле ввода — это либо команды, либо просто текст. Просто текст — это видимые другим пользователям набираемые пользователем фразы. Команды отличаются от просто текста тем, что начинаются со знака /.

Чат IRC

Общение в IRC-сети

IRC состоит из различных отдельных сетей и серверов IRC, устройств, которые позволяют пользователям подключаться к IRC. Наибольшими сетями являются EFnet (обычная IRC, в которой всегда около 32 000 людей онлайн), Undernet, IRCnet, DALnet, и NewNet.[Источник 4]

Как правило, пользователь, запускает программу (так называемый "клиент") для подключения к серверу, в одной из сетей IRC. Информационный сервер отдает и принимает данные с других серверов на той же сети. После подключения к серверу IRC в сети IRC, клиент присоединяется к одному или более "каналу" для общения.

IRC также предоставляет возможность как группового, так и приватного общения. Для группового общения существует несколько возможностей. Пользователь может отправить сообщение списку пользователей, при этом серверу отправляется список, сервер выделяет из него отдельных пользователей и отправляет копию сообщения каждому из них. Как при групповом, так и при приватном общении сообщения отправляются клиентам по кратчайшему пути и видимы только отправителю, получателю и входящим в кратчайший путь серверам.

Кроме того, возможна отправка широковещательного сообщения. Сообщения клиентов, касающиеся изменения состояния сети (например, режима канала или статуса пользователя), должны отправляться всем серверам, входящим в сеть. Все сообщения, исходящие от сервера, также должны быть отправлены всем остальным серверам.

Основные понятия

Бан - действие оператора канала в отношении пользователя или группы пользователей, которое ограничивает доступ данного пользователя или группы пользователей на данный канал на длительный промежуток времени.[Источник 5]

Бот - программа, выступающая в качестве пользователя с целью реализации некоторого набора функций, как, например, автоматизация контроля нормативности используемой на канале лексики, реализации дополнительного сервиса, автоматической генерации реплик и т.п.

Захватом канала считаются действия, в результате которых каналом не могут пользоваться на правах владельцев лица, зарегистрировавшие его в сети.

Канал - именованная группа, в которую обычно входит один или несколько пользователей, которые могут получать сообщения, адресованные данной группе (каналу).

Кик - действие оператора канала в отношении пользователя канала, которое приводит к удалению данного пользователя с канала, но не ограничивает повторный заход на канал.

Лог - запись какого-либо разговора или действия.

Нежелательная реклама - массовая рассылка информации рекламного характера, не согласованная с администрацией сети.

Ник - уникальное имя, однозначно идентифицирующее пользователя JustLan. Пользователям, использующим JustLan регулярно, рекомендуется обладать по крайней мере одним зарегистрированным (/ns help REGISTER) ником. Поскольку каждый пользователь известен на IRC под "ником", таким как smartgal или FunGuy, во избежание конфликтов с другими пользователями, лучше использовать такой ник, который не слишком часто встречается (например, Иван является плохим выбором).

Оператор канала ("OPS") - пользователь канала, который обладает дополнительными полномочиями и принимает участие в поддержании работы канала. Каналы находятся в их ведении и операторы могут выбирать пользователей, которые могут пользоваться этим сервисом или не могут путем так называемого "бана", могут также выбирать пользователей, которые должны покинуть сеть и даже тех, кто может или не может общаться в канале. Операторы канала полностью контролируют свой канал, а их решения являются окончательными. Если вас забанили, вы можете отправить им сообщение, где можете корректно попросить впустить вас обратно. Некоторыми IRC-серверами управляют IRC администраторы и операторы. Однако IRC операторы управляют серверами сами и не вмешиваются в личные споры.

Основателем (founder) канала считается пользователь, зарегистрировавший канал, или имеющий к нему пароль для идентификации на chanserv как founder.

Пользователь - участник сети, который пользуется ее услугами и сервисами.

Преемником (successor) канала является пользователь, который заменит основателя в случае истечения срока регистрации ника последнего.

Приват - частная беседа между двумя пользователями.

Сервер - составляющее звено JustLan-сети.

Супероператором (superop) канала считается пользователь канала, имеющий соответствующий доступ на chanserv (SOP).

Флуд - отправка такого количества информации в сеть, которое превышает установленный лимит, за определенный промежуток времени или мешает общению на канале, также общение на транслите приравнивается к флуду,или флуд ботом (на усмотрение одного из операторов).

Хаб-сервер - сервер который имеет более одного линка.

IRC-сервисы - специальное программное обеспечение, которое работает в рамках сети и обеспечивает сервис сети.

Участники IRC-сети

Сервер

Сервер формирует бэкбон IRC, предоставляющий точки присоединения клиентов для общения и присоединения других серверов для формирования IRC-сети. Серверы, доступные в сети формируют IRC-сеть, образуя сетевое дерево, в котором каждый сервер является самостоятельным, но тем не менее взаимодействующим с остальными серверами. Подобная форма сети предполагает наибольшую сохранность сети, даже при падении одного или нескольких серверов.[Источник 6]

Схематичное изображение IRC-сети

Каналы

Канал это обозначение группы из одного или большего числа клиентов, которые получают сообщения, адресованные в этот канал. Канал создается при соединении первого клиента с ним и канал исчезает, когда его покидает последний клиент. Пока канал отсутствует, любой клиент может завладеть каналом, назвав свой таким же именем.

Имена каналов - строка (начинающаяся с символа '&' или '#') длинной до 200 символов. Существует органичение на то, что название канала не может содержать пробелов (' '), Ctrl-G (^G или ASCII 7), или запятых (',' которая используется для создания списка каналов).

Протоколом предоставляется два типа каналов: один - распространяемый канал, который известен всем серверам, подсоединенным к сети. Эти каналы помечены первым символом; доступны только тем клиентам, на сервере которых он существует. Такие каналы отличаются начальным символом '&'.

Для создания нового канала или входа в существующий, пользователь должен запросить JOIN канала. Если канал отсутствовал, то канал создается и вошедший пользователь станоавится оператором канала. Если канал уже существует, но так или иначе он не отвечает на попытки войти, значит в настройках канала установлен какой-либо из нижеприведенных режимов. Возможно, этот канал только-для-приглашенных (invite-only), (режим +i), и вы сможете на его войти только будучи приглашенным. Пользователь может находится не нескольких каналах одновременно, но рекомендуется ограничиться десятью (10) каналами, ибо это полне достаточно для новичков и набирания опыта.

Если в IRC-сети происходит разрыв, вызванный разъединением двух серверов, канал так же разрывается на несколько частей, в которых остаются пользователи, сидящие на своих серверах. Когда серверы соединяются вновь, они восстанавливают части канала и его режимы. Если канал доступен по разные стороны, вхождения и режимы канала интерпретируются в своих манерах.

Клиенты

Настольные клиенты

Преимущество настольных клиентов в значительно большей настраиваемости. Например, можно выбирать между SSL и незашифрованным соединением, а также настроить клиент при запуске автоматически подключаться к серверу и входить на определённые каналы. При использовании настольного клиента необходио настроить подключение к серверу используя следующую информацию:

Сервер: irc.mozilla.org

Порт: 6667 (default) or 6697 (SSL)

Windows Mac Linux
Colloquy Доступны бинарные или исполняемые программные файлы
IRSSI Доступны бинарные или исполняемые программные файлы Доступны бинарные или исполняемые программные файлы Исполнимые файлы могут быть доступны. Если нет, надо будет скачать и скомпилировать исходные тексты.
Xchat Доступны бинарные или исполняемые программные файлы Доступен только в виде исходного кода, который надо скачать и скомпилировать Исполнимые файлы могут быть доступны. Если нет, надо будет скачать и скомпилировать исходные тексты.
Web-клиены

Есть также несколько клиентов, являющихся веб-приложениями, которые позволяют подключаться к IRC кликая на ссылки irc://. Один из простейших таких клиентов - Mibbit. Он работает очень сходно с настольными клиентами и ChatZilla, однако Mibbit НЕ требует flash или каких-либо других плагинов.

Роли пользователей

По отношению к серверу IRC пользователи могут быть IRC-операторами сервера (англ. IRCops), канала (англ. chanops) и обычными пользователями.[Источник 7]

Программа OS Режим работы Сайт
XChat W, L, M графика www.xchat.org
ChatZilla W,L графика www.mozilla.org
BitchX L текст bitchx.org
Miranda IM W графика www.miranda-im.org
mIRC W графика www.mirc.com
Pidgin W, L графика pidgin.im
KVIrc W, L, M графика www.kvirc.ru
Opera W, L, M графика opera.com
Irssi L, B, W текст irssi.org
Список некоторых программ-клиентов с примечаниями.

Правила общения в сети и этикет

Если вы уже имеете настроенный и подключенный к IRC клиент, то при общении в сети следует придерживаться некоторых правил:[Источник 8]

  1. Старайтесь выражаться кратко. Если вам надо отправить что-нибудь длинное, например кусок кода, вставьте это на pastebin.mozilla.org, а в IRC отправьте полученный URL.
  2. Обращаясь к конкретному человеку, старайтесь использовать форму «Имя: сообщение». Например: «ashughes: good morning!»
  3. У каждого канала есть своя тема. Старайтесь её придерживаться. Например, не обсуждайте проблемы с Thunderbird на #Firefox.
  4. IRC-каналы Mozilla наиболее активны с понедельника по пятницу с 9 утра по 7 вечера по тихоокеанскому времени, за исключением праздничных дней в США.
  5. Задав вопрос, будьте терпеливы. Ответить могут через несколько минут.
  6. Если вы, прежде чем задать вопрос, будете дожидаться ответа на сообщение типа «Помогите!» или «Здесь кто-нибудь есть?», вам вряд ли кто-то поможет.

Сообщения

Серверы и клиенты создают сообщения на которые можно ответить, а можно и нет. Если сообщение содержит правильные команды, как описано в предыдущем разделе, клиенту следует ответить как полагается, но это не означает, что всегда можно дождаться ответа; связь клиент-сервер и сервер-сервер очень рассинхронизированы по своей природе.

Каждое IRC-сообщение может содержать до трех главных частей: префикс (опционально), команду и параметры команды (которых может быть до 15). Префикс, команда и все параметры разделены одним (или более) символом пробела (' ', 0x20).

Префикс обозначается одним символом, стоящим вначале (':', 0x3b), который должен быть первым символом в сообщении. Между префиксом и двоеточием не должно быть никаких пробелов. Префикс используется серверами для обозначения источника появления сообщения.

Если префикс сообщения утерян, то за источник сообщения берут соединение, с которого было получено сообщение. Клиентам не следует использоваться префиксами при отсылке сообщения; если они начнут использовать префиксы, то приниматься будут только правильные и только с зарегистрированных никнеймов. Если исходные идентификаторы префиксов не будет найдены в серверных базах данных, или если они зарегистрированы с различных линков, то сервер будет игнорировать сообщение.

Команда должна содержать правильную IRC-команду или трехзначное число, представленное в ASCII-тексте.

IRC-сообщения всегда выглядят как строки символов, заканчивающихся парой символов CR-LF (Carriage Return - Line Feed. Возврат Каретки - Перевод Строки) и длиной строки, не превышающей 512 символов (в эти 512 входят и CR-LF). Так что, максимальная длина строки для команд и параметров - 510 символов. Перенос строки невозможен.

Соединения

Соединения один-на-один

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

Пример небольшой IRC-сети

Следующие примеры описывают представленный рисунок небольшой IRC-сети:

  • Пример 1: Сообщение между клиентами 1 и 2 должно пройти только через сервер A, который отправит его прямо к клиенту 2.
  • Пример 2: Сообщение между клиентами 1 и 3 должно пройти через серверы A и B. Остальным клиентам и серверам увидеть сообщение не суждено.
  • Пример 3: Сообщение между клиентами 2 и 4 пройдет по серверам A, B, С и D.

Соединения один-со-всеми

Основная цель IRC - предоставить форум, который позволит легко и эффективно устраивать конференции (одному с многими собеседниками). И IRC как нельзя лучше справляется с этой обязанностью.

Со списком

Самый большое неудобство в общении один-со-всеми - разговор с помощью клиентов со "списком" пользователей. Как это происходит: клиенты предоставляют список получателей, которым адресовано сообщение и сервер копирует сообщение всем указанным получателям. Это не так эффективно, как использование группы, при нарушении списка получателей и отправке сообщений без проверки может породить дубликаты сообщений.

С группой(каналом)

В IRC-канале имеется фунцкия, эквивалентная многосоставной группе; их жизнь динамична (люди входят и покидают каналы) и текущая беседа выходит на канал и отсылается серверам, которые поддерживают пользователей на данном канале. Если на сервере несколько пользователей, сидящих на одном канале, текст сообщения отсылается только серверу, который в свою очередь отсылает каждому клиенту на канале. Это действие повторяется для каждого соединения клиент-сервер, пока исходное сообщение не дойдет до каждого пользователя на канале.

Следующие примеры относятся к представленному в пункте "Соединения один-на-один" рисунку:

  • Пример 4: Любой канал с одним клиентом(клиент 1). Сообщения в канал уходят на сервер и потом кому-нибудь еще.
  • Пример 5: На канале клиент 1 и клиент 2. Все сообщения проходят путь, как если бы они были приватными сообщениями между двумя клиентами вне канала.
  • Пример 6: На канале клиенты 1, 2 и 3. Все сообщения канала отправляются всем клиентам и только их сервера, которые обязаны пропустить сообщение, как если бы оно было приватное и для одного клиента. Если клиент 1 отправил сообщение, оно повернет обратно на клиента 2 и только тогда через сервер B к клиенту 3.
С маской хоста/сервера

Предоставляя IRC-операторам возможность отправки сообщений большому числу общающихся пользователей, используются маски отправки сообщений по хосту или серверу. Эти сообщения отправляются пользователям, чья информация о хоста или сервера попала под маску. Сообщения отсылаются только туда, где расположены пользователи, в виду похожести каналов.

Соединения один-всем

Тип сообщения один-всем лучше описать как обьявление, отправляемое всем клиентам или серверам, или тем и другим вместе. В больших сетях одно сообщение может повлечь большое количество траффика для того, чтобы попасть ко всем желающим.

Для многих сообщений, которые не имеют выбора, но извещение ими всех серверов эта форма посылки информации каждым сервером - разумная последовательность между серверами.

Клиент-Клиенту

Класса подобных сообщений нет, который позволяет отсылать сообщение от пользователя, к каждому другому клиенту.

Клиент-Серверу

Многие команды, которые в результате изменения информации (такой как членство канала, режим канала, статус пользователя, etc), могут быть отправлены всем сервером по умолчанию, и их распространение не может быть изменено клиентом.

Сервер-Серверу

Пока многие сообщения между серверами распространяются на все «другие» серверы, требования для любого такого сообщения - влиять на каждого пользователя, канал или сервер. С тех пор, как эти начальные пункты находятся в IRC, почти все сообщения, отправленные с сервера, являются извещениями для всех остальных присоединенных серверов.

Основные команды

Список команд в IRC, определённых в RFC IETF 1459 и 2812. Во многих IRC-клиентах необходимо, чтобы перед командой находился символ слэша. Угловые скобки («<» и «>») обозначают аргументы команды. Аргументы, заключённые в квадратные скобки («[» и «]») являются необязательными и замещают собой значения по умолчанию.[Источник 9]

Название команды Синтаксис Суть Где определена
ADMIN ADMIN [<сервер>] Заставляет сервер вернуть информацию об администраторе сервера, определённый в аргументе <сервер>, или текущего сервера, если этот аргумент не приведен. RFC1459
AWAY AWAY [<сообщение>] Задаёт сообщение, которое автоматически отображается в ответ на приватные сообщения, направленные пользователю. Если аргумент <message> не указан, команда убирает ранее установленный статус. RFC1459
CONNECT CONNECT <сервер> [<порт> [<удаленный сервер>]] (RFC1459)

CONNECT <сервер> <порт> [<удаленный сервер>] (RFC2812)

Заставляет сервер, определённый в аргументе <удаленный сервер> (или текущий сервер, если <удаленный сервер> не указан) соединиться с сервером <сервер> на порт <port>. Эта команда доступна только IRC-операторам. RFC1459;

параметр <порт> стал обязательным в RFC2812

DIE DIE Заставляет сервер отключиться RFC2812
ERROR ERROR <сообщение об ошибке> Эта команда используется серверами для сообщения об ошибке другим серверам. Также она используется перед завершением соединения с клиентом. RFC1459
INFO INFO [<цель>] Возвращает информацию о сервере, определённом в параметре <цель>, или текущем сервере, если параметр <цель> не указан. Информацию включает версию сервера, дату его компиляции, информацию о наложенных патчах, дате запуска, и любую другую информацию, которая может являться нужной. RFC1459
INVITE INVITE <пользователь> <канал> Приглашает пользователя <пользователь> на канал <канал>. <канал> не должен существовать. Если он есть, только находящиеся на канале пользователи могут приглашать других участников. Если на канале включен режим +i, только операторы канала могут приглашать других пользователей. RFC1459
ISON ISON <имена пользователей> Запрашивает статус пользователей, перечисленных в первом аргументе команды <имена пользователей>, и разделенных пробелами. Сервер возвращает список тех из них, которые в данный момент находятся в сети, в виде разделенного пробелами списка. Если ни один из них не находится в сети, сервер возвращает пустой список. RFC1459
JOIN JOIN <каналы> [<ключи>] Позволяет зайти на каналы, заданные в виде разделенного запятыми списка <каналы>. Также позволяет указать пароли, если они нужны, в разделенном запятыми списке <ключи>. Если канал(ы) не существуют, они будут созданы. RFC1459
KICK KICK <канал> <пользователь> [<сообщение>] Удаляет пользователя <пользователь> с канала <канал>. Эта команда может быть использована только операторами канала. RFC1459
KILL KILL <пользователь> <сообщение> Удаляет пользователя <пользователь> из сети. Эта команда может быть использована только IRC-операторами. RFC1459
LINKS LINKS [<удаленный сервер> [<маска сервера>]] Отображает все связи сервера, совпадающие с маской <маска сервера>, если она определена, на сервере <удаленный сервер>, или на текущем сервере, если аргумент не указан. RFC1459
LIST LIST [<каналы> [<сервер>]] Возвращает список всех каналов на сервере. Если задан разделенный запятыми список <каналы>, возвращает их топики. Если определен <сервер>, команда передается серверу <сервер>. RFC1459
LUSERS LUSERS [<маска> [<сервер>]] Возвращает статистику о размере сети. Если команда вызывается без аргументов, отображается статистика всей сети. Если задан параметр <маска>, команда возвращает только статистику определённого маской подмножества сети. Если определен параметр <сервер>, команда передается серверу <сервер>. RFC2812
MODE MODE <имя пользователя> <флаги> (пользовательские)

MODE <канал> <флаги> [<аргументы>]

Команда MODE имеет два назначения. Она может использоваться для изменения флагов пользователя и режимов канала. RFC1459
MOTD MOTD [<server>] Возвращает MOTD сообщение от сервера <server>, или от текущего сервера, если аргумент опущен. RFC2812
MSG MSG nickname message Посылка приватного сообщения пользователю без открытия приватного окна. везде
NAMES NAMES [<каналы>] (RFC1459)

NAMES [<каналы> [<сервер>]] (RFC2812)

Возвращает список пользователей, находящихся на каналах, определённых в разделенном запятыми списке <каналы>. Если аргумент <каналы> не определен, отображает всех пользователей, распределенных по именам каналов. Пользователи, не находящиеся ни на одном из каналов, отображаются как состоящие на канале «*». Если определен параметр <сервер>, команда передается серверу <сервер>. RFC1459;

необязательный параметр <сервер> добавлен в RFC2812

NICK NICK <имя пользователя> [<счётчик>] (RFC1459)

NICK <имя пользователя> (RFC2812)

Позволяет пользователю изменить его ник в IRC. Счётчик ранее использовался несколькими серверами. RFC1459;

необязательный параметр <счётчик> удален в RFC2812

NOTICE NOTICE <цель сообщения> <сообщение> Эта команда работает так же, как PRIVMSG, за исключением того, что автоматический ответ не может быть отправлен в ответ на сообщение NOTICE. RFC1459
OPER OPER <имя пользователя> <пароль> Позволяет пользователю произвести аутентификация в качестве IRC-оператора на этом сервере/сети. RFC1459
PART PART <каналы> Позволяет пользователю покинуть каналы, определённые в разделенном запятыми списке <каналы>. RFC1459
PASS PASS <пароль> Устанавливает пароль соединения. Эта команда должна быть использована перед регистрацией имени пользователя. RFC1459
PING PING <сервер1> [<сервер2>] Проверяет наличие соединения. В ответ на сообщение PING возвращается ответ PONG. Если определен <сервер2>, сообщение передается и ему. RFC1459
PONG PONG <сервер1> [<сервер2>] Эта команда является ответом на команду PING и работает точно так же. RFC1459
PRIVMSG PRIVMSG <цель сообщения> <сообщение> Отправляет приватное сообщение <сообщение> для <цель сообщения>, которой может являться пользователь или канал. RFC1459
QUERY QUERY nickname message Посылка приватного сообщения пользователю с открытием приватного окна. везде
QUIT QUIT [<сообщение>] Отключает пользователя от сервера. RFC1459
REHASH REHASH Заставляет сервер повторно прочитать и использовать конфигурационные файлы. Эта команда может быть использована только IRC-операторами. RFC1459
RESTART RESTART Перезапускает сервер. Эта команда может быть использована только IRC-операторами. RFC1459
SERVICE SERVICE <nickname> <reserved> <distribution> <type> <reserved> <info> Регистрирует новый сервис в сети. RFC2812
SERVLIST SERVLIST [<маска> [<тип>]] Отображает список сервисов, находящихся в данный момент в сети. RFC2812
SERVER SERVER <имя сервера> <счетчик> <информация> Сообщение сервера используется для того, чтобы сообщить серверу, что другой конец нового соединения является сервером. Также это сообщение может быть использовано для передачи данных сервера на всю сеть. <счетчик> определяет, сколько прыжков (соединений с сервером) от <имя сервера>. <информация> содержит дополнительную информацию о сервере. RFC1459
SQUERY SQUERY <имя сервиса> <текст> Команда идентична PRIVMSG за исключением того, что получатель является сервисом. RFC2812
SQUIT SQUIT <сервер> <комментарий> Заставляет сервер <сервер> выйти из сети. RFC1459
STATS STATS <запрос> [<сервер>] Возвращает статистику текущего сервера, или сервера <сервер>, если он определен. RFC1459
SUMMON SUMMON <пользователь> [<сервер>] (RFC1459)

SUMMON <пользователь> [<сервер> [<канал>]] (RFC2812)

Отправляет пользователям, находящимся на том же хосте, что и <server>, сообщение с предложением присоединиться к IRC. RFC1459;

необязательный параметр <канал> добавлен в RFC2812

TIME TIME [<сервер>] Возвращает локальное время текущего сервера, или сервера <сервер>, если этот параметр определен. RFC1459
TOPIC TOPIC <канал> [<тема>] Позволяет пользователю запросить или установить топик канала <канал>. Если параметр <тема> определен, изменяет тему канала на <тема>. Если на канале включен режим +i, только операторы канала могут устанавливать тему. RFC1459
TRACE TRACE [<цель>] Позволяет просмотреть путь через IRC-сеть до определённого сервера и клиента, с использованием метода, аналогичного traceroute. RFC1459
USER USER <имя пользователя> <хост> <имя сервера> <реальное имя> (RFC1459)

USER <имя пользователя> <флаги> <не используется> <реальное имя> (RFC2812)

Эта команда используется в начале установления соединения для того, чтобы определить имя пользователя, хост, реальное имя и флаги соединения. Параметр <реальное имя> может содержать пробелы, и должен начинаться с двоеточия. RFC1459,

изменена в RFC2812

USERHOST USERHOST <имя пользователя> [<имя пользователя> <имя пользователя> ...] Возвращает информацию о хостах, определённых пользователей. RFC1459
USERS USERS [<сервер>] Возвращает список пользователей и информацию об этих пользователях в формате, похожем на UNIX-команды who, rusers и finger. RFC1459
VERSION VERSION [<сервер>] Возвращает версию сервера <сервер>, или текущего сервера, если этот параметр не определен. RFC1459
WALLOPS /server USERHOST m2418743 <сообщение> Отправляет <сообщение> всем оператором, соединённым с сервером (RFC1459), или всем пользователям с установленным флагом 'w' (RFC2812). RFC1459
WHO WHO [<имя> ["o"]] Возвращает список пользователей, совпадающих с <имя>. Если установлен флаг «o», возвращается информация только об IRC-операторах. RFC1459
WHOIS WHOIS [<сервер>] <имена пользователей> Возвращает информацию о пользователях, определённых в разделенном запятыми списке <имена пользователей>. Если определен параметр <сервер>, команда передается ему для обработки. RFC1459
WHOWAS WHOWAS <имя пользователя> [<сетчик> [<сервер>]] Возвращает информацию об имени пользователя, которое сейчас не используется (в связи с отключением пользователя или изменением его имени). Если определен параметр <счетчик>, возвращается информация о последних <счетчик> случаях использования ника. Если определен параметр <сервер>, команда передается ему для обработки. В RFC2812, <имя пользователя> может являться разделенным запятыми списком имен пользователей. RFC1459

Клиентские приложения для IRC-сетей

Bersirc 2.2.14 ChatZilla 0.9.73 Gaim 1.5.0 HydraIRC v0.3.151 IceChat 7 Klient 2.1.4 KVIrc 3.2.3 Miranda 0.4.0.3 mIRC 6.17 Opera's Сhat Сlient 8.54 Trillian 3.1 XСhat 2.6.3
Windows да да да да да да да да да да да да
Linux нет да да нет нет нет да нет нет да нет да
Mac OS X нет да нет нет нет нет да нет нет да нет нет
UTF8 нет да да нет нет нет да нет да да нет да
SSL нет да нет нет нет нет да да нет да нет да
Несколько серверов одновременно да да да да да да да да да да да да
Настраиваемая панель инструментов нет нет нет нет нет да да нет нет да нет нет
Окно ввода пароля NickServ да нет да да нет да да да да да нет да
Графические смайлики нет да да нет да нет да нет нет да да нет
DCC-чат да да нет да да да да да да нет нет да
Управляющие коды (цвет, стиль) нет да нет нет да нет да да да да да да
Список любимых сетей да нет нет да да да да нет да нет нет да

IRC на мобильных телефонах

В качестве небольшого дополнения к основному материалу, стоит упомянуть о возможности общения на каналах IRC с использованием обычного мобильного телефона. Главное, чтобы ваш аппарат поддерживал работу Java-приложений и мог подключаться к интернету.[Источник 10]

В качестве примера, возьмем JmIrc — J2ME MIDlet, работающий в мобильных телефонах. Программа не имеет проблем с кириллицей при использовании кодировок win-1251 и koi8-r. Вы можете работать только с одним сервером одновременно, при этом, правда, находясь на нескольких каналах одновременно. У программы довольно удобная навигация. Например, для перемещения между каналами достаточно повернуть джойстик телефона вправо или влево.

Большинство программ данного класса распространяется на платной основе. Наличие бесплатной альтернативы в любом секторе рынка всегда только приветствуется.

Установка

Для того чтобы подключиться к IRC каналу #ubuntu-ru, в первую очередь, необходим IRC-клиент. Наиболее распространенным среди пользователей Ubuntu является XChat. Установить его можно из центра приложений или же введя в консоли: apt-get install xchat

Вторым шагом к общению на канале #ubuntu-ru станет регистрация ника (персонального имени) в сети FreeNode, где и расположен IRC-канал. Для этого необходимо запустить XChat, найти в списке сетей FreeNode и войти. Далее по пунктам:

  1. В строке для набора сообщений вписываем /msg nickserv info <nick> , где <nick> это ваш желаемый ник. Этим мы проверяем не занят ли ник кем-то другим.
  1. Если все в порядке, то там же набираем /msg nickserv register <password> <e-mail> , где <password> и <e-mail> — ваш пароль и действующая электронная почта, соответственно.
  1. Проверяем почту, должно прийти письмо с новой командой для активации ника, которую так же прописываем в строку для сообщений.
  1. После этого идентифицируемся на сервере, прописав в строку для сообщений /msg nickserv identify <password> , где <password> выбранный вами пароль.

Примечание. Знаки < и > при написании команд использовать не нужно, ими просто выделены те данные которые должны ввести вы.

Для того чтобы войти на канал #ubuntu-ru вам необходимо найти его. Однако прячется он достаточно глубоко, потому проще всего выбрать в меню программы XChat «Сервер» — «Зайти на канал…», а в появившемся окне прописать #ubuntu-ru .[Источник 11]

Примечания

  1. J. Oikarinen & D. Reed. "Internet Relay Chat Protocol.". Retrieved 1993-05-30.  Check date values in: |access-date= (help)
  2. C. Kalt. "Internet Relay Chat: Architecture.". Retrieved 2000-04-30.  Check date values in: |access-date= (help)
  3. C. Kalt. "Internet Relay Chat: Channel Management.". Retrieved 2000-04-30.  Check date values in: |access-date= (help)
  4. C. Kalt. "Internet Relay Chat: Client Protocol.". Retrieved 2000-04-30.  Check date values in: |access-date= (help)
  5. C. Kalt. "Internet Relay Chat: Server Protocol.". Retrieved 2000-04-30.  Check date values in: |access-date= (help)

Источники

  1. History of IRC (Internet Relay Chat) // Daniel Stenberg [2011]. URL: https://daniel.haxx.se/irchistory.html (дата обращения: 21.12.2017).
  2. IRC // Википедия [2017]. URL: https://ru.wikipedia.org/wiki/IRC (дата обращения: 21.12.2017).
  3. Википедия:IRC // wikizero [2017]. URL: https://www.wikizero.com/ru/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:IRC (дата обращения: 21.12.2017).
  4. Что такое IRC, и как это работает? // neora.ru [1995-2013]. URL: http://www.neora.ru/articles/techno_articles/chto_takoe_irc_i_kak_eto_rabotaet (дата обращения: 21.12.2017).
  5. Правила поведения в IRC-сети JustLan// Навигатор сети JustLan[2008-2013]. URL: http://justlan.ru/services/irc/rules/ (дата обращения: 21.12.2017).
  6. RFC 1459 — Протокол ретранслируемого интернет-чата (IRC)// Русские переводы RFC[2007-2017]. URL: https://rfc2.ru/1459.rfc/2#p1.2 (дата обращения: 21.12.2017).
  7. Список IRC-клиентов // Википедия [2017]. URL: https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_IRC-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%BE%D0%B2 (дата обращения: 21.12.2017).
  8. Начало работы с IRC // MDN web docs [2005-2017]. URL: https://developer.mozilla.org/ru/docs/QA/Getting_Started_with_IRC (дата обращения: 21.12.2017).
  9. Список IRC-команд // Википедия [2017]. URL: https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_IRC-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4 (дата обращения: 21.12.2017).
  10. Путеводитель по IRC-клиентам // ixbt.com [1997-2017]. URL: http://www.ixbt.com/soft/irc.shtml#13 (дата обращения: 21.12.2017).
  11. Об IRC // ircnet.ru [2000-2017]. URL: http://ircnet.su/about_irc.html (дата обращения: 21.12.2017).