Назад к возможностям
Веб-панельЧат5 мин чтения

Зашифрованный P2P-чат в веб-панели

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

Представление Чат в веб-панели переносит одноранговый мессенджер PlainApp в любой браузер в той же сети. Макет представляет собой знакомую двухпанельную структуру: список пиров слева, беседа справа. Выберите пира или канал из списка, и беседа загрузится с пузырьками сообщений, вложениями файлов и баннером шифрования в верхней части панели.

Телефон управляет сеансом чата; браузер является удалённым интерфейсом для него. Когда вы отправляете сообщение, телефон шифрует его ключом пира и передаёт по наилучшему доступному транспорту. Когда сообщение приходит, телефон расшифровывает его и отправляет в браузер через WebSocket. Ваш ноутбук никогда не хранит ключи шифрования пира — они остаются привязанными к устройству.

Скриншот: Чат

Ключевые возможности

  • Двухпанельный макет — список пиров и каналов слева, активная беседа справа. Изменяйте размер панелей по своему усмотрению.
  • Поддержка нескольких пиров — каждый сопряжённый пир и каждый присоединённый канал отображается на боковой панели. Переключайтесь между беседами, не теряя контекст.
  • Вложения файлов — нажмите кнопку вложения, чтобы отправить файл. Файлы шифруются на телефоне перед передачей.
  • Приглашения в каналы — принимайте или отклоняйте приглашения в каналы с боковой панели. Сообщения в канале шифруются для каждого участника индивидуально.
  • Статус доставки — каждое отправленное сообщение показывает статус: ожидание, отправлено или не удалось. Нажмите на неудачное сообщение, чтобы открыть модальное окно статуса доставки и повторить попытку.

Пошаговое руководство

  1. Откройте страницу «Чат» из левой боковой панели. Список пиров загружается с сопряжёнными пирами, несопряжёнными пирами и любыми каналами, в которые вы вступили.
  2. Выберите пира на боковой панели. Панель беседы загружается с историей сообщений, самые новые — внизу.
  3. Отправьте сообщение — введите текст в строке ввода внизу и нажмите Enter или кнопку «Отправить». Сообщение появится на панели с индикатором статуса доставки.
  4. Прикрепите файл — нажмите кнопку вложения, чтобы выбрать файл на вашем компьютере. Файл загружается на телефон, шифруется и отправляется пиру.
  5. Просмотрите приглашения в каналы — ожидающие приглашения в каналы отображаются в верхней части боковой панели. Нажмите «Принять», чтобы присоединиться, или «Отклонить», чтобы отклонить.

Советы и хитрости

  • Длинные сообщения (более 2048 символов) автоматически отправляются как зашифрованные текстовые файлы — вставьте длинный блок текста, и PlainApp сделает всё остальное.
  • URL обновляется с идентификатором активной беседы, поэтому вы можете добавить в закладки прямую ссылку на конкретного пира или канал.
  • Если пир отображается как офлайн на боковой панели, нажмите «Обновить» в заголовке веб-панели, чтобы принудительно переподключиться на телефоне.

Заметки о конфиденциальности и безопасности

  • Веб-панель работает по HTTPS с самоподписанным сертификатом, а весь трафик дополнительно шифруется XChaCha20-Poly1305 поверх TLS.
  • Веб-панель привязана только к вашей локальной сети — она недоступна из интернета, если вы явно не настроите перенаправление портов.
  • Сообщения защищены сквозным шифрованием с использованием XChaCha20-Poly1305. Шифрование и расшифровка происходят на телефоне; браузер видит только уже расшифрованный текст сообщения для отображения.
  • Каждое устройство подписывает свои сообщения ключом Ed25519. Подписи проверяются на телефоне перед отправкой сообщения в браузер.
  • В пути чата на любом этапе нет центрального сервера.

Связанные возможности