Командный чат с родными приложениями для Android/iOS, все с открытым исходным кодом (альтернатива Slack)

Моя команда использует Slack и хочет заменить его собственной альтернативой с открытым исходным кодом.

Абсолютные требования:

  • Открытый исходный код (сервер и ВСЕ клиенты)
  • Самостоятельное размещение
  • Надежные нативные приложения для Android и iOS
  • Доступно веб-приложение
  • Каналы (я имею в виду, что могу создать несколько чатов, например, для каждого проекта)
  • Возможность публиковать новые элементы из ленты RSS/Atom в канале по мере их поступления.
  • Весь контент невидим для посторонних
  • Для каждого сообщения см. отправителя и время
  • Уведомления канала, которые можно настроить (например, отключить этот канал)
  • Сообщения можно редактировать после отправки, но они помечаются временем последнего изменения
  • Могу видеть сообщения, которыми обменивались, когда я не был на связи
  • История полностью доступна для поиска из любого приложения

Бонус:

  • Тематическое обсуждение

Ответы (3)

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

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

Mattermost кажется хорошо поддерживаемым. Я не знаю проекта, но вы можете найти много связанных проектов на Github , включая собственное приложение для Android, а также приложение для ios и настольное приложение для Linux/Mac/Win. Его платформа описывает себя как альтернативу Slack с открытым исходным кодом, так что это действительно может подойти. Он также поддерживает потоки комментариев, которые могут вам пригодиться. Кроме того, в Slack нет функции цепочек комментариев.

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

Подробнее >>

Просто чтобы немного расширить игровое поле, как насчет IRC?

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

IRC — это исключительно простой протокол, который существует с 1988 года. Он по-прежнему широко используется сегодня, и вы можете увидеть его остатки повсюду, в том числе в Slack. Он имеет полную поддержку каналов и разрешений, может работать практически на чем угодно и имеет множество других функций, добавленных клиентами. Вы можете еще больше расширить серверную часть с помощью пользователей-ботов, как в Slack.

Например:

UnrealIRCd — это IRC-сервер с открытым исходным кодом.

Hexchat — это клиент IRC для Windows с открытым исходным кодом, основанный на XChat.

К сожалению, у меня недостаточно репутации, чтобы публиковать больше ссылок, но некоторые вещи, на которые стоит обратить внимание, это «Еще один клиент IRC для Android», который представляет собой реализацию Android с открытым исходным кодом, и «Разговор», реализацию iPhone с открытым исходным кодом.

Чтобы изучить возможности расширения функциональности с помощью ботов, вы можете обратиться к библиотеке nodejs-irc, которая является очень мощной библиотекой для подключения и взаимодействия с IRC-серверами, каналами и пользователями в node-js. Но опять же, существуют тысячи реализаций, доступных на разных языках.

Из любопытства, хорошо ли IRC работает с шифрованием? Или ему просто нужно использовать туннельные соединения?
@JAB В наши дни большинство демонов и клиентов IRC поддерживают SSL / TLS, включая те, о которых я упоминал.
Можно ли полностью найти историю IRC в любых приложениях Android IRC? Люди не всегда на связи.
@NicolasRaoul Не по умолчанию. На этом этапе все становится немного сложнее — вы можете использовать что-то вроде irc-historian , которое позволяет пользователю наверстать пропущенные сообщения чата в его отсутствие, а затем использовать свои возможности поиска в клиенте для фильтрации, но это может быть больше проблем, чем оно того стоит.

Что с Джаббером? Prosody - хороший сервер. У вас есть клиенты для мобильных устройств. (Вы найдете клиенты с открытым исходным кодом) У вас есть клиенты для Windows, Linux и Mac, и вы можете легко интегрировать LDAP, как активный каталог.

У вас есть чаты, и вы также можете установить веб-сервис. Просодия с открытым исходным кодом.

Доступен ли полный поиск по истории из любого приложения для Android? Люди не всегда на связи.
Я бы исследовал/попробовал бы для вас! Вы слышите от меня.
Jabber использует XML, а XML хуже всего с точки зрения синтаксического анализа и производительности.