The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Открыта часть серверного кода сервиса мгновенного обмена сообщениями Wire

08.04.2017 08:00

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

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

Открытию кода серверной части способствовало успешное проведение независимого аудита реализации применяемого в Wire протокола Proteus и Cryptobox API. Аудит не выявил каких-то концептуальных или особо опасных проблем, в основном благодаря применению в Wire распространённых стандартных криптографических алгоритмов (ChaCha20, HMAC-SHA256, Curve25519 и HKDF) и библиотеки libsodium.

Из уже открытых компонентов можно отметить:

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


  1. Главная ссылка к новости (https://medium.com/@wireapp/op...)
  2. OpenNews: Релиз клиента для мгновенного обмена сообщениями Pidgin 2.12.0
  3. OpenNews: Четвёртый тестовый выпуск системы мгновенного обмена сообщениями от проекта Tor
  4. OpenNews: В клиенте для мгновенного обмена сообщениями Wire появилась поддержка Linux
  5. OpenNews: Сервис мгновенного обмена сообщениями Wire открыл код клиентского ПО
  6. OpenNews: Проект Tor начал тестирование собственной системы мгновенного обмена сообщениями
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/46345-wire
Ключевые слова: wire, im
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (54) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Timur I. Davletshin (?), 08:26, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Мессенджер годный, свой функционал выполняет. Правда, пилится активно, поэтому баги иногда вылезают, но исправляются быстро. Лично я из браузера его юзаю в основном, Electron меня бесит.
     
  • 1.2, Аноним (-), 08:47, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Раз написано на Haskell, то, наверное, действительно, достойная вещь.
     
     
  • 2.5, Вадик (??), 11:48, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это ничего не значит, у хаскеля своих проблем навалом.
     
     
  • 3.38, 0xd34df00d (??), 21:01, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Например?
     
     
  • 4.47, имя (?), 03:30, 10/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Обжорство при боксинге и горы строковых типов.
     
     
  • 5.48, 0xd34df00d (??), 04:05, 10/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Обжорство при боксинге

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

    > горы строковых типов.

    String, ByteString и Text? У каждого из них (включая ленивые и строгие варианты) своя задача и свои области (которые и пересекаются, конечно).

    Так-то я ожидал услышать, например, отсутствие η-эквивалентности в присутствии seq и undefined, что иногда приводит к некоторым забавным спецэффектам. Или, если говорить о качестве реализации, отсутствие адекватных профайлеров, унылые параметры GC по умолчанию и всякое такое. Ну да ладно.

     
  • 2.10, jOKer (ok), 14:36, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На самом деле это гарантированно обозначает только то, что сообщество людей пилящих серверную часть не велико и ударными темпами прирастать не будет, ибо порог вхождения в этот ЯП довольно высок. Впрочем, это должно, по идее, компенсироваться качеством кода выше среднего - ведь среди пишущих на хаскеле, как правило, дилетантов нет. Ну а проблемы - они везде имеются. И баги тоже.
     
     
  • 3.42, incker (?), 21:42, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я подмечу, что wire пишут создатели Скайпа.
     
  • 2.17, Аноним (-), 15:54, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И в чем достойная? Каковы твои доводы?
     
     
  • 3.18, A.Stahl (ok), 15:56, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Назови мне хоть одну откровенно дырявую и глючную вещь, написанную на хаскеле/эрланге. Не можешь? То-то же:)
     
     
  • 4.25, Crazy Alex (ok), 16:36, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну на тебе списочек уязвимостей ejabberd, например: https://www.cvedetails.com/vulnerability-list/vendor_id-4455/product_id-7709/P

    Насчёт хаскела, правда, облом - не смог сходу вспомнить что-то хоть примерно популярное на нём.

     
     
  • 5.26, A.Stahl (ok), 16:47, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Хм. Это был сарказм, намекающий что этих языках вообще "боевых" программ мало, одни концепты.
     
     
  • 6.28, Аноним (-), 17:18, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, оба - маргинальные языки. Потому из известного на Erlang только ejabberd. Поэтому надежды, что у проекта появится комьюнити нет. Разве что реализуют эти протоколы на плюсах, к примеру.
     
     
  • 7.31, Crazy Alex (ok), 18:55, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    На эрланге ещё RabbitMQ как минимум, на хаскелле - git-annex (прочем, это скорее антиреклама - на редкость глючная штука).
     
  • 6.33, Аноним (-), 19:29, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Мне кажется, на эрланге боевых программ достаточно, только они все в эриксоне и проприетарные.
     
  • 4.34, EHLO (?), 19:42, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Назови мне хоть одну откровенно дырявую и глючную вещь, написанную на хаскеле/эрланге. Не можешь? То-то же:)

    тоненько

     
  • 3.23, Аноним (-), 16:28, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И в чем достойная? Каковы твои доводы?

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

     
     
  • 4.30, Тот_Самый_Анонимус (?), 18:22, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда топай на китайские форумы. Там порог вхождения выше, будешь с одними достойными людьми переписываться.
     
     
  • 5.41, Аноним (-), 21:37, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Тогда топай на китайские форумы. Там порог вхождения выше,

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


     

  • 1.4, Аноним (-), 11:42, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Отличный мессенджер, сам активно использую. Один из немногих, кто не требует привязку к номеру телефона.
    Любопытно, что на хаскеле а не на Go или NodeJS, как это принято последнее время.
    Для полного счастья не хватает нативнго десктопного клиента.
     
     
  • 2.22, Crazy Alex (ok), 16:26, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тем хуже - активно допиливать будет некому
     
  • 2.49, KOT040188 (ok), 07:32, 10/04/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что за бред? Только что зарегестрировался на андроиде по номеру. Других вариантов регистрации не было.
     
     
  • 3.56, Некропостер (?), 18:20, 05/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Для регистрации без телефона с помощью eMail'а нужно с десктопного браузера зайти на https://app.wire.com/
    Для регистрации без номера телефона с Android'а нужно установить древнюю версию клиента, например 1.6.36 взять который можно на форуме 4pda.ru
     
  • 2.52, Ptomaine (?), 02:04, 11/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да есть же нативный десктопный клиент. У них на сайте: https://wire.com/en/download/
     
     
  • 3.57, Аноним (-), 22:56, 29/07/2017 [^] [^^] [^^^] [ответить]  
  • +/
    С каких это пор приложения на Electron или NW.js стали называть нативными?
     

  • 1.6, Аноним (-), 13:43, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Есть Tox и Ring, а вот это нeнужно с номером телефона закoпать.
     
     
  • 2.9, Аноним (-), 14:35, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Есть Tox и Ring, а вот это нeнужно с номером телефона закoпать.

    Мне вот интересно, члены секты токсрингеров сами хоть пытались реально использовать tox или ring?

     
     
  • 3.11, Аноним (-), 15:03, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я использую. Что не так?
     
     
  • 4.19, Аноним (-), 15:59, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А голосом на Андроиде? Сдулся, чтонетак?
     
  • 3.14, Никола (?), 15:52, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Использую ринг дома и на работе, а в чем вопрос?
     
     
  • 4.20, Аноним (-), 16:01, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То, что голосом не умеет в мобильном исполнении и синхронизации нет. Увы.
     
     
  • 5.21, Аноним (-), 16:10, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > синхронизации

    А как её осуществлять, если серверов нет? Локально, разве что.

     
  • 4.36, Аноним (-), 20:08, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Поставил на телефон ring и на комп с ring.cx/en/download, на телефоне user1, на компьютере user2, написал от user1 сообщение для user2 --- ничего не пришло, написал в обратную сторону, опять тишина. Снёс.
     
     
  • 5.39, Аноним (-), 21:16, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    пробуй еще раз может осилишь.
    https://ring.cx/en/tutorials/gnu-linux
     

  • 1.7, Аноним (-), 13:52, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Есть ли преимущества перед сигналом?
     
     
  • 2.8, alien2003 (?), 14:09, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да. Менее круглый - есть десктоп клиент, не обязательная привязка к телефону, немного больше фич, удобная верификация, не въедается в телкфонную книгу без разрешения
     
     
  • 3.13, Аноним (-), 15:31, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а с точки зрения безопасности?
     
  • 3.27, Аноним (-), 17:12, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >есть десктоп клиент

    https://github.com/wireapp/wire-desktop#wire-desktop

    NE NUZHNO.

     
  • 2.15, Аноним (-), 15:53, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется у половины мессенджеров есть преимущество перед сигналом, который без анальной привязки к номеру телефона даже не поюзать, какая там анонимность.
     
     
  • 3.37, Аноним (-), 20:12, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне кажется у половины мессенджеров есть преимущество перед сигналом, который без анальной
    > привязки к номеру телефона даже не поюзать, какая там анонимность.

    А они разщве обещали анонимность? Тут слова anon нет: https://whispersystems.org/#encrypted_texts

     
  • 3.43, Avari (?), 21:44, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы, видимо, не чувствуете разницу между privacy и anonymity.
    Привязка к номеру телефона не так страшна - во-первых, она даёт паршивенькую, но всё же требующую затраты некоторых усилий для её обхода аутентификацию (см.) Обычный пранкер телефонный номер не подделает.
    Во-вторых - это просто удобно: никаких дополнительных движений, в контакт-листе для уже существовавших контактов просто появились позиции "написать сообщение" и "позвонить" с помощью Signal. Иначе придётся иметь параллельный список контактов и как-то его синхронизировать. Сейчас я имею в виду конкретно телефоны.
    Ну и в-третьих - давно уже все, кому оно надо, знают, где можно бесплатно получить телефонный номер только для приёма SMS. За скромные деньги с него можно будет и отправлять SMS, и звонить, но это я уклонился... И нате вам вашу anonymity, раз она вам нужна. Я, правда, уверен, что факт телефонного разговора через Signal между двумя IP всё равно засечь можно, если очень этого хотеть и иметь возможности заниматься слежкой, так что anonymity тоже паршивенькое и при желании нарушаемое. Ну, это вам в BitMessage...
    А privacy у Signal, насколько я понимаю, вполне нормально защищается. Само содержание разговора.
     

  • 1.24, Crazy Alex (ok), 16:28, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А толку. Федерации нет, то есть остаёшься прибит к их серверу. Плюс экзотический язык гарантирует отсутствие активной доработки в сообществе.
     
     
  • 2.29, Аноним (-), 18:11, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пиарщики "госкриптомессенджера" Telegram - Приветствуем!
     
     
  • 3.32, Crazy Alex (ok), 19:01, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это ты мне? Танунафиг, я пиарить готов только то, что:
    1) P2P
    2) клиенты под свободными (то есть копилефт)лицензиями.

    На данный момент из такого только Tox и Retroshare. Ну и старый добрый джаббер тоже терпим, с широким выбором клиентов, серверов и испытанной временем федерацией.

    Шифрование всегда можно навренуть поверх чего угодно каким-нибудь OTR.

    А так - меня и скайп для работы на рабочем компе ни разу не смущает, и "госкриптоменеджер", если клиенту хочется - не мои секреты и не мои проблемы.

     
     
  • 4.35, Аноним (-), 20:05, 08/04/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Matrix/riot туда же
     
     
  • 5.45, Crazy Alex (ok), 02:11, 09/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Matrix - на фиг, с федерацией джаббер уже есть, на кой продвигать штуку, которая никаких принципиальных преимуществ не имеет?
     
  • 4.53, nuclight (??), 20:26, 12/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Любой P2P сразу идет нaфиг в современном мире мобильных клиентов, по одной простой причине - БАТАРЕЯ (а у некоторых еще и трафик платен).

    Единственное решение - только федерация.

    И нет, я не имею в виду Jabber - XMPP чудовищен, ждем любую вменяемую альтернативу, чтобы его наконец закoпать. Может, matrix будет вменяем (знаком с одним чуваком из Британии, который пилит к нему шлюз из Телеграма, очень профессионал).

     
     
  • 5.54, Аноним (-), 12:53, 13/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >И нет, я не имею в виду Jabber - XMPP чудовищен,

    Не ради холивара а для для общего представления.
    Чем так чудовищен Jabber?
    У меня впечатление что 10 лет назад модно было им восхищаться? Сейчас похоже его модно ругать... Интересно было бы поднять логи канала. :-)

    Честно говоря вопрос не теоретический, нужен IM клиент для мобильных телефонов Android, для использования 24/365, и я смотрю на Jabber+шифрование и Wire/Signal и подобные Open Source проекты и не могу решить куда бежать. :-) Коммерческий мейнстрим не хочу. Also для защищённого общения по предварительной договоренности использую Antox, но он p2p со всеми недостатками.
    Сейчас я как буриданов осел умираю с голоду между двумя стогами сена. =)

     
     
  • 6.55, nuclight (??), 13:19, 13/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>И нет, я не имею в виду Jabber - XMPP чудовищен,
    > Не ради холивара а для для общего представления.
    > Чем так чудовищен Jabber?
    > У меня впечатление что 10 лет назад модно было им восхищаться? Сейчас
    > похоже его модно ругать... Интересно было бы поднять логи канала. :-)

    Он технически чудовищен всем. Хорошего он принес ровно полторы идеи: открытость (щас этим не удивишь + нетехническое, не считаем), федерация + формат адреса (почему полторы? потому что тут они умудрились подзапоганить идею, введя ресурсы).

    Глубоко не искал, вот только сходу навскидку с подробными объяснениями ссылки:
    https://habrahabr.ru/company/mailru/blog/133274/
    https://habrahabr.ru/post/259337/
    http://about.psyc.eu/Jabber - и самый полный обзор проблем от чувака, который попытался даже пофиксить и пропихнуть фиксы в XEPы, но эти ретрограды, что характерно, их не поняли

    > Коммерческий мейнстрим не хочу. Also для защищённого общения по предварительной договоренности

    Jabber+PGP или OTR популярен среди блэкхэтов, например, они периодически меняют анонимные адреса на бесплатных жаббер-серверах. Когда количество людей для переписки невелико, на самом деле мессенджер не важен, хоть жаббер, хоть что своё.

     
     
  • 7.60, xufu (?), 07:34, 23/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Был же вопрос о голосе! или Jabber уже научился? ))
     
  • 7.61, xufu (?), 07:35, 23/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Jabber+PGP или OTR популярен среди блэкхэтов, например, они периодически меняют анонимные
    > адреса на бесплатных жаббер-серверах. Когда количество людей для переписки невелико, на
    > самом деле мессенджер не важен, хоть жаббер, хоть что своё.

    Был же вопрос о голосе! или Jabber уже научился? ))


     

  • 1.40, Ivan_83 (ok), 21:18, 08/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Все серверные чатики - прошлый век.
    А если там ещё и номер мобилы обязателен то это просто маразм.
     
     
  • 2.58, Аноним (-), 15:34, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не обязателен если регаться с компа.
     

  • 1.46, Аноним (-), 16:01, 09/04/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Код написан на языке Haskell.

    Улыбаемся и машем!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру