Prosody — Jabber/XMPP сервер для Debian

При разработке сервера основное внимание уделяется простоте установки и настройки, низкому потреблению ресурсов и лёгкости расширения функциональности. Код проекта написан на языке Lua и распространяется под лицензией MIT. Предыдущие версии сервера уже довольно давно поддерживали MUC и pubsub, но предлагаемая реализация была довольно сильно усложнена, не отвечала актуальному состоянию спецификаций и имела проблемы с масштабированием. Основные изменения в Prosody 0. Переработка позволила проекту упростить добавление новых функций и улучшить масштабируемость MUC-сервисов новая версия модуля MUC позволила сервисам, таким как Jitsi Meet , обеспечить работу с сотнями тысяч общих бесед ; Переработаны конфигурационные диалоги, обеспечена более аккуратная компоновка настроек и использованы более понятные названия опций; Добавлена поддержка архивирования и загрузки ранее написанных сообщений в MUC Multi User Chat с использованием протокола XEP MAM.

Базовая настройка чрезвычайно проста и состоит из следующих шагов: 1. Указание домена или нескольких доменов , на котором наш Jabber-сервер будет работать. Выбор модулей, загружаемых при запуске сервера. Предлагаемый разработчиками набор модулей по умолчанию, указанный в файле конфигурации, для старта подойдёт. Позже можно будет легко изменить этот список. После этого Jabber-сервер готов к запуску.

Какой xmpp сервер выбрать?

Сначала это был ICQ, потом Skype, в последнее время были популярны WhatsApp и Viber, а теперь многие пользователи отказываются от них в пользу Telegram. Все эти сети - централизованные и принадлежат определённому хозяину, через серверы которого проходит вся переписка. Этот хозяин может изменить условия использования сервиса, никого не предупреждая.

Например, в ICQ было запрещено использовать сторонние клиенты, протокол был закрыт и часто менялся. Официальный клиент показывал пользователям рекламу, а из-за смены протокола неофициальные клиенты часто переставали работать. Самое же интересное в этой сети заключалось в том, что ICQ по пользовательскому соглашению, имел право пользоваться содержанием переписки пользователей по своему усмотрению. Сейчас, когда ICQ купил Mail. Ru Group, насколько мне известно, многие ограничения сняты: можно использовать неофициальные клиенты, протокол не меняют, рекламу не показывают.

Однако, мода успела смениться и приток новых пользователей в ICQ сейчас в значительной мере иссяк, а многие прежние пользователи уже перескочили на другую, более модную альтернативу. Тогда это был Skype. В Skype тоже имелись свои особенности. Например, версии Skype для Linux имели ограниченный функционал, отстающий от версий для Windows. Поддерживался только клиент для битной платформы Linux.

WhatsApp невозможно пользоваться, не имея достаточно современного мобильного телефона с подключением к сети интернет. Нельзя установить на компьютер программу для общения в этой сети, не устанавливая программу на мобильный телефон. Все пользователи классических телефонов типа Nokia оказываются в пролёте. Это особенно удивительно, что за основу этой сети был взят протокол XMPP и одна из реализаций Jabber-серверов. Надо очень постараться, чтобы превратить изначально демократичные средства связи в какой-то жуткий тоталитаризм.

Telegram значительно лучше всех своих предшественников по крайней мере в том, что его протокол открыт. В этой сети официально можно создавать свои программы-боты, для чего предусмотрено свой собственный интерфейс прикладных программ - API. Но все эти сети изначально не предусматривают главной свободы - свободы создать свой собственный сервер.

Jabber - это распределённая сеть для обмена мгновенными сообщениями, которая работает по принципам, сходным с теми, на которых работает электронная почта: любой пользователь сети интернет, имеющий постоянное подключение с постоянным IP-адресом, может настроить собственный сервер, который сможет пересылать сообщения на другие серверы и принимать от них сообщения.

Протокол, по которому взаимодействую клиенты и серверы, открыт и называется XMPP. Идентификаторы пользователей похожи на адреса электронной почты и сокращённо называются JID, что полностью звучит как Jabber ID - Jabber-идентификатор. Существует несколько популярных Jabber-серверов. Настройка одного из них, который называется Prosody, и будет рассмотрена в этой статье.

Сервер написан на языке Lua и выгодно отличается от конкурентов умеренным использованием системных ресурсов. Если вам нужно настроить Jabber-сервер для небольшого количества пользователей, то этот сервер будет идеальным выбором. Базовая настройка сервера Установим пакет, в котором находится Jabber-сервер Prosody: apt-get install prosody По умолчанию включено обслуживание домена localhost. По образу и подобию этого файла создадим файл для своего домена.

В моём случае это будет домен stupin. Отключим пока что глобальную поддержку SSL. Эту команду удобно использовать из сценариев, например, для массового заведения пользователей: prosodyctl register vladimir stupin. Цифры 0 0 задают приоритет и вес соответствующего сервера.

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

