Irc сервер для linux

Сервер 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 соединения.

Читайте также:  Лучший словарь для windows

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 минута — это перебор.

Читайте также:  Windows azure server ip address

Укажем желаемый префикс для пользователя. Если он не проидентифицировался или взял себе чужой ник, то его ник сменится на что-то вроде 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 имеет большой перечень настроек.

Читайте также:  Конвертер текстовых файлов mac os

К сожалению, клиент не поддерживает плагины и скрипты, поэтому расширить набор возможностей не получится. Но даже с учётом этого он заметно функциональнее, чем 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? Какие чаты наиболее интересны и востребованы для вас? Делитесь своим мнением в комментариях.

Источник

Оцените статью