mirror of
https://github.com/He4eT/oddsquat.git
synced 2026-05-04 20:37:22 +00:00
posts: encrypted_XMPP: update draft
This commit is contained in:
parent
07a44e6aad
commit
6065693999
1 changed files with 41 additions and 46 deletions
|
|
@ -155,70 +155,65 @@ as well as retention policies and message lifetime,
|
||||||
depends on the specific server.
|
depends on the specific server.
|
||||||
You should never assume that all conversations are stored
|
You should never assume that all conversations are stored
|
||||||
indefinitely by default.
|
indefinitely by default.
|
||||||
|
From a practical standpoint,
|
||||||
|
the server-side MAM archive is better considered a cache:
|
||||||
|
it can help you handle recent messages after a short period offline
|
||||||
|
or synchronize conversations across multiple devices.
|
||||||
|
|
||||||
At the end of the day, keeping your chat history is your responsibility,
|
At the end of the day, keeping your chat history is your responsibility,
|
||||||
and this is a good place to apply a local-first approach.
|
and this is a good place to apply a local-first approach.
|
||||||
|
|
||||||
From a practical standpoint,
|
|
||||||
the server-side archive is better considered a cache:
|
|
||||||
it can help you handle recent messages after a short period offline
|
|
||||||
or synchronize conversations across multiple devices.
|
|
||||||
|
|
||||||
### Synchronisation
|
### Synchronisation
|
||||||
|
|
||||||
За бесшовное переключение между клиентами отвечает
|
Seamless switching between clients is handled by
|
||||||
**XEP-0280: Message Carbons**.
|
**XEP-0280: Message Carbons**.
|
||||||
До его внедрения можно было переключиться с телефона на лэптоп
|
Before its introduction, only incoming messages were synced between devices,
|
||||||
и пялиться в загруженную историю переписки,
|
while your own outgoing messages were not.
|
||||||
состоящей только из входящих сообщений от собеседника.
|
Protocol-level mirroring of your own messages
|
||||||
Отправка своих же сообщений ещё и самому себе
|
is a rather non-obvious feature :D
|
||||||
на уровне протокола -- это довольно неочевидная фича.
|
|
||||||
|
|
||||||
Тут важно упомянуть, что при использовании e2e шифрования,
|
It's important to note that with end-to-end encryption,
|
||||||
упомянутая выше концепция доверенных отпечатков пальцев
|
the concept of trusted fingerprints also applies to your own clients.
|
||||||
распространяется и на свои клиенты тоже.
|
For seamless synchronisation of outgoing messages,
|
||||||
|
all your clients must trust each other's fingerprints.
|
||||||
|
A new client,
|
||||||
|
or an old one that was not trusted at the time messages were sent,
|
||||||
|
will receive the full history from MAM but will not be able to decrypt it.
|
||||||
|
<br>Yes, even your own messages.
|
||||||
|
|
||||||
Для бесшовной синхронизации исходящих сообщений
|
In theory, re-encrypting messages on already trusted clients
|
||||||
все ваши клиенты должны считать фингерпринты друг друга доверенными,
|
could solve this issue, but no XMPP client implements it yet.
|
||||||
иначе можно столкнуться с ситуацией,
|
So in practice you may need to manually resend
|
||||||
когда не получается прочитать своё же сообщение.
|
important messages to a new device.
|
||||||
|
|
||||||
Логичное, но неприятное следствие:
|
|
||||||
Новый клиент или старый,
|
|
||||||
который не был в списке доверенных на момент отправки сообщений,
|
|
||||||
получит историю из MAM, но не сможет её расшифровать.
|
|
||||||
Да, даже ваши сообщения.
|
|
||||||
Теоретически, перепаковка сообщений
|
|
||||||
на старых доверенных клиентах вроде как возможна,
|
|
||||||
но на практике, никто такое пока не имплементировал
|
|
||||||
и важные вещи придётся пересылать вручную.
|
|
||||||
|
|
||||||
### Message Correction
|
### Message Correction
|
||||||
|
|
||||||
Тут же стоит отметить, что такие простые и понятные на первый взгляд фичи
|
It’s worth keeping in mind that
|
||||||
как редактирование и удаление сообщений вообще-то полагаются на
|
features that seem simple and straightforward at first glance,
|
||||||
клиентский код и могут не сработать у вашего собеседника так,
|
such as message editing and deletion,
|
||||||
как вы этого ожидаете.
|
actually rely on client-side implementation
|
||||||
Ими можно пользоваться,
|
and may not behave for your recipient the way you expect.
|
||||||
это удобно и некоторые клиенты их отлично поддерживают,
|
|
||||||
но полагаться на них для сокрытия чего-либо не стоит.
|
They’re fine to use and are well supported in some clients,
|
||||||
|
but you shouldn’t rely on them to hide anything.
|
||||||
|
|
||||||
### Maintenance
|
### Maintenance
|
||||||
|
|
||||||
OMEMO был задуман как решение, которое после настройки не требует какого-то
|
OMEMO was designed as a set-it-and-forget-it solution,
|
||||||
дополнительного вмешательства.
|
and it mostly succeeds in that goal.
|
||||||
Можно считать, что этой заявленной цели удалось достичь
|
If you have a basic understanding of how the protocol works
|
||||||
и при наличии базового понимания работы протокола и регулярном онлайне
|
and check in online from time to time,
|
||||||
никаких сюрпризов быть не должно.
|
there shouldn’t be any surprises.
|
||||||
|
|
||||||
Всё обслуживание заключается в регулярных бэкапах и
|
All maintenance comes down to making regular backups
|
||||||
уведомлении своих контактов о фингерпринтах,
|
and notifying your contacts
|
||||||
которые стоит добавить в список доверенных или убрать из него.
|
when fingerprints are added or no longer valid
|
||||||
В нашем локальном хакспейсе мы даже проводим для этого регулярные события =)
|
so they can keep their trust list up to date.
|
||||||
|
|
||||||
## Step-by-step guide
|
## Step-by-step guide
|
||||||
|
|
||||||
Представим, что у меня есть аккаунт jid@some.server и несколько устройств:
|
Представим, что у меня есть аккаунт me@some.server и несколько устройств:
|
||||||
телефон, ноутбук и настольный компьютер.
|
телефон, ноутбук и настольный компьютер.
|
||||||
Сначала я опишу воркфлоу общими словами,
|
Сначала я опишу воркфлоу общими словами,
|
||||||
а потом дам уточнения про использование конкретных приложений.
|
а потом дам уточнения про использование конкретных приложений.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue