Делюсь опытом

IRC и всё о ней

3 сентября 2009, 20:16 | Автор
1 звезда2 звезды3 звезды4 звезды5 звезд (1 голосов, средний: 5,00 из 5)
Загрузка...

Как я и обещал www, расскажу сегодня о IRC. IRC Это специальная сеть, которая позволяет организовывать чат.
Для начала немного теории. Статья в википедии. Некоторые выдержки из неё:

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

При подключении к серверу IRC пользователь видит список доступных каналов, в каждый из которых (или сразу в несколько) он может «войти» (подключиться). Канал представляет собой виртуальную «комнату», в которой могут находиться несколько пользователей. Все сообщения, выдаваемые в канал, видны всем пользователям, которые находятся только на этом же канале. Каждый канал имеет своё название и, как правило, определённую тему для обсуждения. После «входа» на канал пользователь может видеть, что пишут остальные участники канала, а также может сам писать сообщения. Тему, обсуждаемую на канале, обычно следует из его названия (например, канал #Wikipedia-ru).

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

Ну в общем предположим, что вы либо:
а) Прочитали статью.
б) И так уже знаете, что такое IRC.
в) Не знаете и знать не хотите, что это такое.

И дальше я буду вести повествование о сугубо практической части. Я рассмотрю всё на примере IRC-сети RusNet и IRC-клиента mIRC, потому что это наиболее используемые мной сеть и клиент. Если будут вопросы по другим сетям/клиентам, отвечу на них в комментах. Итак, предположим вы зашли на сайт и скачали программу. Я скачал текущую версию 6.35. От версии к версии интерфейс меняется не принципиально, поэтому думаю до версии 7 инструкции дотянут легко. С установкой, я надеюсь, вы справитесь. Там в принципе можно нажимать всегда далее. После установки вы увидите что-то типа окна, где вам предложат зарегистрироваться (программа в принципе платная, но на самом деле за плату ничего нового вы не получите, т.е. фактически она бесплатная). После нажатия continue вы увидите что-то типа (по клику большое):

стартовое окно mirc

Рис.1 Стартовое окно mirc


Собственно заполняем 4 поля на картинке: Full Name, Email Address (реальность не проверяется никак), Nickname, Alternative (альтернативный ник, на случай, если первый занят). Для тестового примера я буду использовать
Full Name: Rofland Roflandovich
Email Address: rofland@rofland.ru
Nickname: ROFLAND
Alternative: ROF
И уберу галочку invisible mode
В принципе, для начала работы этого достаточно. Но мы поскольку хотим присоединиться к серверам RusNet-а, то нам надо произвести дополнительные настройки. Слева в меню выбираем Servers. Следующая картинка:
меню Servers

Рис.2 Меню Servers


Для начала чистим всё, что там есть. Выбираем любой сервер и зажимаем кнопочку delete. В итоге получим пустой список серверов. Всё равно они нам вряд ли когда либо понадобятся. Потом нажимаем кнопочку Add и видим:
добавка сервера

Рис.3 Добавка сервера


Соответственно надо ввести:
Description: Что угодно, это будет как название.
IRC Server: irc.ru (можно вводить другие сервера, полный список на офф сайте)
Ports: 6669 (разные порты выдают текст в разных кодировках, возможны варианты, но как правило используется 6669)
Group: если вы хотите сделать группу серверов (как правило выделяют сеть и в ней создают сервера), то сюда надо вводить общее для них название. В этом примере я не буду рассматривать это, но если вам вдруг захочется, я думаю вы сами додумаетесь как это сделать или попросите меня.
Password: некоторые сервера доступны только по паролю. В нашем случае это не так.
Нажимаем Add
Всё, сервер готов. Можно нажать select и это вернёт нас к первому окну, где уже смело можно жать connect. В главном окне пойдёт процесс подключения к серверу:
подключение к серверу

Рис.4 Подключение к серверу


Через некоторое время подключение произойдёт и вы увидите окно с выбором каналов:
выбор каналов

Рис.5 Выбор каналов


Как и с серверами, эти каналы нам скорее всего не понадобятся, поэтому кнопкой delete подчищаем список каналов. И добавим свой канал, нажав кнопку Add:
создание канала

Рис.6 Создание канала


Вводим следующие данные:
Channel: #rof (это для примера, можно вводить любой другой)
Password: если у канала есть пароль, то его надо вводить сюда. В нашем примере пароля нет.
Description: описание канала, я оставляю пустым как правило.
Folder: тоже оставляю пустым. Это не сильно нужно.
Networks: если вы при создании сервера указали группу, то здесь можно будет нажать кнопку Add и выбрать группу. Это удобно в том случае, если у вас более 2х разных IRC-сетей, к которым вы подключаетесь, и для каждой сети у вас разные каналы. Тогда выбрав сеть, при подключении к которой вам надо будет автоматически заходить на канал, вы сможете разделить сети.
Join on connect — ставим галочку, чтобы он присоединялся к каналу автоматически при соединении с сервером.
Minimize on join будет сворачивать канал при соединении. Я как правило не ставлю галочку.
Нажимаем Ok. В списке появляется канал #rof и в принципе этого достаточно, чтобы нажав теперь кнопку Join оказать в окне чата и приступить к чату. Так же советую сразу же убрать галочку Pop up favorites on connect, а все нужные вам каналы ставить в автоджоин.
Но я хотел бы ещё немного пройтись по интерфейсу и полезным настройкам:
1) Слева у нас сейчас есть достаточно раздражающая меня полоса с одним сервером. Она бесполезна. Чтобы её убрать, в верхнем меню выберите View и уберите галочку с Treebar. НЕ УБИРАЙТЕ галочку с Menubar, я не знаю, как потом этот менюбар вернуть:)
2) Ещё я делаю так, чтобы при открытии программы мирк сразу подключался к серверу и каналам. Заходим в mirc options (в ряду картинок сверху это вторая). Далее в разделе Connect переходим в подраздел Options. И ставим галочку Connect on Startup. А вот галочку Pop up connect dialog on startup можно убрать (тогда при запуске программы не будет выпадать это окно с настройками). Так же можно поставить Default Port: 6669. Итого картинка:
Options -> Connect -> Options
3) Ещё тут же есть раздел IRC. Там можно поставить галки Auto-join channel on invite, Rejoin channel when kicked. На самом деле там ещё куча настроек, но мне щас лень по ним проходиться. Если будут какие-то вопросы, отвечу с удовольствием.
4) Пройдусь коротенько по кнопочкам-картинкам в верхнем меню:
верхняя панель кнопок

Рис.8 Верхняя панель кнопок


по порядку:
— Connect/Disconnect. Кнопка соединения/разъединения
— Options. Кнопка вызова настроек (как на картинке из пункта 2)
— Favorites. Вызов списке ваших добавленных каналов (5 картинка)
— Channels List. Более гибкий вариант с каналами. Поиск по файлу и т.д. Честно говоря, я ни разу не пользовался.
— Script Editor. Это нам в дальнейшем понадобится. Здесь можно вводить скрипты для своего мирка.
— Address Book. Тоже не пользовался, но видимо для контактов.
— Online Timer. Тупо считает время в онлайн. Тоже не пользуюсь им.
— Colors. Здесь можно поиграться с цветами. К примеру, я через много лет доигрался до такого (это моё реально окно мирка, а не тестовая нулевая программа):
mIRC Duna

Рис. 9 mIRC Duna


— Send file. Никогда не пользовался. В принципе мирк позволяет посылать файлы, но как правило мне проще послать через другие программы.
— Chat. Открывает прямой чат между пользователями. С одной стороны перехватить текст невозможно, с другой стороны это потенциально небезопасно. Поэтому будьте осторожны с этим.
— DCC Options. Настройки для прямых соединений. Я тоже никогда не юзал.
— Recived Files. Принятые файлы.
— Log Files. Логи. У меня их дохрена. Если будут вопросы по настройке — обращайтесь.
— Notify List. Честно говоря я даже не знаю, что это такое:) Не юзал это.
— Urls List. Видимо список урлов, тоже не юзаю.
— Три способа отображения множества окон (горизонтально, вертикально, каскадно).
— About.

Ну собственно по этой программе всё, что я хотел сказать. Теперь перейдём к общению с руснетом. Сеть RusNet позволяет регистрировать свой ник с тем, чтобы никто кроме вас не мог им пользоваться. Для того, чтобы зарегистрировать свой ник (если он свободен) напишите в чат:
/nickserv register password email
Где password это желаемый пароль на ник, а email это ВАШ ДЕЙСТВУЮЩИЙ почтовый адрес.
Написав такую команду вы зарегистрируете тот ник, который у вас сейчас. Я вот написал подобное для тестового ника своего и получил (я заменил моё мыло на email и мой пароль на password):
-NickServ- Nickname ROFLAND has been registered to you.
-NickServ- An authentication code for your nickname has been sent to email.
-NickServ- When you receive this message, type /NickServ AUTH code (replace code with the authentication code in the message) to complete your nickname registration.
-NickServ- Your password is password — remember this for later use.