Вес сервера по отношению к сумме весов всех серверов данного приоритета и будет вероятностью выбора этого сервера. Если у вас он ещё не установлен, то установить его можно из стандартных репозиториев дистрибутива, например, такой командой: apt-get install pidgin Теперь запускаем программу через меню: В запустившейся программе находим меню "Уч.

В поле "Имя пользователя" вводим часть JID, находящуюся слева от символа , а в поле "Домен", соответственно, вводим часть JID, которая находится справа от символа. Одной и той же учётной записью можно пользоваться на нескольких компьютерах одновременно. Чтобы отличать друг от друга такие компьютеры, на каждом из них можно задать своё собственное имя, которое называется ресурсом. Например, компьютер, на котором я установил Pidgin стоит дома, поэтому я прописываю в поле "Ресурс" имя "home".

В поле "Пароль" введём пароль и отметим ниже галочку "Запомнить пароль", чтобы его не нужно было вводить при каждом подключении к серверу. Наконец, в поле "Локальный псевдоним" можно ввести своё имя, которое будет отображаться в вашем окне переписки с другим пользователем: Поскольку на сервере пока не настроены функции шифрования, перейдём на вкладку "Дополнительно" и выберем из выпадающего списка в поле "Безопасность соединения" значение "Если доступно, использовать шифрование", после чего нажимаем кнопку "Добавить": В диалоговом окне "Учётные записи" появится новая, только что добавленная нами учётная запись.

Закроем диалоговое окно, нажав на кнопку "Закрыть": Теперь Pidgin установил подключение от имени только что созданной учётной записи, список контактов у которой пока что пуст: Добавим свою собственную учётную запись в список контактов.

Для этого в меню "Собеседники" выберем пункт "Добавить собеседника После этого нажимаем кнопку "Добавить": В списке контактов появится новый собеседник. Щёлкнем дважды по строчке с его именем: Откроется окно беседы.

Наберём в нём тестовый текст и отправим его: Отправленный текст вернётся в ответ: Вот мы и убедились, что сервер и учётная запись функционируют. Приятно поговорить с умным человеком, но можно попробовать добавить собеседников из другого домена, на другом Jabber-сервере.

Для этой проверки я воспользовался двумя своими учётными записями в разных доменах. Получилось такое вот раздвоение личности - беседуют доктор Джекилл и мистер Хайд: Некоторые серверы могут отказываться использовать незащищённые соединения и требуют, чтобы соединение было защищёно сертификатом, подписанным в одном из доверенных удостоверяющих центров.

Поэтому сразу после проверки работоспособности Jabber-сервера первым делом стоит приступить к настройке SSL. Включение epoll вместо select По умолчанию Prosody использует системный вызов select для обработки событий на TCP-подключениях с клиентами и серверами. Этот системный вызов не обладает высокой эффективностью, вместо него в Linux был создан новый системный вызов epoll, который достигает более высокой эффективности из-за отсутствия необходимости передавать между ядром и пользовательским приложением объёмные структуры данных.

Для его отключения можно добавить в настройку ciphers соответствующую строку "! В Prosody начиная с версии 0. Однако если вы решили поменять опции по умолчанию, то нужно прописать эту опцию явно. По умолчанию в Prosody используются наиболее оптимальные настройки SSL. Страница с рекомендациями специально окрашена в цвета, неприятные для чтения, чтобы отпугнуть людей, бездумно копирующих рекомендации из первого попавшегося источника. Бездумное копирование настроек во многих случаях может привести к снижению безопасности системы, так как статьи в интернете быстро устаревают и рекомендованные в статье настройки могут оказаться менее безопасными, чем настройки по умолчанию.

Рекомендуется также настроить опцию протокола TLS под названием Perfect forward secrecy , которая позволяет защитить сеансовые ключи даже в том случае, если скомпрометированы долговременные ключи.

Однако для Forward Secrecy необходима поддержка алгоритма Диффи-Хеллмана, которая отсутствует в пакете lua-sec версий 0. К счастью, в Debian Stretch поставляется lua-sec версии 0.

Использование SASL от Dovecot позволит использовать одни и те же учётные записи с одними и теми же паролями как для доступа к почтовому ящику, так и для доступа к серверу Jabber. Если Dovecot был настроен так, что использует информацию в базе данных PostfixAdmin, то PostfixAdmin можно использовать для создания, удаления и изменения одновременно как почтовых ящиков, так и одноимённых учётных записей Jabber.

Пример такой настройки Dovecot можно посмотреть в моей статье: Установка и настройка Dovecot. Переходим в меню files. Жмём по ссылке gz и скачиваем по ней файл. Чтобы воспользоваться неофициальным модулем, сначала мы соберём пакет для Debian. Для скачивания исходных текстов модуля и сборки deb-пакета я подготовил скрипт:!

Это статья о том как настроить jabber сервер Prosody для домашнего, В этой статье я буду устанавливать prosody на Debian 7. know the time here on this server "ping"; -- Replies to XMPP pings with pongs "pep";. Руководство по установке XMPP сервера Prosody на Debian.

Сначала это был ICQ, потом Skype, в последнее время были популярны WhatsApp и Viber, а теперь многие пользователи отказываются от них в пользу Telegram. Все эти сети - централизованные и принадлежат определённому хозяину, через серверы которого проходит вся переписка. Этот хозяин может изменить условия использования сервиса, никого не предупреждая. Например, в ICQ было запрещено использовать сторонние клиенты, протокол был закрыт и часто менялся. Официальный клиент показывал пользователям рекламу, а из-за смены протокола неофициальные клиенты часто переставали работать. Самое же интересное в этой сети заключалось в том, что ICQ по пользовательскому соглашению, имел право пользоваться содержанием переписки пользователей по своему усмотрению. Сейчас, когда ICQ купил Mail. Ru Group, насколько мне известно, многие ограничения сняты: можно использовать неофициальные клиенты, протокол не меняют, рекламу не показывают. Однако, мода успела смениться и приток новых пользователей в ICQ сейчас в значительной мере иссяк, а многие прежние пользователи уже перескочили на другую, более модную альтернативу. Тогда это был Skype. В Skype тоже имелись свои особенности. Например, версии Skype для Linux имели ограниченный функционал, отстающий от версий для Windows. Поддерживался только клиент для битной платформы Linux. WhatsApp невозможно пользоваться, не имея достаточно современного мобильного телефона с подключением к сети интернет. Нельзя установить на компьютер программу для общения в этой сети, не устанавливая программу на мобильный телефон. Все пользователи классических телефонов типа Nokia оказываются в пролёте. Это особенно удивительно, что за основу этой сети был взят протокол XMPP и одна из реализаций Jabber-серверов. Надо очень постараться, чтобы превратить изначально демократичные средства связи в какой-то жуткий тоталитаризм. Telegram значительно лучше всех своих предшественников по крайней мере в том, что его протокол открыт. В этой сети официально можно создавать свои программы-боты, для чего предусмотрено свой собственный интерфейс прикладных программ - API.

Компьютер[ править ] Для работы сервера Jabber вполне достаточно старенького компьютера с процессором с тактовой частотой МГц, размером оперативной памяти Мб и жёстким диском 4 Гб. Разумеется, возможно использовать и более мощные компьютеры.

У меня встала задача поднять личный jabber сервер на своем домене, с сохранением истории возможно синхронизации с клиентом XEP , с поддержкой общения с другими серверами jabber, конференций. В общем всё стандартно и ничего особенного, но при поднятии сервера я столкнулся с двумя проблемами о которых я и планирую сегодня рассказать.

Как установить Jabber в Ubuntu 18.04

Поэтому нужно получить бесплатный сертификат от StartSSL. По этому вопросу есть хорошая инструкция. Допустим, сертификат вы получили. Теперь у вас есть файл сертификата ssl. Ключ нужно предварительно дешифровать. Конечно, можно воспользоваться и не дешифрованным, но придётся указать пароль в конфиге Prosody, выставить соответствующие права доступа и так далее… openssl rsa -in ssl.

Как установить prosody в Ubuntu / Debian

I2P Tutorial Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP , в котором уже все давно продумано и запилено? Но это же не настоящий peer-to-peer, скажете вы, для работы XMPP нужен собственный сервер и домен. Это так, но мы можем запустить сервер на локалхосте, а для связи с серверами других пользователей использовать скрытый сервис в виртуальной сети I2P. Использование I2P избавит нас от необходимости платить за домен с хостингом, а так же защитит наши коммуникации от преступной онлайн-слежки. Таким образом, получаем: Гибридный P2P мессенджер, который можно запускать и на пользовательских устройствах, и на полноценном сервере. Фичи, которых не хватает другим P2P мессенджерам: оффлайн сообщения, хранение контактов и истории "в облаке", работа нескольких клиентов с одним аккаунтом. Готовые клиентские приложения на любой вкус. Приступим же к реализации Инструкция по установке есть в документации.

Он поддерживает кластеризацию и имеет высокую отказоустойчивость. При этом разработчики ещё и снабдили его всеми способами установки под Linux вообще и Ubuntu в частности.

.

Установка и начальная настройка Prosody

.

Анонимный jabber средствами TOR на rapsberry pi

.

Пакет: prosody (0.11.2-1 и другие)

.

Рубрика «prosody»

.

Установка XMPP-сервера Prosody на Ubuntu 12.04

.

.

ВИДЕО ПО ТЕМЕ: Prosody Xmpp/Jabber Server auf RaspberryPi (Deutsch)
Похожие публикации