Коммуникационный сервис Wire, предлагающий end-to-end шифрование для обмена сообщениями, голосовых звонков и видеовызовов, объявил о завершении открытия всех компонентов серверной части, необходимых для запуска сервиса. Код серверных компонентов написан на языке Haskell и открыт под лицензией AGPLv3.

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

Система обмена сообщениями Wire реализована на базе протокола Proteus и API Cryptobox, в которых применяются известные криптографические алгоритмы ChaCha20, HMAC-SHA256, Curve25519 и HKDF, реализация которых заимствована из библиотеки libsodium. В отличие от WhatsApp, Viber, Telegram и Signal, сервис Wire позволяет регистрироваться без привязки к номеру телефона и без анализа содержимого адресной книги - в качестве идентификатора для отправки сообщений в Wire служит email.

Основные компоненты серверной части:

  • nginz - открытый API для обращения через Reverse Proxy;
  • galley - организация общения;
  • proxy - интеграция со сторонними API;
  • brig - ведение учётных записей;
  • gundeck - Push Notification Hub;
  • cannon - система Push-уведомлений на основе WebSocket;
  • cargohold - хранилище ресурсов;
  • libs - набор вспомогательных разделяемых библиотек, включая API для ботов.


Источник: http://www.opennet.ru/opennews/art.shtml?num=47238