Webダッシュボードのチャットビューは、PlainAppのピアツーピアメッセンジャーを同じネットワーク上の任意のブラウザに提供します。レイアウトはおなじみの2ペイン構成で、左側にピアリスト、右側に会話が表示されます。リストからピアまたはチャンネルを選択すると、メッセージバブル、ファイル添付、ペイン上部の暗号化バナーとともに会話が読み込まれます。
チャットセッションはスマートフォンがホストし、ブラウザはそのリモートUIとして機能します。メッセージを送信すると、スマートフォンがピアの鍵で暗号化し、利用可能な最適なトランスポートで送信します。メッセージが到着すると、スマートフォンが復号化し、WebSocket経由でブラウザにプッシュします。ラップトップがピアの暗号化鍵を保持することはなく、鍵はデバイスに限定されたままです。

主な機能
- 2ペインレイアウト — 左側にピアとチャンネルのリスト、右側にアクティブな会話。ペインのサイズは好みに応じて変更できます。
- マルチピア対応 — すべてのペアリング済みピアと参加中のチャンネルがサイドバーに表示されます。位置を失うことなく会話を切り替えられます。
- ファイル添付 — 添付ボタンをクリックしてファイルを送信します。ファイルは送信前にスマートフォン上で暗号化されます。
- チャンネル招待 — サイドバーからチャンネル招待を受け入れるか拒否します。チャンネルメッセージはメンバーごとに個別に暗号化されます。
- 配信状態 — 送信済みメッセージごとに、保留中、送信済み、失敗が表示されます。失敗したメッセージをクリックして配信状況モーダルを開き、再試行できます。
操作手順
- 左サイドバーから「チャット」ページを開きます。ペアリング済みピア、未ペアピア、参加中のチャンネルとともにピアリストが読み込まれます。
- サイドバーからピアを選択します。会話ペインにメッセージ履歴が読み込まれ、最新のものが一番下に表示されます。
- メッセージを送信 — 下部の入力バーに入力し、Enterキーを押すか「送信」をクリックします。メッセージが配信状態インジケーターとともにペインに表示されます。
- ファイルを添付 — 添付ボタンをクリックしてコンピューターからファイルを選択します。ファイルがスマートフォンにアップロードされ、暗号化されてピアに送信されます。
- チャンネル招待を表示 — 保留中のチャンネル招待がサイドバーの上部に表示されます。「参加」をクリックして参加するか、「拒否」をクリックして閉じます。
ヒントとコツ
- 長文メッセージ(2048文字超)は暗号化されたテキストファイルとして自動的に送信されます。長いテキストブロックを貼り付ければ、PlainAppが残りを処理します。
- URLがアクティブな会話IDで更新されるため、特定のピアやチャンネルへの直接リンクをブックマークできます。
- サイドバーでピアがオフラインと表示される場合、Webヘッダーの更新をクリックしてスマートフォンで強制的に再接続できます。
プライバシーとセキュリティについて
- Web ダッシュボードは 自己署名証明書を使用した HTTPS で提供され、すべての通信は TLS の上に XChaCha20-Poly1305 でさらに暗号化されます。
- Web ダッシュボードはローカルネットワークにのみバインドされます。ポート転送を明示的に設定しない限り、インターネットからアクセスできません。
- メッセージはXChaCha20-Poly1305でエンドツーエンド暗号化されます。暗号化と復号化はスマートフォン上で行われ、ブラウザは表示用にすでに復号化されたメッセージテキストのみを表示します。
- 各デバイスはメッセージにEd25519鍵で署名します。署名は、メッセージがブラウザにプッシュされる前にスマートフォン上で検証されます。
- チャット経路のいずれの時点でも中央サーバーは存在しません。
関連機能
- Androidの暗号化P2Pチャット — ダッシュボードがミラーリングするスマートフォン上のチャットUIです。
- Webダッシュボードのファイル管理 — ファイルビューからチャットメッセージに添付するファイルを選択できます。
- Webダッシュボードの通知ミラー — チャットの配信失敗が通知パネルに表示されます。