company_banner

Теперь не заблокируешь: выложен первый выпуск децентрализованной коммуникационной платформы Jami


    Сегодня появился первый выпуск децентрализованной коммуникационной платформы Jami, он распространяется под кодовым именем Together. Ранее проект развивался под другим именем — Ring, а до этого — SFLPhone. В 2018 году децентрализованный мессенджер переименовали для того, чтобы избежать возможных конфликтов с торговыми марками.

    Код мессенджера распространяется под лицензией GPLv3. Jami выпущен для GNU/Linux, Windows, MacOS, iOS, Android и Android TV. По желанию можно выбрать один из вариантов интерфейсов на базе Qt, GTK и Electron. Но главное здесь, конечно, не интерфейсы, а то, что Jami дает возможность обмениваться сообщениями без обращения к выделенным внешним серверам.

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

    Изначально этот проект позиционировался и развивался как программный SIP-телефон. Но затем разработчики решили расширить функциональность проекта, сохранив совместимость с SIP и оставив возможность совершения звонков при помощи этого протокола. Программа поддерживает различные кодеки, включая G711u, G711a, GSM, Speex, Opus, G.722, плюс протоколы ICE, SIP, TLS.

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

    Выше кратко говорилось о надежной системе аутентификации пользователей. Механизм базируется на блокчейне — адресная книга работает на основе Ethereum. При этом подключаться можно сразу с нескольких устройств, связываясь с пользователем вне зависимости от того, какое из устройств активно. Адресная книга, которая отвечает за трансляцию имен в RingID, реализована с использованием узлов, которые поддерживаются разными участниками. C их помощью можно запустить собственный узел для поддержания локальной копии глобальной адресной книги.

    Что касается адресации пользователей, то разработчики использовали для решения этой задачи протокол OpenDHT, который не требует применения централизованных реестров с информацией о пользователях. Основа Jami — jami-daemon, отвечающий за обработку соединений, организацию связи, работу с видео и звуком.

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

    При переработке P2P-мессенджера в телекоммуникационную платформу разработчики добавили новые и обновили существующие функции. Вот они:

    • Улучшена работа в сетях с низкой пропускной способностью.
    • Сокращено количество используемых ресурсов при работе под Android и iOS.
    • Переписан клиент для Windows. Он может работать и в планшетном режиме.
    • Появились инструменты для проведения телеконференций с несколькими участниками.
    • Добавлена возможность смены режима трансляции в конференции.
    • Приложение можно превратить в сервер одним кликом ( это может понадобиться, например, для проведения конференций).
    • Реализован сервер управления учетными записями JAMS.
    • Есть возможность подключить плагины, которые расширяют возможность базового мессенджера.

    Selectel
    ИТ-инфраструктура для бизнеса

    Комментарии 24

      +1

      Любопытно, что там с безопасностью

        +1

        любопытно как там с батерейкой в телефоне

        +1
        Поправьте, если не прав — OpenDHT использует-таки «known bootstrap nodes», например, bootstrap.jami.net (по-другому ну никак не законнектиться к неизвестному собеседнику).
        Т.е. «не заблокируешь» работает до тех пор, пока не будут заблокированы все «known bootstrap nodes», а их не так много, вернее конечное количество.
          0

          В большой DHT сети bootstrap узлы используются только для первого входа. Следующий вход проходит с использованием проверенных узлов набранных за предыдущую сессию.

            0
            Т.е. отрубив bootstrap «узлы» (all the servers whose users are participating), evil-правительство может «задушить» всех новых клиентов, так? Да, в торрентах DHT работает прилично и никто пока не смог заблокировать. Хотя тоже есть свои глюки. Jami же не использует ту же сеть DHT, у них своя?
              0
              Т.е. отрубив bootstrap «узлы» (all the servers whose users are participating), evil-правительство может «задушить» всех новых клиентов, так?

              Да свежеустановленные клиенты не смогут войти в DHT сеть.


              Jami же не использует ту же сеть DHT, у них своя?

              Похоже что своя.

                +1
                ещё интереснее, если evil правительство *подменит* bootstrap узел…
                  0

                  Образуется отдельная DHT сеть до тех пор пока не найдётся клиент который будет подключён к обоим и они станут снова одной сетью.

                    0
                    И такой клиент «правительство» конечно же создать не может…
                      +1

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

              0
              Да. Но можно поднять свою ноду. Плюс есть автоматическое обнаружение пиров в локальной сети.
                0
                И как все узнают об этой ноде? Как быстро эту ноду заблокируют?
                  0
                  А как все узнавали о нодах MTProto и прочих прокси, когда шла «борьба» за доступ к Telegram?
                    0
                    Никто с прокси не боролся, Телеграм просто забанили. А вот если банили бы и прокси, то имхо было бы много меньше успешных подключений.
                      0
                      Банить прокси — это полумеры, а вот белые списки…
              +1
              Очень нестабильные клиенты. Связь работает от фазы луны в Гондурасе :(
              По крайней мере пару месяцев назад так было. Но не думаю что что-то поменялось в лучшую сторону.

              Самое смешное что год назад — клиенты были очень страшные на вид, но коннект между ними был в разы стабильнее.
                0

                А разве тот же Matrix это не децентрализованная платформа?

                  0
                  When you send a message in Matrix, it is replicated over all the servers whose users are participating in a given conversation — similarly to how commits are replicated between Git repositories.

                  Не достаточно.

                    0
                    Тоже децентрализованная, но федеративная. Клиенты подключаются к «домашним» серверам, а те уже между собой подключаются.
                    В jami сеть одноранговая, т.е. p2p.
                    0
                    А почему первый выпуск? У меня он уж год как установлен.
                      +1
                      Теперь не заблокируешь
                      — то есть программа умеет налету менять протоколы и порты, перебирать все коммуникации устройства для работы без интернета, искать клиентов и кастомные сервера и прокси? Если нет, то она блокируется одним рубильником, и бесполезна например при конфликтах граждан с государством.
                        0
                        Вот чудо чудное. А может кто объяснить мне, неразумному, как оно, установленное на «Android TV» (и 100% находящееся за NATом) "… дает возможность обмениваться сообщениями без обращения к выделенным внешним серверам"?
                          0
                          1. Если второе устройство не за натом то проблемы нет.
                          2. Если второе устройство тоже за натом то есть UDP Hole punch.
                          3. Если и это не проходит то с end-to-end шифрованием можно через кого угодно сообщения пересылать. Тобиш любой узел не за натом может проксировать через себя трафик между узлами за натом. Так раньше скайп работал когда был P2P.
                          0
                          а зачем спрашивается перезагрузка винды после установки мессенджера? Жесть какая-то из далёкого прошлого

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое