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

Ключевые возможности
- Двухпанельный макет — список пиров и каналов слева, активная беседа справа. Изменяйте размер панелей по своему усмотрению.
- Поддержка нескольких пиров — каждый сопряжённый пир и каждый присоединённый канал отображается на боковой панели. Переключайтесь между беседами, не теряя контекст.
- Вложения файлов — нажмите кнопку вложения, чтобы отправить файл. Файлы шифруются на телефоне перед передачей.
- Приглашения в каналы — принимайте или отклоняйте приглашения в каналы с боковой панели. Сообщения в канале шифруются для каждого участника индивидуально.
- Статус доставки — каждое отправленное сообщение показывает статус: ожидание, отправлено или не удалось. Нажмите на неудачное сообщение, чтобы открыть модальное окно статуса доставки и повторить попытку.
Пошаговое руководство
- Откройте страницу «Чат» из левой боковой панели. Список пиров загружается с сопряжёнными пирами, несопряжёнными пирами и любыми каналами, в которые вы вступили.
- Выберите пира на боковой панели. Панель беседы загружается с историей сообщений, самые новые — внизу.
- Отправьте сообщение — введите текст в строке ввода внизу и нажмите Enter или кнопку «Отправить». Сообщение появится на панели с индикатором статуса доставки.
- Прикрепите файл — нажмите кнопку вложения, чтобы выбрать файл на вашем компьютере. Файл загружается на телефон, шифруется и отправляется пиру.
- Просмотрите приглашения в каналы — ожидающие приглашения в каналы отображаются в верхней части боковой панели. Нажмите «Принять», чтобы присоединиться, или «Отклонить», чтобы отклонить.
Советы и хитрости
- Длинные сообщения (более 2048 символов) автоматически отправляются как зашифрованные текстовые файлы — вставьте длинный блок текста, и PlainApp сделает всё остальное.
- URL обновляется с идентификатором активной беседы, поэтому вы можете добавить в закладки прямую ссылку на конкретного пира или канал.
- Если пир отображается как офлайн на боковой панели, нажмите «Обновить» в заголовке веб-панели, чтобы принудительно переподключиться на телефоне.
Заметки о конфиденциальности и безопасности
- Веб-панель работает по HTTPS с самоподписанным сертификатом, а весь трафик дополнительно шифруется XChaCha20-Poly1305 поверх TLS.
- Веб-панель привязана только к вашей локальной сети — она недоступна из интернета, если вы явно не настроите перенаправление портов.
- Сообщения защищены сквозным шифрованием с использованием XChaCha20-Poly1305. Шифрование и расшифровка происходят на телефоне; браузер видит только уже расшифрованный текст сообщения для отображения.
- Каждое устройство подписывает свои сообщения ключом Ed25519. Подписи проверяются на телефоне перед отправкой сообщения в браузер.
- В пути чата на любом этапе нет центрального сервера.
Связанные возможности
- Зашифрованный P2P-чат на Android — пользовательский интерфейс чата на телефоне, который зеркалирует панель.
- Управление файлами в веб-панели — выбирайте файлы для прикрепления к сообщениям чата из представления «Файлы».
- Зеркало уведомлений в веб-панели — сбои доставки чата отображаются на панели уведомлений.