P2PMsg («Gryzov») — руководство пользователя

Приватный мессенджер со сквозным (E2E) шифрованием: личные и групповые чаты, голосовые/видеозвонки, медиа- и голосовые сообщения. Сервер видит только зашифрованные конверты — переписку и звонки расшифровать не может.

В парах скриншотов слева — iOS, справа — Android.

1. Установка

Android

  1. Откройте в браузере телефона https://gryzov.com и введите пароль загрузки (его даёт владелец).
  2. Скачайте один из двух APK:
  3. Разрешите установку из этого источника, установите APK, откройте приложение.

iOS

Приложение раздаётся через TestFlight (ссылку-приглашение даёт владелец). Установите TestFlight из App Store → примите приглашение → установите P2PMsg.

2. Первый запуск и регистрация

При первом старте — заставка, затем экран входа/регистрации.


Заставка приложения (Android)

3. Экран «Чаты»

Список личных диалогов. Сверху — профиль и кнопка + / ✎ (новый чат), снизу — вкладки Чаты · Группы · Настройки.


iOS — Чаты

Android — Чаты

Как начать чат

Нажмите + / ✎ → введите точный username → приложение загрузит его prekey-набор и откроет диалог. Первое сообщение автоматически устанавливает защищённую сессию (X3DH).

4. Переписка


iOS — диалог

Android — диалог

Системные сообщения (серым/жёлтым по центру) — уведомления приложения, не переписка: напр. «Не удалось расшифровать…создана новая сессия» (см. FAQ) или предупреждение о смене ключа (§7).

5. Звонки

Из окна чата — кнопка звонка 📞 (аудио). WebRTC (DTLS-SRTP), NAT-обход STUN/TURN. Сигналинг едет по зашифрованному каналу, поэтому SDP-обмен тоже защищён.

6. Группы

Вкладка Группы. Групповые чаты используют MLS — содержимое шифруется только на устройствах, сервер его прочитать не может. Но идентификатор группы и (при приглашении) её имя передаются в служебном заголовке открытым текстом — в сочетании с видимыми серверу метаданными доставки (§9) состав и имя группы технически восстановимы.


iOS — Группы

Android — Группы

7. Проверка собеседника (Safety numbers)

Чтобы исключить «человека посередине», сверьте отпечаток ключа: иконка щита в шапке чата → 60-значный код. Он должен совпадать у обоих (сравните по другому каналу).

⚠️ «Ключ безопасности собеседника изменился. Так бывает при переустановке приложения, но может означать подмену — сверьте отпечаток по доверенному каналу.»

Обычно это переустановка/сброс у собеседника. Если не уверены — свяжитесь с ним другим способом и сверьте отпечаток.

8. Настройки и безопасность


iOS — Настройки

Android — Безопасность


Android — Настройки (нижняя часть)

9. Приватность — что видит сервер

10. Частые вопросы (FAQ)

Почему «Не удалось расшифровать сообщение… будет создана новая сессия»?
Ключи диалога рассинхронизировались (устройство было офлайн или собеседник переустановил приложение). Самолечится: при следующей отправке создаётся новая сессия. Если тишина — отправьте сообщение сами, чтобы форсировать пересоздание.

Почему в фоне ничего не приходит (Android, F-Droid)?
Нужен распространитель UnifiedPush (ntfy/Gotify) — установите и выберите в Настройках, либо поставьте «Версию с Google-пушами». Ещё включите «Надёжность в фоне».

На iPhone звонок в фоне не звонит?
Проверьте, что разрешены уведомления и приложение зарегистрировало VoIP-токен. Фоновые пуши работают на устройстве, установленном через TestFlight.

Что за жёлтое «Ключ безопасности собеседника изменился»?
Ключ собеседника сменился (обычно переустановка/сброс). Для гарантии сверьте отпечаток (§7).

Красная плашка «Аутентификация WS не удалась»?
Сессия истекла (токен живёт 30 дней). Перелогиньтесь. История и ключи сохраняются.

Переустановил приложение — где чаты?
Чаты и ключи хранятся только на устройстве, в облако не выгружаются. Без ключа восстановления (§8) начинается новая личность. Сохраняйте ключ заранее.

Чем отличаются две Android-сборки?
Функционально одинаковы. F-Droid — без Google, пуши через UnifiedPush. Play — фоновые пуши через Google (FCM). Тексты в обоих E2E.

Совместимы ли iOS и Android?
Да, полностью (общее ядро и формат «на проводе»): чат, медиа, голосовые, группы, звонки, safety numbers — кроссплатформенно.

Как убедиться, что сервер меня не читает?
E2E гарантируется криптографией: сервер хранит только зашифрованные конверты. Дополнительно сверьте safety number.

Можно ли запретить незнакомцам писать/добавлять в группы?
Да — переключатели «Не принимать приглашения/чат от незнакомцев» и «Разрешить добавлять меня в группы».