На почту мне пришло следующее письмо:
The authentication code for your nickname (ROFLAND) is: 826815060
Please submit this code to NickServ with the command:
/NickServ AUTH 826815060
This message was sent by NickServ in response to registration by
Теперь пишу серверу:
/NickServ AUTH 826815060
и он мне отвечает:
-NickServ- Authentication succeeded; your nickname registration is now complete.
Значит мой ник зарегистрирован.
Если вы хотите, чтобы сервис общался с вами на русском, то введите:
/NickServ set language 10
И сервис ответит вам:
-NickServ- Язык изменен на Русский (Russian).
Там есть ещё разные команды. Их список можно получить по команде:
/NickServ help
И есть разные настройки. В основном они работают по команде:
/NickServ set
Список настроек можно получить по команде:
/NickServ help set
Теперь, предположим, вы зарегистрировали ник. Но вам придётся каждый раз при заходе писать идентификацию к нику (при этом команда работает только для ника, который у вас сейчас):
/NickServ identify password
Чтобы этого избежать, можно сделать автоввод пароля. Только учтите, что он будет хранится в открытом виде и любой знающий человек сможет его прочитать. Для этого перейдите в Options -> Connect -> Options (Рисунок 7), нажмите кнопку Perform, поставьте галочку Enable Perform on connect и введите в поле ниже (ник и пароль свой):
/nick ROFLAND
/nickserv identify password
Потом тоже ОК. Там где Network тоже можно выбирать сеть, чтобы разделять выполнение команд по сетям.
Теперь перейдём к команде /chanserv
Она управляет каналами. ВАЖНО!!! Регистрировать каналы можно только на зарегистрированный ник. Работает во многом аналогично никсерву. Итак, чтобы зарегистрировать канал, вам нужно:
— Зайти на требуемый канал. Чтобы зайти на произвольный канал, напишите в чат /join #channel . К примеру, я пишу /join #rofrof и видим:

Вход на новый канал

Рис. 10 Вход на новый канал


— Теперь вы можете написать:
/chanserv register #rofrof otherpassword description
где #rofrof — канал, который вы регистрируете
otherpassword — пароль для канала, он не обязан совпадать с паролём на ник
description — описание, его вводить не обязательно.
И получаете в ответ:
-ChanServ- Канал #rofrof зарегистрирован на Ваш ник: ROFLAND
-ChanServ- Ваш пароль на канал otherpassword — запомните его для дальнейшего использования.
Всё, на этом регистрация окончена. Есть ещё множество настроек, которые можно настраивать. Для этого читайте /chanserv help
Я отмечу важную команду /chanserv set (помощь по /chanserv help set) и подкоманду /chanserv set mlock , которая позволяет установить на канале правила. Из хелпа:

-ChanServ- Закрепляет и блокирует определенные режимы канала. ChanServ позволяет Вам закрепить режимы канала, которые должны быть всегда включенными (или выключенными). Все логические режимы (n, s, t, k, l и т.д.) могут быть закреплены, каждый режим может быть закреплён в состоянии включено, заблокирован в состоянии выключено или не заблокирован.
-ChanServ- Параметр режимы в принципе напоминает команду /MODE: режимы, начинающиеся с +, блокируются в состоянии включено, а режимы, начинающиеся с -, — в состоянии выключено.
-ChanServ-
-ChanServ- Внимание: Если Вы задали и закрепили ключ канала, как во втором примере ниже, Вы должны также установить настройку RESTRICTED на канал (см. HELP SET RESTRICTED), иначе любой, кто зайдет на канал, когда тот будет пуст, сможет увидеть ключ!
-ChanServ- Закрепление режима +i предотвращает заход на канал без приглашения, когда он пуст.
-ChanServ-
-ChanServ- Примеры:
-ChanServ-
-ChanServ- SET #канал MLOCK +nt-ikl
-ChanServ- Закрепляет включенными режимы n и t и выключенными i, k и l.
-ChanServ- Все остальные режимы могут устанавливаться/сниматься свободно.
-ChanServ-
-ChanServ- SET #канал MLOCK +knst-ilmp мой-ключ
-ChanServ- Закрепляет включенными режимы k, n, s, и t и выключенными i, l, m, и p.
-ChanServ- Также устанавливает ключ для входа на канал «мой-ключ».
-ChanServ-
-ChanServ- SET #канал MLOCK +
-ChanServ- Удаляет блокировку режимов. Все режимы каналов могут быть свободно изменены.

К примеру установим для нашего канала #rofrof такие же опции, как для #bhwar (обратите внимание, что сначала идёт канал и только потом mlock):
/chanserv set #rofrof mlock +ntsk thirdpass
В окне канала вы увидите:
* ChanServ sets mode: +nt
* ChanServ sets mode: +s+k thirdpass

