Русский
Русский
English
Статистика
Реклама

Jabber

Мессенджер в почтовой корове? Дайте два

20.05.2021 12:07:50 | Автор: admin

Рано или поздно очередной исследователь бюджетных альтернатив MS Exchange сталкивается с почтовым сервером из Германии mailcow. Кто-то, не замечая, проносится мимо, кто-то, притормаживая, знакомится ближе. Находятся и те, кто идёт дальше и разворачивает данное почтовое решение в своей ИТ-инфраструктуре. Например я, который в середине 2020 года мигрируя с сервисов Google, внедрил почтовую корову у себя, разместив основную и резервную площадки на виртуальных вычислительных ресурсах географически разнесённых .

Базируемый на программном обеспечении с открытым исходным кодом и разворачиваемый в докер-контейнерах, этот почтовый сервер обладает функционалом, сопоставимыми с возможностями MS Exchange. Почта с антивирусом и антиспамом, календари, задачи, контакты, мультидоменность и мультиарендность всего лишь малая часть того, о чём бы стоило рассказать. Но учитывая тот факт, что в сети уже предостаточно материала о mailcow, как о решении для обмена электронной почтой, в этой статье расскажу о нём, как о решении для мгновенного обмена сообщениями.

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

Эта востребованность, однажды, настигла в моей деятельности и меня, поставив перед выбором: Какой мессенджер использовать?

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

К сожалению или нет, но воплотить свои хотелки собственными силами я не успел, ибо меня опередил mailcow предложив их из коробки:

- ejabberd


Первый мессенджер, о котором хочу рассказать, построен на базе свободного (GNU GPL), распределённого и устойчивого к отказам MQTT, SIP и XMPP-сервера.

Да-Да! На базе сервера, который использует тот самый Джаббер (англ. Jabber болтовня, трёп, тарабарщина), теперь известный как XMPP (англ. eXtensible Messaging and Presence Protocol) открытый, основанный на XML, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близком к режиму реального времени. Спроектированный легко расширяемым, протокол, помимо передачи текстовых сообщений, поддерживает передачу голоса, видео и файлов по сети.

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


Настройка


По умолчанию ejabbberd в mailcow отключён. Для того, чтобы его активировать, необходимо включить поддержку XMPP для выбранного домена в панели управления (mailcow UI).

image


Указанный префикс домена используется в адресе авторизации XMPP (JabberID). Например, JID для пользователя почтового ящика cowboy@example.org будет таким cowboy@im.example.org. Пароль же совпадает с почтовым.

Перед включением поддержки XMPP для домена не не забудьте добавить две необходимые для получения сертификата записи CNAME в DNS в следующем формате:

# CNAMES# Name              Type       Valuexmpp_prefix         IN CNAME   mail.example.org. (ваш ${MAILCOW_HOSTNAME})*.xmpp_prefix       IN CNAME   mail.example.org. (ваш ${MAILCOW_HOSTNAME})


где, xmpp_prefix в нашем примере это im

Правильность добавления можно проверить с помощью инструмента анализа DNS-записей в панели управления mailcow.

image


Если вы сначала включили XMPP, а затем добавили записи DNS не беда. Нужно дождаться, пока ejabberd автоматически получит сертификаты, или вручную перезапустить docker-контейнер ejabberd-mailcow с помощью команды:

$ docker-compose restart ejabberd-mailcow

После включения ejabberd вы можете повторно запустить анализ DNS-записей в панели управления mailcow, где вы найдете еще две SRV-записи.

image

# SRV records# Name                            Type       Value_xmpp-client._tcp.xmpp_prefix     IN SRV     10 1 5222 mail.example.org. (ваш ${MAILCOW_HOSTNAME})_xmpp-server._tcp.xmpp_prefix     IN SRV     10 1 5269 mail.example.org. (ваш ${MAILCOW_HOSTNAME})


Эти записи необходимы для автоконфигурации клиентов XMPP и межсерверных соединений. Добавить их можно в любое время без перезагрузки ejabberd.

Управление доступом


image


Проверка сертификатов


Когда все настроено, убедитесь, что ejabberd смог получить сертификаты:

Если вы видите сообщение, похожее на это

