Статья давно не обновлялась, поэтому информация могла устареть.
Содержание |
Введение
Пояснение
Данный раздел призван предоставить всевозможную информацию об общей концепции IRC, о существующем ПО, позволяющем организовать IRC-чат, о его настройке, и, возможно, немного обсуждения о будущем IRC (последнее маловероятно, обсуждение уже ведется на самой Википедии)
Что такое IRC
IRC (англ. Internet Relay Chat) — протокол для обмена сообщениями в режиме реального времени.
Основная информация
[IRCD: IRC-серверы]
Что такое IRCd
IRCd (расшифровывается как IRC daemon) - это, собственно, сам IRC-сервер, позволяющий использовать возможности IRC-чата. Со времени своего написания, оригинальный код первого IRCd претерпел множество изменений, развились десятки побочных IRC-проектов (ircd-hybrid, Unreal, Nefarious, UltimateIRCd и т. д.). Данная глава призвана упомянуть и описать наиболее популярные из них, а так же, общие советы и рекомендации по установке IRCd.
Популярные IRCd
IRCd-Hybrid (-RU)
Bahamut(ircd-RU)
Примечание: в скобочках указана русская подержка IRCd, например, сеть ByNets оказывает русскую поддержку UnrealIRCd, WeNet - поддержку ircd-RU, базирующемся на Bahamut и т. д.
Сравнение IRCd
Оригинальный материал на EN.Wikipedia, выполненный в виде таблицы, позволит вам наглядно сравнить различные IRCd и их возможности.
Установка UnrealIRCd+Anope на Windows
Ниже будет описана установка UnrealIRCd 4.0.5 и сервисов Anope 2.0.4 Это самые последние версии описываемых программных продуктов на момент написания статьи (1 августа 2016) Итак, сервер. Сам сервер: Скачать Запускаем скачанный файл, устанавливаем сервер в любую директорию. Будет лучше если путь до сервера не будет содержать пробелов. С установкой вроде бы всё, теперь конфигурирование.
Заходим в корневую папку сервера (там где лежит UnrealIRCd.exe), переходим в папку conf/examples и копируем оттуда файл example в корневую папку сервера.
Скопировали. Переименовываем его в unrealircd ! Это и будет наш конфигурационный файл сервера (далее конфиг).
Открываем любым текстовым редактором, чтобы директивы шли в столбик, а не в строчку! (так удобнее). У меня, например, в роли текстового редактора выступал обычный блокнот.
Доходим до директивы me
В поле name вписываем my.irc.loc В поле инфо - всё, что угодно. В поле sid - цифру 001.
Идём дальше
Находим директиву oper Вместо bobsmith напишите свой ник (ник будущего ИРК оператора) password - пароль будущего ИРК оператора.
Теперь к секции listen. Убираем (стираем) это: listen { ip *; port 6667; }; Меняем звёздочку и 6667 на IP адрес и порт вашего ИРК
Находим директиву set Присваиваем значения опциям:
set { network-name "my.IRC"; default-server "my.irc.loc"; services-server "services.irc.loc"; stats-server "stats.irc.loc"; help-channel "#main"; hiddenhost-prefix "loc"; };
Теперь вернёмся ближе к началу конфига и найдём секцию опций link. Стираем то что там и вставляем:
link services.irc.loc { username *; hostname 127.0.0.1; bind-ip *; port 1234; hub *; password-connect "passlink"; password-receive "passlink"; class servers; options { autoconnect; }; };
Ну и дело за малым
Найдём ближе к концу слова /* Server specific configuration */ и под ними директива set. В поле "kline-address" впишем произвольный email адрес.
Всё! Сервер готов к работе! Можете запустить его (UnrealIRCd.exe) и коннектиться (/server localhost:6667), но друзей звать рановато! Впереди процедура установки сервисов! Если UnrealIRCd не запустился, можно посмотреть логи в файле service
Сервисы: Скачать В корне Anope создаём файл services.conf, его содержимое можно взять тут. Найдите строку, которая начинается с "RemoteServer". Если UnrealIRCd работает на этом же сервере, то оставляем 127.0.0.1 нетронутыми. Указываем пароль который вы прописали в UnrealIRCd в директиве "password-receive".
ServerName - имя IRC сети
В строках UserKey1, UserKey2 и UserKey3 для каждого прописываем семизначные числа. Эти числа не должны начинаться с нуля. Изменение "TestIRC" в строке NSEnforcerUser к имени вашей сети. В строке ServicesRoot добавьте свой ник. Это позволит вам добавлять и удалять других администраторов сервисов.
Всё! Сохраняем изменения! И запускаем bin/anope.exe! Ваша IRC сеть готова! Зовите друзей!
[Services: IRC-сервисы]
Что такое IRC-сервисы
Сам по себе IRCd обладает минимальным рядом возможностей, описанным в RFC протокола, и дополнительным рядом возможностей, расширенных только в рамках отдельного проекта. Случаи, когда IRC-проект включает в себя не только IRCd, но и сервисы - очень редки (на вскидку: PTlink). Поэтому, такие возможности, как регистрация ников и каналов, осуществляются с помощью стороннего ПО, называемого IRC-сервисы
Популярные IRC-сервисы
Anope
Atheme
IRC-Services
Сравнение IRC-сервисов
Оригинальный материал на EN.Wikipedia, выполненный в виде таблицы, позволит вам наглядно сравнить различные IRC-сервисы и их возможности.
[Bots: IRC-боты]
Что такое IRC-боты
Так же как машины теперь всюду заменяют человека, также и бот может заменить живого irc- пользователя. IRC-bot - это программа, изображающая из себя одновременно и irc- client и человека, в нем работающего. Бота можно научить вести себя вполне социально, так, что сложно будет сразу догадаться, что вы общаетесь не с живым собеседником, а с роботом. Бот может выполнять любые функции, например административные (управление каналом, учет и контроль пользователей, ведение статистики, защита от вандалов), развлекательные (пение частушек, пляски с бубном, поддержка интересного диалога), полезные (поиск по вебу, лексический анализ грамотности ;), калькулятор, прогноз погоды и т.д, и т.п.). Вот в общих чертах то, что делает безвредный бот. Разумеется хорошо зная (а порой и не очень хорошо) какой либо язык программирования или скриптов, можно создать вредного бота, мешающего окружающим или даже создающего помехи в работе сети. Если вы - доктор ЗЛО, и вам очень хочется создать агрессивного бота, то прежде установите себе отдельный IRC-server, чтобы экспериментировать в-одиночку. Уверяю вас, что никто в сети не обрадуется вашим программистским победам, и Вам быстро вручат PA-Kill (Перманентный запрет доступа в IRC сеть).
Популярные IRC-боты
Eggdrop (Документация к Eggdrop на русском языке)
WinBot
Energymech
BotNix
Infobot
Дополнительная информация
Данный раздел призван предоставить дополнительную информацию по тем вопросам, которые не рассматривались в основном разделе, например, информацию о существующих IRC-клиентах и т. д.
IRC-клиенты
IRC-клиент выпускается в виде расширения для Mozilla Firefox , который работает в трех популярных операционных системах. Кроме того, существуют сборки Chatzilla как независимого приложения для Windows. Chatzilla также входит в состав пакетов Mozilla Suite и SeaMonkey . IRC-клиент обладает весьма скромными сервисными возможностями и требует некоторых знаний синтаксиса команд IRC, однако в знак благодарности отвечает очень красивым дизайном окна сообщений, который можно менять с помощью тем оформления, основанных на CSS. Все посещенные вами сети и каналы запоминаются в настройках программы, и вы можете в дальнейшем включать автоматическую загрузку тех или иных пунктов. Пароль на NickServ приходится вводить вручную и оформлять в виде отдельной строки в списке команд, выполняющихся при подключении к сети. Если вы потеряли связь c каналом, то Chatzilla автоматически попытается восстановить связь. По умолчанию это делается 5 раз. Возможности программы можно расширить с помощью дополнительных модулей, которые имеют структуру, отличную от других программ семейства Mozilla. Самые распостраненные IRC клиенты это: KVIrc 2.1.4, Mirc 6.17, Miranda 0.4.0.3, XChat 2.6.3, Klient 2.1.4
BNC-команды на русском
- BWHO - Показывает список пользователей на бнц
- PASSWORD - Меняет ваш пароль (Админ может изменять чужие пароли)
- BVHOST - Задаёт вхост, через который вы будете присоеденяться
- PROXY - Задаёт прокси, через который вы будете присоеденяться
- SETUSERNAME - Меняет ваше 'Реальное имя'
- SETAWAY - Ваш текст away-сообщения при уходе
- SETLEAVEMSG - Ваш текст сообщения выхода
- LEAVEQUIT - Если включено (1), то выходит со всех каналов при выходе
- SETAWAYNICK - Меняет ваш ник в эвэее
- JUMP - Прыгает на следующий сервер в списке
- BQUIT - Завершает ваше текущее соеденение с сервером
- BCONNECT - Начинает ваше соеденение с сервером
- AIDLE - Включает/выключает анти-idle
- AUTOREJOIN - Включает/выключает автовзаход
- ADDSERVER - Добавляет сервер в список
- DELSERVER - Удаляет сервер из списка
- LISTSERVERS - Список серверов
- ADDNETWORK - Добавить сеть с вашего клиента
- DELNETWORK - Удалить сеть с вашего клиента
- SWITCHNET - Переключиться на другую сеть
- ADDOP - Добавить опа
- DELOP - Удалить опа
- LISTOPS - Список опов
- ADDAUTOOP - Добавить аопа
- DELAUTOOP - Удалить аопа
- LISTAUTOOPS - Список аопов
- ADDBAN - Добавить бан (глобальный или канальный)
- DELBAN - Удаляет бан
- LISTBANS - Список банов
- ADDASK - Добавляет хост/бота для опанья вас
- DELASK - Удаляет хост/бота для опанья вас
- LISTASK - Список хостов/бота для опанья вас
- ADDIGNORE - Добавляет хост в игнор
- DELIGNORE - Удаляет хост из игнора
- LISTIGNORES - Список игноров
- ADDDCC - Добавить DCC-соеденение с ботом
- LISTDCC - Список всех DCC
- DELDCC - Удалить DCC по номеру
- DCCCHAT - DCC-соеденение с пользователем
- DCCANSWER - Ответ на DCC-запрос
- DCCENABLE - Вкл/выкл DCC ч/з бнц
- DCCSEND - Послать файл пользователю
- DCCGET - Получить файл от пользователя
- DCCSENDME - Послать файл пользователю бнц
- AUTOGETDCC - Всегда принимать предложенные файлы
- DCCCANCEL - Отменяет DCC-чат/прием
- PLAYPRIVATELOG - Выводит ваши сообщения
- ERASEPRIVATELOG - Удаляет ваши сообщения
- ADDLOG - Добавить источник лога/фильтр
- DELLOG - Удалить источник лога по номеру
- LISTLOGS - Список всех источников логов/фильтров
- PLAYTRAFFICLOG - Показывает траффик-лог
- ERASETRAFFICLOG - Удаляет траффик-лог
- ENCRYPT - Расшифровывает разговор указанному каналу/пользователю
- DELENCRYPT - Удаляет расшифровку по номеру
- LISTENCRYPT - Список всех расшифровок
- TRANSLATE - Добавляет переводчик в/из канала/пользователя
- DELTRANSLATE - Удаляет переводчик по номеру
- LISTTRANSLATE - Показывает список переводчиков
- BREHASH - Перезагружает прокси и сбрасывает все соединения
- MADMIN - Дает пользователю флаг админа
- UNADMIN - Убирает с пользователя флаг админа
- BKILL - Убивает пользователя с прокси
- SOCKSTAT - Показывает/записывает текущие соединения
- ADDUSER - Добавить нового пользователя
- DELUSER - Удалить пользователя
- NAMEBOUNCER - Называет ваш баунсер (нужно для линковки)
- LINKTO - Линкует хост/порт
- LINKFROM - Линкуется от вашего баунсера
- RELAYLINK - Включает/выключает relayable линк
- DELLINK - Удаляет линк с баунсера
- LISTLINKS - Показывает все линки баунсера
- RELINK - Сброс линка по номеру
- PLAYMAINLOG - Показывает лог соединения
- ERASEMAINLOG - Удаляет лог соединения
- ADDALLOW - Добавляет хост в список возможных соединений
- DELALLOW - Удаляет хост из списка возможных
- LISTALLOW - Показывает список возможных соединений
- SRELOAD - Перезагружает скрипты
- LISTTASKS - Показывает текущие запущенные задачи
- SETLANG - Ставит язык (глобальный)
- BHELP - Помощь
Флаги для ника
- B - Пометка пользователя как бота
- c - Просмотр подключений\отключений пользователей от локального сервера (только для IRC операторов)
- d - Запрет на получение всех сообщений со всех каналов
- D – Устанавливает запрет на получение всех приватных сообщений и нотисов
- e - Возможность просмотра служебных сообщений сервера (только для IRC операторов)
- f - Возможность читать уведомления о флуде (только для IRC операторов)
- F - Просмотр подключений\отключений пользователей от серверов во всей сети (только для IRC операторов)
- g - Возможность читать\отправлять LocOps и GlobOps сообщения
- G - Цензура (нецензурные слова в приватных сообщениях будут заменяться на )
- H - Скрытие статуса IRC оператора (только для IRC операторов)
- i - Невидимость (пользователь не виден при использовании команды /who)
- I - Невидимый вход\выход на каналы (только для IRC операторов)
- j - Получение различной дополнительной информации в т.ч. о смене ников (только для IRC операторов)
- k - Возможность видеть выполняемые отключения (команда /kill)
- L - Позволяет вам использовать ModeWalk без использования "/INVITE" (только для IRC операторов)
- m - Предохраняет от получения сообщений типа "/me" (действий)
- М - Предохраняет от получения DCC
- p - Скрывает все каналы в "/whois" и "/who" (только для IRC операторов)
- r - Ник зарегистрирован и идентифицирован
- R - Позволяет вам получать сообщения только от зарегистрированных пользователей (+r)
- s - Возможность читать сообщения сервера
- t - Пользователь использует виртуальный хост
- T - Предохраняет от получения CTCPs
- q - Только сервисы (U:Lines) могут кикнуть (только для администраторов сервисов)
- v - Уведомления о запрещенных DCC передачах файлов
- V – Помечает клиента как WebTV пользователя
- w - Возможность читать WallOps сообщения
- W - Пользователь может видеть кто делает на него команду /whois (только для IRC операторов)
- x - Хост пользователя скрыт
- z - Пользователь использует защищенное (SSL) соединение
- Флаги, определяющие статус ника:
- h - Пользователь может оказать помощь (хелпер)
- O - Локальный IRC оператор
- o - Глобальный IRC оператор
- C - СоАдминистратор сервера
- A - Администратор сервера
- a - Администратор сервисов
- N - Администратор сети
- S - Сервис сети
Флаги для канала
- A - Только IRC администраторы могут заходить на канал (устанавливается IRC администраторами)
- с - Нельзя отправлять сообщения с цветами, выделениями, подчеркиваниями [o]
- C - Запрещена отправка CTCP на канал [o]
- f [*]<Строки>:<Секунды> - Защита от флуда на канале. Если указать символ *, то сервер будет банить за флуд (иначе только кикать). [o]
- G - Цензура (слова с ругательствами будут заменяться на ) [o]
- i - Вход только по приглашениям (команда /invite) [h]
- k <Ключ> - Для входа на канал требуется указать ключ [h]
- K - Нельзя использовать команду /knock на канал [o]
- l <Лимит> - Лимит на количество посетителей канала [o]
- L <Канал> - Переадресация на другой канал, если канал заполнен (+l) [q]
- m - Модерируемый канал (только пользователи с флагами +vhoq могут говорить на канале) [h]
- M - Только пользователи с зарегистрированными никами могут говорить на канале [o]
- n - Только находящиеся на канале пользователи могут писать на канале [h]
- N - На канале запрещена смена ников [o]
- O - Только IRC операторы могут заходить на канал (устанавливается IRC операторами)
- p - Приватный канал (не отображается по команде /whois) [o]
- P – Убирает на канале quit и part сообщения [o]
- Q - Запрет киков на канале [o]
- r - Канал зарегистрирован на сервисах
- R - Только пользователи с зарегистрированными никами могут войти на канал [o]
- s - Скрытый канал (не отображается по командам /list и /whois) [o]
- S - Удаление всех цветов из сообщений [o]
- t - Только операторы (+o) и полуоператоры (+h) могут менять тему (topic) канала [h]
- T - Запрет нотисов на канале [o]
- u - В списке посетителей канала показываются только операторы [q]
- V - Нельзя использовать команду /invite на канал [o]
- z - Только пользователи с защищенным (SSL) соединением могут зайти на канал [o]
- Флаги, определяющие статус пользователя\адреса на канале:
- b <Ник!Идент@Хост> - Запрет на посещение канала (бан) [h]
- e <Ник!Идент@Хост> - Исключение из запрета на посещение (возможность зайти, даже если адрес забанен) [h]
- v <Ник> - Статус голоса на канале (может говорить на модерируемых каналах (+m)) [h]
- h <Ник> - Статус полуоператора канала [o]
- o <Ник> - Статус оператора канала [o]
- a <Ник> - Защита (нельзя кикнуть и деопнуть) [q]
- q <Ник> - Владелец канала [q]
- [h] - минимум требуются права halfop, [o] - минимум требуются права chanop, [q] - требуются права владельца
Флаги сервера
- Старый Новый Описание
- флаг флаг
- o local Локальный оператор
- O global Глобальный оператор
- C coadmin Помощник администратора сервера
- A admin Администратор сервера
- a services-admin Администратор сервисов
- N netadmin Администратор сети
- r can_rehash Оператор может использовать /rehash
- D can_die Оператор может использовать /die
- R can_restart Оператор может использовать /restart
- h helpop Оператор получает режим пользователя +h (оператор помощи (helpop))
- w can_wallops Оператор может посылать /wallops
- g can_globops Оператор может посылать /globops
- c can_localroute Может соединять сервера локально
- L can_globalroute Может соединять сервера глобально
- k can_localkill Может использовать команду /kill на локальных пользователей
- K can_globalkill Может использовать /kill на всех пользователей
- b can_kline Может использовать /kline
- B can_unkline Может использовать /kline -u@h
- n can_localnotice Может посылать уведомления по локальному серверу
- G can_globalnotice Может посылать уведомления по всем серверам
- z can_zline Может использовать /zline
- t can_gkline Может использовать /gline, /shun и /spamfilter
- Z can_gzline Может использовать /gzline
- W get_umodew Устанавливает режим +W, когда вы оператор
- H get_host Устанавливает ваш хост в оперхост
- v can_override Может использовать operoverride
- q can_setq Может устанавливать режим пользователя +q
- X can_addline Может использовать /addline
- d can_dccdeny Может использовать /dccdeny и /undccdeny
Безопасность в IRC
Чтобы в IRC сетях вы не потеряли пароль от ника или от канала остерегайтесь незнакомых людей или знакомых :). Бывают mIRC вирусы которые после ввода юзера(цель) вирус начинает свою работу и высасывает пароли ваши. в IRC сетях есть сервисы: ChanServ,NickServ,MemoServ,BotServ,OperServ. Если вам дадут команду типа /msg Ник-вируса getpass ваш-пароль. Взломщики могут сами переименовывать ирк вирусов например: КаналServ,НикServ,ChahServ,NikkServ,ChanCerv,NickCerv. Если вы такое увидите сразу говорите IRC операторам сети. Или зайдите на канал #help или #abuse. На канале #help вам помогут по IRC командам. Ha #abuse Это Канал жалоб сети.
Системные требования
Under construction. Information to come.
IRCd и Windows
Under construction. Information to come.
Доступность IRC
Наконец сделали поддержку IRC чата в Opera(Интернет Браузер). Щелкните по вкладке "сервис" > "общение"