|
Большая стIRCа
Еще один способ общения в интернете
Вячеслав Кричкин
grbz@km.ru

Способов пообщаться по интернету сейчас много, хороших и разных. Хороший способ
общения - это тот, который нам в данный момент необходим, чтобы передать
информацию получателю в доступном ему виде за приемлемое время и получить ответ.
Если время - показатель некритичный, то можно послать письмо по электронной
почте, оставить сообщение на форуме или комментарий в онлайн-дневнике, через
несколько часов или даже дней вам, может быть, ответят; если хочется пообщаться
с человеком в режиме реального времени, к вашим услугам "аська" или ее
разновидности… Ну а если нужно обсудить что-то с группой людей? Можно, конечно,
использовать веб-чат, но это серьезный расход времени и трафика (при каждом
обновлении загружается весь текст чата), да и глюков у него хватает. Гораздо
проще и эффективнее для таких целей использовать технологию сетевого общения
Internet Relay Chat (сокращенно - IRC).
Немного истории
IRC был разработан финским программистом Ярко Ойкариненом (Jarkko Oikarinen) еще
в 1988 году, когда интернет был малоизвестен широкой публике, а использовался
главным образом научными учреждениями (ведь WWW еще не изобрели к тому времени).
Обмен информацией тогда проходил в основном посредством BBS (Bulletin Board
Systems - электронные доски объявлений) по следующей схеме: пользователь
соединялся с "бибиэской", закачивал свои файлы и объявления (которые могли быть
адресованы как всем, так и каким-то конкретным пользователям) и сам мог скачать
файлы и объявления, к которым имел доступ. Однако главной проблемой было то, что
в каждый момент времени с BBS мог работать только один человек, то есть обмен
информацией в реальном времени был невозможен даже между двумя пользователями,
не говоря уже о группе (впрочем, можно было пообщаться в онлайновом режиме с
администратором BBS, однако это мало кому служило большим утешением).
Ойкаринен, в то время работавший в университете финского города Оулу, не
понаслышке знал об этой проблеме, так как сам администрировал BBS, поэтому решил
написать программу, которая позволила бы общаться между собой группе людей в
реальном времени. Так появился IRC. Вскоре IRC-серверы появились в других
финских городах, а через некоторое время и в других странах. Они соединялись
друг с другом, собственно, появлялись IRC-сети, сначала в Финляндии, затем в
США, а оттуда IRC распространился по всему миру. На сегодняшний день, точнее, на
момент написания этих строк, по данным сайта
www.irc.netsplit.de (дело в том, что
статистика на нем обновляется каждый час), в мире насчитывается 878 IRC-сетей и
6621 IRC-сервер.
Структура IRC
Само словосочетание Internet Relay Chat адекватно перевести на русский язык
оказалось не так-то просто. Трудности возникали с многозначным словом "relay", и
обычно его вообще не переводили, в итоге получалось что-то типа "болтовня по
интернету". Однако, как сообщил нашему журналу сам господин Ойкаринен, в смысл
этого слова вложен принцип передачи данных по IRC-сети, а именно: сообщение,
посланное на сервер, передается (ретранслируется, relays) на другие серверы
сети, подобно эстафетной палочке.
Что необходимо для того, чтобы начать общение? В первую очередь - выбрать
никнейм (ник). Ограничения на ник просты: он не должен содержать пробелов и
служебных символов (/, #, @, % и др.), а также обязан быть уникальным в пределах
сети. Также надо указать свое реальное имя и e-mail (достоверность не
обязательна, главное, чтобы соответствующие поля не пустовали). После соединения
с сервером можно выбрать каналы, на которых вы собираетесь общаться, либо
создать свои. IRC-канал больше всего напоминает интернет-комьюнити в режиме
онлайн - как правило, там собираются люди либо с общими интересами, либо
объединенные какими-то факторами (например, географическим - существуют каналы
городов, районов и т. д.).
В принципе, количество каналов в сети, пользователей на канале и одновременно
посещаемых каналов не лимитировано, если только ограничения не установлены
непосредственно в IRC-сети. Названия каналов состоят из одного слова, и перед
ними в большинстве случаев ставится символ #.
Обычно в IRC-клиентах канал выглядит как и простой веб-чат: список ников
пользователей, присутствующих на канале, окно, в котором отображаются реплики, и
командная строка, необходимая как для отправки сообщений, адресованных другим
пользователям, так и для введения команд, в которую, соответственно, можно
вписывать как фразы разговора, так и команды. Команда начинается с символа / и
состоит из одного слова, после которого указываются ее параметры. Например,
/join #mychannel выполняет вход на канал с названием #mychannel, если он уже
создан, иначе в сети создается канал с таким названием и вам присваивается
статус оператора на нем. Есть команды с необязательными параметрами, например
/quit. Если написать какую-нибудь фразу после нее, то она появится на канале
вместе с сообщением о вашем уходе.
Пользователи на каналах обладают разными правами и делятся на простых юзеров и
операторов. Операторы обладают всеми возможными правами, самым важным из которых
является возможность удалить любых пользователей с канала (то есть "кикнуть", от
слова kick) и запретить им доступ к каналу ("забанить", от слова ban), причем
сделать это можно не только по нику, но и по маске (см. врезку). Операторов,
или, как их все называют, опов, легко узнать по символу @ перед ником. Правом
кикать и банить обладают также полуоператоры (халф-опы); перед их никами стоит
символ %. Есть еще одна категория пользователей - войсы (voices). У них нет
права на кик и бан. Войсы отличаются от простых пользователей только тем, что в
списке ников располагаются выше простых пользователей, перед их никами стоит
символ + и они, как и опы, имеют право голоса, в том случае, если канал
модерируемый.
На каналах можно не только общаться, но и беседовать тет-а-тет. Команда /msg
<ник> <сообщение> отсылает сообщение пользователю с указанным ником, при этом в
его клиенте открывается окно диалога (приват) с этим сообщением. Команда /notice
<ник> <сообщение> выполняет то же самое, только без открывания привата -
сообщение отображается в окне канала, однако прочесть его может только указанный
в соответствующем параметре команды пользователь. Наконец, команда /query <ник>
<сообщение> также отсылает конфиденциальное сообщение, и при этом в вашем
клиенте сразу же открывается окно привата.
Регистрируем ник
Регистрация ника - процедура, в общем, необязательная. Однако вряд ли вы
обрадуетесь, узнав о том, что кто-то пользуется вашим ником в каких бы то ни
было целях. Для защиты ника в сетях существует сервис, который позволяет
зарегистрировать ник, защитить его паролем, а также настроить ряд других опций.
Обычно этот сервис называется Nickserv. Синтаксис команд, отсылаемых этим
сервисом, может быть разным для разных сетей, однако его основные функции
приблизительно одинаковы. Вы можете установить пароль на свой ник, после чего
при каждом входе в сеть Nickserv будет просить вас авторизоваться.
Его действия (если пароль еще не был введен) также поддаются настройке. Можно
вообще ничего не предпринимать, а сделать так, что Nickserv будет давать
определенное время на ввод пароля, а по истечении этого периода удалять ник из
сети. Кроме того, можно поставить ограничение на количество попыток ввода
пароля. В случае если вы застали злоумышленника на месте "преступления", можете
сами выгнать пользователя, сидящего под вашим ником в сети, не обладая при этом
правами оператора. А пусть не балуется!
Создаем канал
Сказав о том, что для создания своего собственного канала достаточно набрать
команду /join #<имя канала>, я не упомянул об одном но. Да, IRC-каналы
динамические, то есть создаются при успешном входе на них и исчезают с уходом
последнего пользователя. Однако имя канала, так же, как и никнейм, может быть
зарегистрировано. Существует и аналогичный Nickserv сервис Chanserv, служащий
для регистрации и настройки канала.
Рассмотрим пример. Предположим, вы создали канал под названием #upgrade. Если
вам сразу же был присвоен статус оператора, то, скорее всего, этот канал не
зарегистрирован. Для того чтобы зарегистрировать его, надо авторизовать свой ник
при помощи Nickserv (естественно, ник должен быть предварительно
зарегистрирован). Затем следует зарегистрировать канал (надо будет придумать
пароль), после чего вы получите статус основателя канала, или фаундера. Фаундер
поначалу обладает наивысшим уровнем доступа к каналу (access level). Он
назначает другим пользователям уровень доступа и настраивает режимы канала или
моды (modes), однако потом он может наделить этими правами кого-либо еще,
выставив ему необходимый уровень доступа.
Уровень доступа выражается целым числом и показывает права конкретного
пользователя, вернее, права ника или маски на канале. К примеру, по умолчанию
при уровне доступа -1 пользователь, имеющий его при входе на канал,
автоматически попадает в бан, а при уровне доступа 10 получает статус оператора.
Эти значения при желании, конечно же, поддаются изменению. Список масок и их
уровней доступа (access list) хранится в базе данных Chanserv. При помощи модов
канал можно настроить по своему усмотрению, например, разрешить вход на канал
только по приглашениям (это делается при помощи команды /invite <ник> <канал>,
причем воспользоваться ей можно начиная с определенного уровня доступа), пускать
на канал только после ввода пароля, сделать канал модерируемым (то есть говорить
могут только опы и войсы) и пр.
В Chanserv, как и в Nickserv, существует еще множество настроек, помимо
описанных выше. Чтобы получить дополнительную информацию о них, надо просто
воспользоваться командой help для конкретного сервиса.
Заключение
На мой пристрастный взгляд, IRC - самая демократичная технология сетевого
общения, по крайней мере, из наиболее распространенных. Вы можете создать свой
канал и установить там свои порядки или общаться на уже существующем канале,
соблюдая правила, установленные его хозяевами. Кстати, вам ничто не мешает
общаться в приватах, вообще не заходя на какой-либо канал. IRC-сети
предоставляют сервисы, посредством которых можно защитить свой ник от
использования другими людьми и настроить свой канал так, как вам этого хочется.
ICQ же средство коммуникации сугубо индивидуальное. Общаться один на один (не
важно, деловая это переписка, дружеская беседа или флирт) в режиме онлайн при
помощи этой технологии удобнее всего. Круг пользователей ICQ ничем не ограничен,
нет никаких препятствий для того, чтобы начать общение, иерархия пользователей
отсутствует. К тому же ICQ обладает значительно большими, чем IRC, возможностями
для знакомств с новыми людьми - в User's details можно указать свои интересы,
возраст, знак зодиака, повесить свою фотографию и так далее. В IRC эти
возможности просто отсутствуют - никаких сведений о пользователе, кроме ника,
электронной почты и имени не предусмотрено.
Да этого и не надо, так как подразумевается, что на каналах собираются только
"свои" люди. Это не случайно, ведь слово chat в классическом англо-русском
словаре Мюллера переводится как "дружеский разговор". Спор о том, какая
технология лучше, вообще заведомо лишен смысла, так как, во-первых, несколько
технологий всегда лучше, чем одна, а во-вторых, они нужны для выполнения разных
задач. И если вам хочется высказать свое мнение или спросить совета, как в
комьюнити или на форуме, тут же получить ответ и продолжить беседу в реальном
времени - добро пожаловать в IRC.
Идентификация пользователя
Любого пользователя IRC можно идентифицировать по специальной строке, состоящей
из трех частей: ник, идент и IP-адрес или имя хоста, которые записаны в виде
ник!идент@хост. Так как IRC первоначально использовался под Unix, существовала
необходимость различать пользователей, работающих на одной машине.
При помощи программы identd сервер может узнать имя пользователя, под которым с
этим сервером установлено соединение. Обязательное наличие у пользователя идента
предусмотрено технологией IRC, так что в настройках IRC-клиента это поле
пустовать не должно. Как мы можем использовать эту строку идентификации с
пользой для себя? Допустим, какой-нибудь пользователь нарушает правила поведения
на канале или просто вас раздражает. Если вы оператор, можете его забанить, если
нет, добавить его в свой игнор-лист при помощи команды /ignore <ник | маска>.
Однако если ставить в игнор или банить, используя только ник, то ничто не мешает
этому пользователю сменить ник и продолжить свои злодеяния дальше. А если
набрать команду игнора, скажем, в таком виде: /ignore *!*@<IP-адрес>, то будут
игнорироваться сообщения от пользователя с указанным IP-адресом, под каким бы
ником и идентом он ни вошел на канал. В данном примере *!*@<IP-адрес> - это и
есть маска, то есть условие, идентифицирующее группу пользователей, к которой
будет применяться ваше действие. То есть использование масок повышает гибкость
работы с подобными средствами. Для того чтобы определить идент и хост
пользователя, а также его имя, сервер, время бездействия и список каналов, на
которых он в данный момент находится, применяется команда /whois <ник>.
UP
|