Matrix - это открытый и свободный протокол для децентрализованного общения в реальном времени. Он может быть использован для мгновенных сообщений, аудио- и видеосвязи с помощью WebRTC, интернета вещей и чего угодно, где вам может понадобиться стандартный HTTP API для публикации и подписки на информацию одновременно с отслеживанием истории общения.
Matrix определяет стандарт и предоставляет open-source реализации серверов, клиентов, инструментов для разработки (или просто SDK) и сервисов приложений, чтобы помочь вам в создании новых или в расширении существующих решений для коммуникации.
Первоначальная цель Matrix состоит в решении проблемы фрагментации IP-коммуникаций: дать возможность пользователям переписываться или звонить друг другу без заботы о том, какие приложения они используют
Долгосрочная цель Matrix состоит в том, чтобы стать основной системой для отправки сообщений и синхронизации данных по всей сети, позволяя людям, сервисам и устройствам легко общаться друг с другом, давая пользователям контроль над своими данными и выбор между сервисами и вендорами, которые они захотят использовать.
Matrix предоставляет:
Вы можете найти полный список Matrix-проектов на https://matrix.org/blog/try-matrix-now.
Цель - предоставить систему, аналогичную электронной почте, где пользователи могут общаться абсолютно со всеми, не беспокоясь о том, какие приложения или сервера они используют, использовать приложение и сервер, которые они захотят, и использовать нейтральную систему идентификации, такие как адрес электронной почты или номер телефона, чтобы найти людей для общения.
Matrix.org - это открытая инициатива, которая действует как нейтральный и независимый хранитель стандарта Matrix. По состоянию на сентябрь 2017 года мы наконец занялись формированием его в виде некоммерческой организации (скорее всего британской компанией, ограниченной гарантией, называемой Matrix.org Foundation).
Matrix.org на текущий момент (сентябрь 2017) существует за счёт пожертвований сообщества, используя комбинацию различных площадокPatreon,Liberapay, Bitcoin and Ethereum), корпоративного спонсорства и получения грантов. Посмотреть текущих спонсоров уровня Elliptic на площадке Patreon и корпоративных спонсоров можно настранице наших сторонников. Если вы желаете поддержать команду Matrix в качестве члена сообщества, пожалуйста, посетите нашу страницу на Patreon и Liberapay, или вы можете внести пожертвование в биткоинах на адрес 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE или эфир на адрес ETH 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485. Если вы желаете спонсировать команду как корпорация или заинтересованы в оплате приоритетных или дополнительных разработок, пожалуйста, свяжитесь с нами.
В течение первых трех лет разработки Matrix (2014-2017) большинство основных участников работали наAmdocs, которые оплачивали им полный рабочий день для работы над Matrix. В июле 2017 года Amdocs посчитали проект достаточно успешным, чтобы теперь он мог самоподдерживаться, и поэтому прекратили финансирование. Теперь большая часть основной команды работает на New Vector, независимую компанию, созданную для найма команды и поддержки разработки Matrix. Другие участники финансируются собственными работодателями или жертвуют свое время на проект.
Основная команда состоит из ~12 человек, имеющих обширный опыт в построении VoIP и приложений для обмена сообщениями для мобильных операторов. Большая часть из нас работает в компании New Vector, но также есть растущее количество сотрудников из других компаний и людей со всего интернета.
Мы называемся Matrix, потому что предоставляем инфраструктуру, в которой вся коммуникация может быть связана воедино». «Matrixed» — как связующее существо.
Нет, это не имеет отношения к фильму (но вы можете построить виртуальный мир на Matrix, если захотите :)
Мы убеждены, что любой открытый стандарт коммуникации должен быть подтверждён, продемонстрирован и оценен прозрачными open-source реализациями. Мы считаем, что для достижения своей цели - интероперабельности всех средств связи, Matrix должен быть истинно открытым, предоставляя людям доступ ко всему коду, который мы производим, и возможность его использования.
Matrix - это открытый стандарт, и это означает, что мы свободно публикуем детали о том, как взаимодействовать, используя набор Matrix HTTP API. Мы призываем всех и каждого использовать API и строить свои проекты, которые реализуют их, и, таким образом, получать выгоду от взаимодействия с остальной частью экосистемы Matrix. Мы также гарантируем, что стандарт не обременён никакими известными требованиями лицензирования патентов.
Matrix также является open-source системой, подразумевающей, что мы публикуем весь исходный код базовой реализации, клиентов и сервисов для общедоступного использования под лицензиейApache Licence v2, чтобы побудить всех и каждого запускать свои сервера и клиенты, а также улучшать и вносить свой вклад по улучшению так как они это видят.
Федерация позволяет независимым экземплярам коммуникационных сервисов общаться между собой - например, как почтовый сервер Gmail взаимодействует с почтовым сервером Microsoft, когда вы посылаете письмо с @gmail.com на @hotmail.com.
Федерация отличается от интероперабельности, поскольку интероперабельные клиенты могут работать на одном и том же сервере, тогда как в федерации сами сервера обмениваются данными между собой, понимая друг друга.
Matrix обеспечивает открытую федерацию - это означает, что любой в интернете может присоединиться к экосистеме Matrix, развернув свой сервер.
Когда электронная почта впервые появилась в начале 80’х, такие компании, как Compuserve, AT&T и Sprint создали изолированные сообщества, позволявшие обмениваться почтой только с пользователями той же системы. Если у вас был почтовый ящик от одного сервиса, а у вашего друга от другого, вы не могли общаться друг с другом. Такую же ситуацию мы имеем сейчас с VoIP и IM.
Было несколько попыток прежде, включая SIP, XMPP и RCS. Все они имели разный уровень успеха, но большое количество технических, экономических и архитектурных проблем привели к ограничению их успеха. К несчастью, мы не оказались в мире, где у каждого есть SIP URI или Jabber ID на его визитной карточке или номера телефона, который использует RCS.
Мы любим IRC. Фактически, на сегодня основная команда Matrix использует её в качестве основного инструмента общения. Мы писали для себя IRCd, IRC ботов и администрировали dreamforge, UnrealIRCd, epona, ircservices и несколько других. Тем не менее, у этого решения есть несколько ограничений, которые Matrix стремится преодолеть:
IRCv3 существует и решает некоторые из этих проблем; это отличная новость и мы желаем им успехов. Для открытых систем коммуникации становиться конкурентами друг другу почти противоречит здравому смыслу - мы с нетерпением ожидаем увеличения количества мостов Matrix-IRC по мере продвижения проекта.
Команда Matrix использовала XMPP (Openfire, ejabberd, spectrum, asmack, XMPPFramework) в качестве IM до того, как начали эксперимент с разработкой открытого HTTP API в качестве альтернативы примерно в 2012 год. Главные проблемы XMPP, что сподвигли нас на этот путь в 2012 году, были:
Тем не менее, противопоставление XMPP и Matrix весьма субъективно. Вместо того, чтобы выяснять, какой открытый совместимый стандарт связи работает лучше, мы должны просто сотрудничать и объединять их вместе. Чем больше федерация и взаимосовместимость, тем лучше.
Мы думаем, что Matrix и XMPP совершенно разные; в своей основе Matrix можно рассматривать как согласованную глобальную JSON-db с API-интерфейсом HTTP и семантикой pubsub, в то время как XMPP можно рассматривать как протокол передачи сообщений. Вы можете использовать их как для создания чат-систем, так и для создания систем pubsub: каждый из них имеет свои преимущества. Matrix имеет намеренно обширную базовую функциональность; XMPP имеет намеренно минимальный базовый набор функциональных возможностей. Если XMPP делает то, что вам нужно, то мы искренне рады за вас :) Между тем, вместо того, чтобы конкурировать, XMPP-мосты, такие как бета-версияxmpptrix от Skaverat, или matrix-xmpp-bridge от jfred, или purple-matrixот Matrix.org имеют потенциал, чтобы обе среды сосуществовали и максимально использовали преимущества друг друга.
PSYC - это открытый федеративный протокол обмена сообщениями, слабо вдохновлённый IRC. В первой версии это был автономный протокол, а во второй версии он повторно использовался как уровень обмена сообщениями поверх GNUnet. Мы честно не знаем много о нём, помимо того, что пытались использовать psycd как мост XMPP-IRC в 2010 году. Matrix отличается прежде всего тем, что предоставляет простое HTTP API, а не более экзотический компактный протокол в PSYC v1 или всеобъемлющий стек GNUnet во второй версии, а Matrix больше фокусируется на децентрализованной истории разговоров, а не на децентрализованных чат-серверов. С другой стороны Matrix не предоставляет гарантии защиты метаданных, к которым стремится GNUnet/PSYC.
См. http://about/psyc.eu/Matrix, чтобы прочитать точку зрения PSYC на Matrix.
Tox.chat выглядит как очень классный клон Skype - полностью децентрализованная одноранговая сеть. Matrix намеренно не является "чистой" одноранговой сетью, вместо это у каждого пользователя есть строго заданный домашний сервер, который хранит его данные и от которого зависит клиент. Matrix предоставляет HTTP API, Tox.chat предоставляет C API. По состоянию на октябрь 2015 года Tox похоже не решил проблему с децентрализованным хранением истории.
Trillian, Pidgin и другие похожие IM-агрегаторы объединяют все ваши аккаунты IM в одно приложение. Однако, ваша история сообщений и аккаунты всё ещё разбросаны по сетям. Люди не могут просто так вас найти, ваша история фрагментирована и существует только на том устройстве, где запущен клиент. И вместо использования подходящего приложения для общения с людьми, вы опираетесь на приложение-комбайн, умеющее работать со многими протоколами.
Matrix позволяет вам получить лучшее обоих миров, соединяя разные сети (XMPP, AIM, ICQ, Lync, Skype и другие) на серверной части, используя «мосты», которые могут быть запущены кем угодно. Matrix предоставляет простой стандартный HTTP API для доступа к этим сетям и даёт выбор, какой клиент вам использовать («нативный» или из той сети, с которой был соединён «мост»).
Довольно немного, от привычных для массового использования и до «гиковских» консольных. Даже есть макрос для Emacs. Зайдите наhttps://matrix.org/blog/try-matrix-now для ознакомления с текущим списком проектов, использующих Matrix.
Количество «мостов», разрабатываемые командой Matrix и сообществом, которые интегрируют существующие сети в Matrix, растёт с каждым днём. Полный список можно найти наhttps://matrix.org/blog/try-matrix-now, но основные проекты за Октябрь 2015 года:
Написание «мостов» невероятно весёлое и простое занятие: посмотрите на matrix-appservice-bridge HOWTO для примера, как написать полностью работающий «мост» в Slack всего в 100 строк кода!
Мы твёрдо верим, что это то, что подходит потребителю. По мере того, как пользователи начинают использовать интероперабельные средства связи, поставщики услуг будут видеть выгоду и конкурировать за качество сервиса, безопасность и возможности, а не полагаться на блокировку людей в их огороженных сетях. Мы верим, что как только пользователи увидят доступность и преимущества совместимых сервисов, они перейдут на них.
Мы признаём преимущества работы с существующими стандартизирующими организациями. Мы были сосредоточены на написании кода и стандарт быстро развивался с момента первоначального выпуска в сентябре 2014 года. Как только стандарт созреет достаточно, вполне может быть целесообразно работать с официальным стандартизующим органом, чтобы поддерживать его в будущем.
Наиболее быстрый способ - это установить клиент сhttps://matrix.org/blog/try-matrix-now и зарегистрироваться. Обратите внимание, что для клиента можно указать любой сервер как домашний - не обязательно использовать matrix.org, хотя, как и в первый день, matrix.org является единственным общедоступным сервером.
Типичный клиент предоставляет простой чат интерфейс в Matrix, позволяя пользователю взаимодействовать с другими пользователями и комнатами в Matrix-федерации. Поддерживаются обмен текстовыми сообщениями, картинками, файлами, подключение различных ботов и мостов. Также работают голосовые и видео-звонки (1:1 и групповые).
Зайдите на http://github.com/matrix-org/synapseдля деталей.
Если ваше приложение пока что не имеет возможностей коммуникации, вы можете использовать инструменты разработчика клиентов для интеграции. Они поставляются в разных уровнях сложности, от простых HTTP API обёрток (такие как matrix-js-sdk, matrix-ios-sdk и matrix-android-sdk) и до компонентов для построения UI (такие как matrix-react-sdk и matrix-ios-kit). Выберите инструмент для своей платформы или, если не нашли ничего подходящего, используйте созданный сообществом. Вероятно, вам также захочется почитатьHOWTO по клиент-серверному API .
Если у вас уже есть рабочая инфраструктура (XMPP, собственная реализация на HTTP или что угодно), вы можете поднять «мост» в экосистему Matrix. Почитайтеmatrix-appservice-bridge HOWTOдля руководства о том, как писать «мосты», используя фреймворк matrix-appservice-bridge или другой из списка https://matrix.org/blog/try-matrix-now.API сервиса приложений предоставляет детали об API, которым «мост» должен соответствовать.
Смотрите HOWTO по клиент-серверному API,документы и спецификации по всем деталям, которые вам нужны для написания клиента.
Придите и скажите «привет» в #matrix:matrix.org! Установите synapse и скажите как он вам. Критикуйте спецификации. Пишите клиенты. Пишите «мосты»! Пройдитесь по нашим репозиториям на GitHub и отправляйте нам PR с исправлениями ошибок и реализациями новых возможностей! Вы даже можете попробовать написать реализацию сервера (но имейте в виду, архитектура Matrix делает реализацию серверов куда более сложной, чем клиентов и «мостов»).
Почитайте CONTRIBUTING.mdдля подробностей, как вы можете помочь проекту. Мы рады всем!
#matrix:matrix.org он же #matrix on irc.freenode.net - это ваш лучший выбор.
Мы пока что не осуществляем регистрацию кастомных событий в Matrix. Если у вас есть хорошие кандидаты, о которых вы хотите сообщить миру, пожалуйста, дайте нам знать в #matrix-dev:matrix.org.
Мы начали работу над Matrix в июле 2014 года и открыли её публике в сентябре 2014. Мы реализовалии все основные функции в декабре 2014 и вошли в бету, и с тех пор развиваем архитектуру и API, исправляем ошибки и масштабируемость, добавляем новые функции, клиенты, «мосты» и прочее.
По состояние за октябрь 2015 года (synapse 0.10) оно хорошо для серьёзных экспериментов и непроизводственных сервисов, и может быть использовано по всему миру. Однако, мы до сих пор в бете и хотим заморозить спецификации, реализовать крастеризацию и другие хорошие функции до того, как мы объявим, что готовы для производства.
Пользователи в Matrix используют один или более клиентов для общения. Это может быть любая комбинация из веб-клиента, консольного клиента и мобильного клиента, или встроенного в другие существующие приложения. Это даже может быть частью оборудования (например, дрон), использующего Matrix.
Конечно. Растущее количество протоколов объединяется «мостом» в Matrix, так что если вы используете что-нибудь типа IRC во Freenode, вы можете косвенно быть частью Matrix, так как другие клиенты могут подключиться к IRC-каналу с помощью Matrix.
Клиент пользователя подключаются к одному серверу, который хранит историю сообщений и информацию об аккаунте и делится ею с другими серверами в экосистеме Matrix, синхронизируясь с ними.
Идентификатор пользователя Matrix (MXID) - это уникальный идентификатор. Они хранятся в формате @пользователь:сервер.tld (этот формат используется для того, чтобы не перепутать с адресами электронной почты). Они предназначены быть скрытыми (на данный момент это не так), вместо них предлагается использовать 3PID.
Сторонние идентификаторы (3PID) - это идентификаторы из других систем или платформ, таких как email, социальные сети или телефонный номер.
Пользователи в Matrix идентифицируются с помощью уникального идентификатора Matrix (MXID). Однако, существующие сторонние идентификаторы (3PID), такие как email или телефонный номер, могут использоваться как для идентификации пользователей, как и для приглашения новых пользователей (инвайты). Аккаунт Matrix может определяться одновременно как и MXID, так и любым существующим идентификатором, привязанным к его аккаунту.
Пользователи Matrix могут связать сторонний идентификатор с их MXID. Связывание создаёт отображение со стороннего идентификатора на MXID. Это отображение затем может использоваться Matrix для определения MXID по его контакту.
Для того, чтобы подтвердить подлинность отображения с 3PID на MXID используется глобальный федеративный кластер доверенных "Identity серверов" (IS) для проверки 3PID, сохранения и дублирования отображения 3PID на MXID. Использование IS не является обязательным условием клиентских приложений, чтобы быть частью экосистемы Matrix. Однако без этого клиенты не смогут определить идентификатор пользователя по его стороннему идентификатору.
Подробное описание архитектуры identity сервера на текущий момент постоянно изменяется, так как мы работает над тем, чтобы сделать её полностью децентрализованной.
Каждый сервер хранит историю и данные аккаунта всех его клиентов, а также обменивается данными со всей многочисленной Matrix экосистемой, синхронизируя историю бесед с другими серверами и их клиентами. Клиенты как правило общаются между собой обмениваясь событиями в контексте виртуальных комнат. Данные комнаты дублируются на все сервера, чьи клиенты принимают участие в данной комнате.
Поскольку события расширяемы, злоумышленники и/или сервера могут добавлять контент, которые являются, например, оскорбительным или незаконным. Так как некоторые события не могут быть удалены (например, события входа в комнату), мы вместо этого используем событие "удаления", отсекая весь контент, который не требуются протоколу. Удаление события нельзя откатить, позволяя владельцу сервера также удалять оскорбительный контект из базы данных.
Голосовые (и видео) звонки в Matrix работают с использованием стандарта WebRTC 1.0 для передачи медиа данных (голос или видео). Для установления и завершения звонков Matrix использует события вызова наравне с другими событиями.
WebRTC шифрует все данные, которые пересылваются. События сигнализации, которые устанавливают (и завершают) вызовы будут зашифрованы только если они посылаются в зашифрованной комнате.
VoIP вызовы должны работать если оба участника находятся в публичных сетях. Однако, на практике одно (или оба) устройства часто расположены за службой трансляции адресов (NAT), в таком случае необходим TURN-сервердля установления вызова.
Смотрите инструкциюдля установки и настройки TURN-сервера для Synapse.
На текущий момент нет. Мы рассматриваем возможность децентрализации или миграции пользовательских аккаунтов между различными серверами, и возможно данная возможность появится на более поздних этапах.
Лицензия Apache является разрешающей. Мы хотим, чтобы протокол Matrix был бесплатным и открытым, чтобы люди свободно могли создавать как бесплатные, так и коммерческие приложения и сервисы, использующие протокол. По нашему мнению, Matrix-сервис только улучшит Matrix экосистему.
Да. Matrix это всего лишь спецификация, поэтому реализации только приветствуются! Следует отметить, что по состоянию на октябрь 2015 изменения всё ещё производятся в спецификации, поэтому, если вы хотите написать свой Matrix-сервер, настроятельно рекомендуем общаться с разработчиками Matrix.org в #matrix:matrix.orgg! Вы также можете почитать о API федерации здесь.
Трафик сервер-сервер в обязательном порядке заворачивается в TLS. Трафик клиент-сервер шифруется на транспортном уровне. Сервера поддерживают пару открытый/закрытый ключей и поддерживают целостность всей истории переписки, подписываю сообщения, предотвращая подделку. Ключи серверов распределяются с использованием системыПерспектив.
Сквозное (оконечное) шифрование доступно в различных сборках app.element.io. Это позволяет вам шифровать личные и групповые чаты для защиты пользовательских данных, которые сохраняются на сервере, используя библиотеку Olm с реализацией ratchet. Узнайте больше вблоге, в котором объявлена данная функциональность.
Конфиденциальность данных в настроящее время не защищена от администраторов серверов, администратор мошеннического сервера может видеть, кто с кем общается и когда, но не может прочесть саму переписку (если включено сквозное шифрование). Смотритепрезентацию от Jardin Entropiqueдля более плотного обсуждения вопросов конфиденциальности в Matrix.
Вместо того, чтобы полагаться на центры сертификации (CAs), как в традиционном SSL,Перспектив-системаиспользует более децентрализованную модель проверки ключей. Эта модель использует нотариальные серверы для проверки того, что один и тот же ключ виден во всей сети, что делает атаку "человек посередине" (MITM) намного сложнее, потому что злоумышленник должен будет встроится в несколько мест. Для федерации в Matrix, каждый сервер выступает в качестве нотариуса. Когда один сервер подключается к другому серверу, который использует не распознаваемый ключ, происходит обращение к другим серверам, чтобы проверить, что все они видят один и тот же ключ с этого сервера.
HTTP действительно не самый эффективный транспорт, но он очень распространён, понятен и поддерживается почти любой платформой и языком программирования. Также у него есть опция апгрейда до HTTP/2, который относительно эффективен в плане траффика.
Поэтому он был выбран обязательным для базового минимума, но вполне возможно применение и более экзотических протоколов для коммуникации между клиентами и сервером (смотрите например этот проект websocket транспорта), и возможно в будущем для межсерверного обмена в федерации будут добавлены более эффективные протоколы, с сохранением HTTP+JSON для базовой совместимости.
Synapse - это эталонная реализация сервера Matrix, разрабатываемая командой matrix.org, написанная на Python 2/Twisted. Она предназначена для демонстрации концепта Matrix и показа работы спецификации в контексте кодовой базы, а также даёт вам возможность поднять свой собственный сервер и помочь в расширении экосистемы.
Вы можете скачать и запустить один из доступных серверов Matrix - подробности, пожалуйста, смотрите в соответствущих руководствах.
Мы рекомендуем использовать порт 8448 для сервер-серверного HTTPS трафика. Почитайте секцию «Setting up Federation»в файле readme Synapse.
Клиент-серверный трафик может обращаться к Synapse через 8448 порт, но по умолчанию Synapse создаёт самоподписанный TLS-сертификат, который может вызывать проблемы у клиентов, которые не доверяют самоподписанным сертификатам (например, мобильные веб-браузеры). Вместо этого вы можете использовать прокси для доступа к прослушиваемому HTTP Synapse через порт 8008 с помощью существующего HTTPS прокси с действительным сертификатом (например, nginx, слушающего 443 порт) или непосредственно указать на файл действительного TLS-сертификата, подписанного X.509. В будущем Synapse будет использовать letsencrypt для автоматической генерации действительных сертификатов вместо самоподписанных при установке, чрезвычайно упрощая процесс.
Вы также можете расположить Synapse за существующим TLS балансировщиком нагрузки и не открывать порт 8448. В таком случае надо настроить Synapse, чтобы он использовал тот же самый публичный TLS-сертификат, что и балансировщик нагрузки. (поскольку Synapse использует публичный сертификат для идентификации в других областях тоже, он должен соответствовать сертификату, который видят другие серверы, когда подключаются).
Следуя инструкциям сервера, который вы хотите поднять. Если вы хотите использовать Synapse, сервер Matrix.org, следуйте этим инструкциям.
Да, текущая реализация - это sydent, которая позволяет вам поднять собственный сервер ID, отображающая 3PID. Это не очень полезно на данный момент и мы не рекоммендуем его к использованию.
Если вы хотите, чтобы ваш сервер учавствовал в распределённой сети MXID, дайте нам знать. Пока что мы ищем пути децентрализации «официального» MXID, чтобы сервера идентификации были на 100% децентрализованы и могли свободно общаться друг с другом посредством федерации.К вашему сведению, вы можете использовать Matrix без сервера идентификации - он нужен только для отображения 3PID (например, адреса электронной почты), для поиска пользователей.
Synapse будет потреблять столько памяти, сколько вы ему выделите. В основном память используется для кэширования сообщений, чтобы избежать обращений к базe данных. Для маленьких серверов (менее 50 пользователей) будет скорее всего достаточно около 512MB памяти. Вы можете настроить количество потребляемой памяти с помощью параметра eventcachesize: чем больше событий в кеше, тем больше требуется памяти. Synapse сам по себе требует относительно мало дискового пространства кроме логов (которые по состояние на 2015 год довольно подробны для нужд откладки), но поскольку он кеширует контент своих пользователей (картинки, видео итп), вам потребуется хранилище соотвeтствующих объёмов. На текущий момент Synapse однопоточен и использует только одно ядро (на 2018 это уже не так).
Для повышения производительности можно использовать СУБД Postgres вместо SQLite, которая идёт по-умолчанию, смотрите https://github.com/matrix-org/synapse/tree/master/README.rst#using-postgresql для подробностей.
Это связано с тем, что они оба являются зрелой и хорошо известной технологией асинхронного ввода-вывода для написания серверного кода. Хотя это было хорошо для первоначального эксперимента и доказательства концепции, вполне вероятно, что сервер будет переписан на более строго типизированном языке (например, Go).
Synapse сильно зависит от базы данных (на октябрь 2015; однако, это улучшится в ближайшем будущем), и нам нравится иметь гибкость, чтобы лепить собственные запросы.
Данные распределяются только между серверами участников комнаты. Если все участники находятся на вашем сервере, то никакие данные не синхронизируются с другими серверами.
Сейчас предполагается, что имя сервера никогда не изменяется. Это означает, что если переименовать свой сервер, то другие сервера начнут думать, что это другой сервер.
Возможно, в будущем будет добавлен API для изменения имени сервера, но это пока не поддерживается.
Element доступен для Android и iOS.
Версию для iOS можно скачать с Apple store.
Версию для Android можно скачать с Google Playли F-Droid. Если не знаете, какую из версий выбрать, установите Element изGoogle Play.
Версия F-Droid не использует Google Cloud Messaging. Это даёт пользователям возможность использовать Element, если они не хотят или не могут установить Google Services.
Недостаток заключается в том, что Element вынужден регулярно запрашивать новые сообщения, что может разряжать батарею. Чтобы противостоять этому, вы можете изменить интервал запросов в настройках приложения. Более высокая задержка - способ продлить работу от батареи (но может вызвать задержку получения сообщений). Также вы можете полностью выключить фоновую синхронизацию (это значит, что вы вообще не будете получать уведомления).
Если вы не против использования Google Services, то лучше установить версию для Google Play.
Вы можете использовать app.element.io - современный веб-клиент, построенный наmatrix-react-sdk.
Вы можете воспользоваться десктопной сборкой element.io.
Есть также другие десктопные клиенты - посмотрите список на matrix.org.
Когда шифрование включено, комната помечается соответствующим флагом, так что все клиенты знают, что сообщения перед отправкой нужно шифровать. Состояние комнаты хранит информацию о теме, аватаре и списке участников.
Представьте, если бы шифрование можно было бы отключить так же, как и включить. Любой администратор может удалить флаг с комнаты и сообщения будут отправляться нешифрованными. Пользователь может легко не заметить изменения в настройках и отправить деликатное сообщение без шифрования.
Ещё хуже, кто угодно с доступом к самому серверу так же может удалить флаг (напоминаем, что главная причина использования E2E-ширфования есть то, что мы не доверяем системным администраторам) и могут с лёгкостью прочитать всю вашу приватную переписку.
Мы приняли решение сделать так, чтобы любой клиент игнорировал запросы об отключении шифрования. Мы экспериментируем над тем, чтобы улучшить эту функцию - например, уведомляя пользователя, пишущего в комнату, если шифрование отключено.
Мы намеренно сохраняем E2E по умолчанию выключенным на стадии беты, т.к. есть небольшой риск нерасшифровки сообщений, и мы не хотим создавать у людей ложного чувства безопасности. По выходу из беты мы сделаем E2E включенным по умолчанию для комнат с приватной историей. Еще одна причина - дать другим клиентам время обзавестись поддержкой E2E прежде, чем оно станет использоваться по умолчанию.
Это руководство находится в разработке, так что патчи и PR для его расширения очень приветствуются. Некоторые часто задаваемые вопросы, на которые нужно написать ответ:
У вас остались вопросы? Свяжитесь с нами в #matrix:matrix.org.
Copyleft by Perevodators team. #perevodators:matrix.org