Коммуникационный сервис 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 для ботов.