ejabberd-mailcow_1   | 2021-02-13 14:40:19.507956+01:00 [error] Failed to request certificate for im.example.org, pubsub.im.example.org and 3 more hosts: Challenge failed for domain conference.im.example.org: ACME server reported: DNS problem: NXDOMAIN looking up A for conference.im.example.org - check that a DNS record exists for this domain (error type: dns


возможно, вам потребуется перепроверить конфигурацию DNS или перезапустить docker-контейнер ejabberd-mailcow для возобновления процесса в случае медленного обновления DNS

Открытие

https:/xmpp_prefix.domain.tld:5443/upload 


должно направить вас на страницу 404 с действующим сертификатом.

На этом активацию и основную настройку XMPP на сервере mailcow можно считать завершённой. Подбирайте удобный jabber-клиент и общайтесь с родственниками, друзьями, коллегами, клиентами с глазу на глаз или в групповых чатах, в том числе c использованием end-to-end шифрования.

- DeltaChat


Второй мессенджер доступный к использованию в mailcow это скорее выглядящий как Telegram или WhatsApp почтовый клиент, который, а в качестве транспорта использует электронные сообщения со сквозным шифрованием. Своих серверов не имеет, доверив их роль почтовым, которые эти сообщения хранят и доставляют. Может работать с обычной, нешифрованной почтой. Углубляться в подробности не буду, ибо материала в сети достаточно. Например .

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

В итоге


Почтовая корова приросла функциями и при использовании универсальных mail-клиентов, таких как или , стала средством унифицированных коммуникаций. Почти


Подробнее..

Общаемся в Telegram со смартфонов на Symbian

16.10.2020 18:23:47 | Автор: admin

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

Введение

На самом деле получить доступ в Telegram на Symbian можно даже двумя способами. Но сейчас я расскажу только об одном, более трудоёмком в настройке и сложном, с точки зрения технической организации. Также стоит сразу оговориться, что описанный способ позволяет общаться не только в Telegram, но и в других современных сетях и работать будет на многих платформах, а не только на Symbian. Почему? Увидите позднее.

Так что же лежит в основе?

А в основе лежит популярный протокол Jabber, ныне известный под именем XMPP. Jabber поддерживает так называемые "транспорты" - шлюзы, преобразующие сообщения Jabber в сообщения подключаемых сетей и обратно. Подробнее об этом можно почитать здесь. Итак, идея очень проста: создать аккаунт на сервере Jabber, если его нет, взять десктопный Jabber-клиент с поддержкой транспортов, найти сервер на котором установлен Telegram-транспорт, добавить его в клиенте и зарегистрироваться, найти клиент для Symbian и вуа-ля, получить возможность писать людям со своей старенькой Nokia.

И что же со всем этим делать?

Давайте теперь пошагово разберем процесс настройки. Начать стоит с регистрации на одном из серверов Jabber. Этот пункт не обязателен, если у вас уже есть аккаунт, можно использовать его. Крупнейшим сервером в Рунете является jabber.ru. Требуется придумать имя пользователя и пароль. Ничего сложного. После регистрации можно переходить к следующему пункту: настройке десктопного клиента.

В качестве клиента я использовал Gajim, основное окно которого представлено ниже. Да, Psi+ более популярен и в начале я поставил его, но у меня далеко не всё заработало сразу и во время поисков проблемы я поменял в том числе клиент и Gajim полностью меня устроил (но проблема была не в Psi).

При клике по аккаунту откроется выпадающее меню, в котором надо выбрать "Просмотреть сервисы".

В открывшемся окне в строку адреса нужно ввести jabbercity.ru. Да, транспорт в Telegram установлен и на других серверах, но этот уже проверен и точно работает. Далее в списке транспортов находим нужный, выбираем его и тыкаем по кнопке "Зарегистрироваться".

Здесь потребуется ввести свой номер телефона и, нажав далее, дождаться сообщения об удачном завершении регистрации.

После этого сразу или некоторое время в Telegram придет стандартное сообщение с кодом подтверждения логина, а в "диалог" с Telegram-транспортом запрос этого самого кода, который нужно просто отправить ответным сообщением. Ии сразу после логина в Gajim появится запрос на добавление выгруженных контактов. На него, естественно, нужно ответить положительно. На этом работа в Gajim и самый сложный этап настройки закончен. Все добавленные контакты автоматически соберутся в одну группу.

Переходим к настройке клиента на Symbian. Я использовал Slick. Просто потому что мне его посоветовали. Если вы знаете более удобный и свежий клиент, буду рад советам в комментариях. Взять программу можно на сайте разработчика. Не буду вдаваться в подробности установки приложений Symbian, почитать об этом можно вот тут. После запуска попадаем в меню настройки аккаунтов. Здесь нужно поставить галочку рядом с Jabber и перейти в редактор учетной записи, в котором ввести имя пользователя, адрес сервера, на котором аккаунт был зарегистрирован, пароль и выбрать необходимость шифрования. Затем вернуться назад, нажать на кнопку сохранения и кнопку подключения к сети Jabber, выбрать точку доступа и...

И если всё получилось успешно, попасть в ростер, в котором будет группа Telegram со всеми подключенными контактами. Остаётся только выбрать, кому отправить сообщение.

Послесловие

Как я и говорил, точно так же можно получить доступ не только к Telegram, но к любой сети, для которой существует шлюз в Jabber и работать это будет на любом устройстве, для которого существует Jabber-клиент.

В моём случае это работает на Nokia C6. Все скриншоты были получены с неё.

В завершение хотелось бы ещё поблагодарить Дмитрия Вахрушева за помощь и советы при создании этой статьи, пользователя сайта 4PDA с ником Bugul Noz за инструкцию, которая стала основой вышеописанного, а также LonelyCatGames за такую долгую поддержку приложения и сайта.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru