Сервер iRC за 5 минут
В незапамятные времена, установив программу eMule, решил забраться на канал поддержки, пообщаться с пользователями. С тех пор началось мое знакомство с iRC. Как ни странно, до сих пор такой способ коммуникации пользуется популярностью. Недавно потребовалось организовать в локальной сети небольшой чат, поэтому мой выбор пал на связку UnrealiRCd и Anope, как более привычную и удобную по функциональности.
Устанавливаем сервер UnrealIRCd 3.2.8.1 Win32 SSL:
После приветственного окошка и прочтения лицензии требуется выбрать папку, в которую нужно установить UnrealIRCd. Почему-то многие советуют ставить в корень диска, но можно и оставить стандартное расположение в программных файлах, только выставить необходимые права на папку с файлами, если потребуется.
В процессе установки если у кого не установлен Microsoft Visual C++ 2008 Redistributable – выдаст запрос на скачивание и установку по сети.
Далее мы увидим окошко, в котором стоят галочки по умолчанию на пунктах «Create a desktop icon» и «Create certificate». Можно установит UnrealIRCd в качестве службы Windows. Следует учесть, что если выберете «Encrypt certificate», то запустить как сервис программу не удастся.
На завершающем этапе установки можно поснимать все галочки. Создать сертификат, и насладиться чтением изменений в новом релизе успеем позднее.
Теперь приступим к установке сервисов. Я остановил свой выбор на Anope. Итак, скачиваем файл (я выбрал Anope 1.8.5 with MySQL Windows Installer), запускаем установку и после нехитрых манипуляций с кнопочкой Next сервисы установлены. Не забудьте скопировать libmysql.dll в папку с программой.
Самое сложное – это выполнить настройку связки UnrealIRCd+Anope. Вернее, это очень просто, но, как ни странно, у многих возникают какие-то проблемы с конфигурированием и линковкой сервисов к серверу.
Итак, открываем папку с установленным сервером, ищем директорию doc и копируем из нее в папку с программой следующие файлы: example.conf (конфигурационный файл сервера), help.ru.conf (этот файл содержит текст команды /helpop). теперь переименовываем скопированный конфигурационный файл в unrealircd.conf. открываем любым текстовым редактором и приступаем к правке.
Найдем две следующие строки и рас комментируем их:
loadmodule «modules/commands.dll»;
loadmodule «modules/cloak.dll»;
Продвигаясь ниже по файлу ищем
В блоке me указываем информацию о сети. В поле name вписываем доменное имя вашего сервера. В поле info — описание сервера (будет выдаваться по команде /whois), а в поле numeric можно оставить цифру 1 (уникальный номер сервера в сети).
me
<
name «my.irc.loc»;
info «Home iRC server»;
numeric 1;
>;
В блоке admin указываются по желанию администратора сети контактные данные, владелец сервера etc. Данные выводятся по команде /admin «сервер».
admin <
«m00n»;
«Ivan Petrov»;
«admin@vseyaru.si»;
«ICQ: 10000»;
>;
Остальные блоки нас пока не интересуют, находим блок oper. Прописываем ваш ник в качестве оператора сервера. Указываем хост, с которого разрешено становиться оператором человеку с данным ником. Символ «*» отменяет привязку к хосту, что запрещено в крупных и в нормально организованных сетях по соображениям безопасности. В поле password прописываем пароль, по которому вы будете идентифицироваться.
В блоке flags проставляем нужные нам флаги. С перечнем их можно ознакомиться на официальном сайте UnrealiRCd.
oper m00n <
class clients;
from <
userhost *;
>;
password «ImSoLazyToEditThisField»;
flags
<
netadmin;
can_zline;
can_restart;
can_die;
can_gzline;
can_gkline;
global;
can_rehash;
>;
swhois «Вышиваю крестиком, пою, танцую, прекрасно готовлю, в совершенстве владею арабским, финским и японским»;
>;
Секция swhois позволяет прописать дополнительную информацию об операторе, выводящуюся по команде /whois ник_оператора.
Чуть ниже располагается блок listen, настраиваем его.
Пользователям в приведенном ниже примере будет разрешено коннектиться на сервер через 6667, 8067 и 6697 порты, причем 6697 в данном случае порт для ssl соединения.
listen *:8067;
listen *:6667;
Можно дописать второй блок listen (а можно и указать все в одном, кому как удобнее) с указанием адреса и порта с которого к серверу будут присоединены сервисы. Если вам требуется ssl, нужно раскомментировать эту строку:
Самый важный блок, с которым почему-то возникают проблемы по настройке, это link. Указываем адрес сервисов, хостнейм, порт и пароли:
link services.irc.loc
<
username *;
hostname 127.0.0.1;
bind-ip *;
port 1234;
hub *;
password-connect » ImSoLazyToEditThisField «;
password-receive » ImSoLazyToEditThisField «;
class servers;
options <
/* Замечание: Вы не должны использовать автоподключение (autoconnect) при подключении сервисов */
/* autoconnect; */
/* ssl; */
/* zip; */
>;
>;
Ниже правим блок ulines. В них указаны сервер статистики и сервисы, они обладают большими полномочиями, чем обычные сервера в сети:
ulines <
services.irc.loc;
stats.irc.loc;
>;
Настраиваем drpass, прописываем пароли для отключения и перезапуска сервера:
drpass <
restart » ImSoLazyToEditThisField «;
die » ImSoLazyToEditThisField «;
>;
Находим секцию tld и немного правим. (В установленной директории с UnrealIRCd должны быть созданы предварительно файлы ircd.motd и ircd.rules (обычные текстовые файлы с измененным на motd и rules, соответственно, расширениями. Согласно правилам хорошего тона пишем в них сообщение дня и правила сервера):
tld <
mask *@*;
motd «ircd.motd»;
rules «ircd.rules»;
>;
Далее идет блок set, непосредственная конфигурация сети. Имя сети, сервер по умолчанию, сервер с сервисами, сервер статистики, канал помощи, префикс для хоста:
set <
network-name «m00nNet»;
default-server «my.irc.loc»;
services-server «services.irc.loc»;
stats-server «stats.irc.loc»;
help-channel «#help»;
hiddenhost-prefix «mn»;
/* prefix-quit «no»; */
Натыкиваем cloack-keys (они нужны для сокрытия вашего реального IP адреса в сети) и прописываем дефолтные хосты, если вы включили host-on-oper-up:
cloak-keys <
«aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW»;
«J2p524pwH1HSwyTSsIz2Q0Cm0B1T»;
«u3XWieDmUeuB3Dk6oBG6lard8BPq»;
>;
/* хост on-oper */
hosts <
local «locop.m00n.net»;
global «ircop.m00n.net»;
coadmin «coadmin.m00n.net»;
admin «admin.m00n.net»;
servicesadmin «csops.m00n.net»;
netadmin «netadmin.m00n.net»;
host-on-oper-up «no»;
>;
>;
Настраиваем далее специфическую конфигурацию сервера. Если сеть русскоязычная, желательно разрешить пользователям использовать русские ники опцией allowed-nickchars < russian-w1251; >;
set <
kline-address «admin@vseyaru.si»;
auto-join «#help»;
modes-on-connect «+ixw»;
modes-on-join «+nt»;
modes-on-oper «+xwgs»;
oper-auto-join «#opers»;
allowed-nickchars < russian-w1251; >;
restrict-usermodes «ixw»;
restrict-channelmodes «nt»;
options <
hide-ulines;
/* Если желаете, вы можете включить проверку ident */
/* identd-check; */
show-connect-info;
>;
Можно теперь считать сервер UnrealIRCd в каком-то смысле готовым к запуску и функционированию, основные настройки выполнены, остальное по желанию и по потребностям. Капитальное конфигурирование с прикручиванием модулей и прочего занимает длительное время.
Приступим к настройке сервисов Anope 1.8.5:
Как и в Unreal, у Anope есть свой конфигурационный файл образец example.conf, находящийся в поддиректории «data»; переименуем его в services.conf (желательно предварительно сделать копию). Открыть файл можно обычным блокнотом. Настоятельно рекомендую перед серьезным использованием сервисов прочитать документацию и настроить конфиг соответствующим образом, мы сделаем лишь первичную настройку.
Удаляем комментарий (символ #) из строки #IRCDModule «unreal32»
Ниже ищем строку
#RemoteServer2 127.0.0.1 6667 «mypass»
Раскомментируем, и заменяем на:
RemoteServer 127.0.0.1 1234 » ImSoLazyToEditThisField»
Находим строку ServerName и прописываем желаемый адрес сервера с сервисами:
Добавляем описание для сервисов:
ServerDesc «Services for m00nNet»
Расскомментируем строки и сгенерируем новые ключи:
UserKey1 8279441
UserKey2 5970804
UserKey3 1135462
Устанавливаем рута сервисов:
Расскоментируем параметр GlobalOnCycle а также две строчки ниже, дабы при рестарте/линковке сервисов выдавалось сообщение для пущей политкорректности по отношению к пользователю:
GlobalOnCycleMessage «Services are restarting, they will be back shortly — please be good while we’re gone»
GlobalOnCycleUP «Services are now back online — have a nice day»
В настройках NickServ (сервис, заведующий никами пользователей) расскомментируем NSDefKillQuick и заблочим #NSDefKill. Имхо, 20 секунд для идентификации пользователя вполне достаточно, 1 минута — это перебор.
Укажем желаемый префикс для пользователя. Если он не проидентифицировался или взял себе чужой ник, то его ник сменится на что-то вроде Guest1287
Полезная опция NSNickTracking. Если вы любитель менять ники и нет желания идентифицироваться каждый раз при смене ника с незарегистрированного на зарегистрированный (=влом написать скрипт в полстрочки для клиента iRC) — то это для вас.
Остальное по желанию и по потребностям, изучаем и правим конфиги, прикручиваем различные требующиеся модули etc etc etc.
Ффух, вроде все настроено, теперь можно запустить UnrealIRCd и Anope.
В случае успеха предприятия мы увидим строчку типа
.:00:39:18:. –my.irc.loc- *** Notice — (link) Link my.irc.loc -> services.irc.loc[@127.0.0.1.50337] established
————————————————————
.:00:39:18:. *Global* Services are now back online — have a nice day
————————————————————
.:00:39:18:. –my.irc.loc- *** Notice — Link services.irc.loc -> my.irc.loc is now synced [secs: 14 recv: 1.1009 sent: 2.460]
————————————————————
Коннектимся к серверу командой /server localhost или /server my.irc.loc. Если желаете использовать ssl, то /server my.irc.loc:+6697.
Не забудьте открыть порты для доступа юзерам к вашему серверу. Если используется роутер, как в моем случае, – необходимо выполнить проброс портов и проверить доступность порта (например, зайти с любого другого адреса в сети на сервер). Со своего компьютера законнектиться на внешний адрес в случае роутера, как мы помним, проблемно, лучше использовать другой адрес для теста соединения.
Источник
Лучшие IRC клиенты Linux
В этой статье мы рассмотрим лучшие клиенты IRC для Linux. Протокол обмена сообщениями IRC берёт своё начало в 1988 году. Сложно отрицать то, что он уже устарел и на его место в 90-х пришли Jabber (XMPP), ICQ, AIM. Сейчас же среди чатов наиболее популярен Discord. Но это не значит, что IRC забыт и им никто не пользуется.
До сих пор существует множество серверов, самый популярный — Freenode. В руссокоязычном сегменте по-прежнему пользуется популярностью чат Wikipedia (канал Freenode). Если же говорить о Linux, то можно вспомнить чат Ubuntu. Также никто не мешает вам поднять свой сервер, например, для корпоративной сети. В этой статье мы рассмотрим актуальные клиенты для сети IRC.
Лучшие IRC клиенты в Linux
1. KVIrc
Начнём, пожалуй, с самого продвинутого клиента IRC. Он написан на Qt, но без использования фреймворка KDE, так что он будет корректно отображаться на любом дистрибутиве.
KVIrc имеет небольшой каталог серверов, в числе которых есть несколько русских. Программа поддерживает скрипты и менеджер закачек. Например, вы можете написать свои команды, при вводе которых будет отправлено заготовленное сообщение (alias).
Для установки KVIrc используйте команду:
sudo apt install kvirc
2. Polari
Polari входит в набор программ для оболочки GNOME. Несмотря на внушительный номер версии (3.38.0), Polari остаётся довольно простым клиентом. Например, для отправки файла достаточно перетащить его в поле ввода сообщения. Также вы без проблем сможете добавить канал одного из многочисленных серверов, представленных в программе.
Но что действительно важно, так это интеграция с оболочкой. Сообщения будут появляться в центре уведомлений GNOME, а саму программу можно держать в фоне, не отвлекаясь на переключение между окнами.
Для установки Polari используйте команду:
sudo apt install polari
3. Smuxi
Smuxi также поддерживает работу с центром уведомлений GNOME, но выглядит несколько сложнее. На деле же, Smuxi имеет не так много настроек. Вы можете подключиться через прокси, изменить шрифт и выбрать серверы. Программа поддерживает несколько протоколов, кроме IRC вы можете подключиться к XMPP.
Для установки Smuxi используйте команду:
sudo apt install smuxi
4. Quassel
Quassel – это ещё один клиент, написанный на Qt. До недавнего времени он был предустановлен в Kubuntu. Как и многие другие приложения для KDE, Quassel имеет большой перечень настроек.
К сожалению, клиент не поддерживает плагины и скрипты, поэтому расширить набор возможностей не получится. Но даже с учётом этого он заметно функциональнее, чем Polari для GNOME.
Для установки Quassel используйте команду:
sudo apt install quassel
5. Pidgin
Pidgin – это простой IRC клиент, поддерживающий сразу несколько протоколов. Он работает с IRC, ICQ, AIM и некоторыми другими сервисами. По правде говоря, Pidgin наиболее популярен среди пользователей протокола XMPP. Если вы пользуетесь и тем и другим, то этот клиент станет неплохим решением.
Стоит отметить, что клиент поддерживает работу плагинов. С их помощью вы можете значительно расширить список поддерживаемых протоколов. Есть плагины Steam, Telegram, WhatsApp, Skype и множество других. Конечно, вы не получите полный набор функций официальных клиентов, но зато сможете собрать все чаты в одном приложении.
Для установки Pidgin используйте команду:
sudo apt install pidgin
6. HexChat
HexChat – это одна из самых популярных программ для общения по протоколу IRC. Она поддерживает обмен файлами, скрипты и плагины. Что примечательно, плагины могут быть написаны на разных языках, так что при желании вы можете написать что-то своё, используя наиболее близкий вам язык.
К сожалению, вы вряд ли сможете найти большое количество плагинов для клиента. Многое из того, что представлено на официальной странице GitHub устарело, либо относится к Windows-версии клиента.
Для установки HexChat используйте команду:
sudo apt install hexchat
7. Konversation
Konversation, как несложно догадаться, был написан для работы в оболочке KDE. Он во многом схож с Quassel, но всё же несколько особенностей могут вас заинтересовать. Программа поддерживает передачу файлов при прямом подключении двух клиентов (DCC). Также вы можете включить всплывающие уведомления, что заметно упрощает работу с чатом.
Для установки Konversation используйте команду:
sudo apt install konversation
8. WeeChat
Нельзя не упомянуть консольные клиенты, они могут быть актуальны, если вам надо отправить сообщения сотрудникам прямо с сервера. Одним из лучших консольных клиентов является WeeChat (не стоит путать с китайским мессенджером WeChat). Для программы также имеется набор плагинов, добавляющих проверку орфографии, скрипты и другие функции.
Перед началом работы рекомендуем ознакомиться с документацией. Навигация осуществляется с помощью клавиш F1-F12, а основные действия совершаются с помощью команд. Иными словами, курсор не поддерживается.
Для установки WeeChat используйте команду:
sudo apt install weechat
9. Irssi
Irssi – это ещё один консольный IRC клиент. Он уступает WeeChat в плане удобства. Нет блока со списком чатов, а также надо вручную включать поддержку кириллицы. Но не всё так плохо, для программы написано огромное количество скриптов. Например, вы можете добавить поддержку курсора, подсветку ников, звуковые оповещения и многое другое.
Программа не столь популярна как WeeChat, поэтому официального руководства на русском языке вы не найдёте. Для установки Irssi используйте команду:
sudo apt install irssi
Выводы
Мы собрали лучшие клиенты IRC в Linux. Осталось не так много активно разрабатываемых клиентов IRC, всё же возраст и современные альтернативы дают о себе знать. Но выбрать клиент не так сложно, особенно учитывая то, что они имеют свои уникальные особенности.
KVIrc без установки плагинов и скриптов является одним из самых функциональных клиентов. Pidgin позволяет объединить в одном приложении большую часть протоколов обмена сообщениями. Polari интегрируется в оболочку GNOME и имеет минималистичный интерфейс. WeeChat и Irssi работают через терминал, что позволяет их использовать даже на сервере.
Вполне вероятно, что вам не так часто нужно посещать IRC чаты, тогда обратите своё внимание на веб-клиент KiwiIRC. Если же говорить о Freenode, то у него есть собственный веб-клиент. А пользуетесь ли вы чатами IRC? Какие чаты наиболее интересны и востребованы для вас? Делитесь своим мнением в комментариях.
Источник