Если режимы не закреплены (т.е. вы не вводили + или — при установках), то вы (и любой другой оператор канала) можете вручную менять настройки режимов. Они доступны по двойному клику на пространстве чата (красным выделена область чата):

Настройки канала

Рис. 11 Настройки канала


Есть 8 режимов (в скобках буква для команды mlock):
— Only ops set topic (t). Только операторы устанавливают топик канала (виден при заходе на канал и в заглавии окна).
— No external messages (n). Сообщения в канала могут посылать только те, кто на канале.
— Invite only (i). Присоединиться к каналу можно будет только если тебе пришлют приглашение.
— Moderated (m). Включено модерирование. Только операторы (с @ у ника) и обладающие правом голоса (+ у ника) могут писать в канал.
— Key (k). Парольная защита. Для присоединения к каналу с паролём нужно писать /join #channel key
— Limit to: (l). Ограничение по числу участников. Если поставить 10, то больше 10 человек присоединиться не сможет.
— Private (p). Приватный канал. Не показывается в списке каналов сети.
— Secret (s). Секретный канал. Не виден в списке каналов сети + не выводится по командам /who & /whois для юзера.

Ну и последнее, что я хочу сегодня написать. О взаимодействии с рофом. Как многие из вас знают, я транслирую новости из мира огня на канал #rof_news, а из вечки на канал #infinity_news
Хочу рассказать вам как вы можете настроить себе сигнализацию на новости и транслировать их на свой канал.
Во-первых про сигнализацию. Тут нам как раз понадобится кнопочка Script Editor из верхнего меню. Нажимаем туда и переходим на закладку Remote. Туда вставляем:

on *:TEXT:*SFUnion*:#rof_news: {
/splay -w alarm.wav
}

Перевожу. При наличии текста SFUnion в каком либо месте сообщения на канале #rof_news проиграть звук alarm.wav
Кстати о птичках. Кому надо, мой звук сигнализации. Думаю прослушав его многие поймут, почему меня так редко убивают:) Такой звук тяжело переносить.
Звуковой файл должен находится в папочке sounds. В зависимости от системы папочка sounds может быть в своём месте, но в принципе можно указывать путь файла напрямую, т.е. типа D:\alarm.wav если вы выложите файл в корень диска Д.
Ещё пара примеров:

on *:TEXT:*:#infinity_news: {
/splay -w alarm.wav
}

Любой текст на #infinity_news

on *:TEXT:*SaRtOnG*:*: {
/splay -w alarm.wav
}

Любой текст содержащий SaRtOnG на любом канале или в приватных сообщениях.

on 1:TEXT:*:?: {
/splay -w alarm.wav
}

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

Теперь что касается трансляции новостей. Туда же вписываем другой скрипт:

on *:TEXT:*:#infinity_news: {
/msg #rofrof $1-
}

Это тупо любой текст с канала #infinity_news транслировать на #rofrof
Немного усложним пример. Теперь мы хотим, чтобы только новости по клану NS транслировались нам:

on *:TEXT:*NS=>*:#infinity_news: {
/msg #rofrof $1-
}

И теперь верх хитрости:) Трансляция + музон:

on *:TEXT:*NS=>*:#infinity_news: {
/msg #rofrof $1-
/splay -w alarm.wav
}

Замечу так же, что такой вариант:

on *:TEXT:*NS=>*:#infinity_news: {
/msg #rofrof $1-
}

on *:TEXT:*NS=>*:#infinity_news: {
/splay -w alarm.wav
}

Не сработает. Ибо проверка идёт только один раз. И если один раз попало, то всё.

На это мне надоело писать о IRC, но я готов ответить на ваши вопросы. 2500 слов и 21К текста это жесть. Я давно столько не писал. Слушаю вопросы.


Вопросы.
Q: При соединении возникает ошибка «Closing Link (K-lined: Cain (Your nick, authentication info or other information matched one of the known trojan patterns))»
A: ваш ник или йп попадает под маску распространителя троянов. Смените ваш ник (в опшенс) или ирц-сервер (выделив в опшенсах ваш сервер и нажав edit)

3 комментария к “IRC и всё о ней”

commenter

Спасибо огромное.

commenter

Не осилила, но уверена, что крайне познавательно )

commenter

Так вот где корень зла.
Так вот кто попортил игру :).
А если я попрошу свернуть каналы новостей?….

Оставить Ответ:

Имя (*):
Почта (не будет опубликовано) (*):
Адрес блога:
Комментировать (*):

*

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>