目次
PocketBridge
概要
PCとスマートフォン(または端末間)で、テキストメッセージやファイルをシームレスに直接送受信できるWeb/PWAアプリケーションです。
Firebaseによるリアルタイム同期と、WebRTC DataChannelを用いたサーバーレスP2Pファイル転送により、容量制限やクラウドストレージ費用を気にせずセキュアに共有できます。
システム構成図
画面イメージ
メイン画面(トーク)
メイン画面
主な機能
* Googleアカウント認証: Googleログインで安全かつ手軽に端末間で同一アカウント・フレンド連携。
* マルチデバイス対応(PWA/拡張機能/Web): PCブラウザ、スマートフォンのホーム画面追加(PWA)、Chrome拡張機能としてどこからでも利用可能。
* リアルタイムテキスト同期: Cloud Firestoreを利用した高速なメッセージ送受信・会話履歴の同期。
* 高速P2Pファイル転送: WebRTC DataChannelにより端末同士が直接通信。大容量ファイルもクラウドストレージを介さず直接・高速に転送。
* ゼロストレージコスト設計: アバターなどのアイコン情報はクライアント側で最適化(Base64)し、ファイル転送はP2Pで完結するため、クラウドの容量課金が発生しません。
* デスクトップ / Web通知: メッセージやファイル送信リクエストをプッシュ通知で即座に通知。
基本操作
初回起動とログイン
1. アクセス: PCブラウザまたはスマートフォンのブラウザでアクセスします(スマホは「ホーム画面に追加」でアプリ化可能)。
2. Googleログイン: 画面の「Googleでログイン」ボタンを押し、Googleアカウントで認証します。
操作方法
* テキスト送信: メッセージ入力欄にテキストを入力して「送信」ボタン(またはEnter)でリアルタイムに共有されます。
* ファイル送信(P2P):
- クリップアイコン/ファイル送信ボタンから送信したいファイルを選択します。
- 相手端末(同一ユーザーの他端末または友達)に転送リクエストが届きます。
- 受信側で「受信」を許可すると、端末間で直接P2P通信が確立されダウンロードが始まります。
* フレンド・グループ管理: 友達追加やチャンネル切り替えにより、特定端末同士やグループ間でのやり取りが可能です。
* 設定: プロフィールのアバター変更、通知のオン/オフ切り替えが可能です。
システムアーキテクチャ
- Firebase Authentication: ユーザー認証(Googleログイン)
- Firebase Hosting: 静的Webアプリケーション(HTML/CSS/JS)の高速配信
- Cloud Firestore: トーク履歴、フレンド情報、P2P接続確立用シグナリング(SDP / ICE Candidate)の管理
- 公開STUNサーバー(Google): NAT/ファイアウォール越えのためのパブリックIP解決
- WebRTC DataChannel: 端末間(PC ⇄ スマホ等)の暗号化直接P2Pファイル転送
トラブルシューティング
* P2Pファイル転送が始まらない / 失敗する:
- 送信側・受信側の双方がPocketBridgeを開いた状態(オンライン)である必要があります。
- 厳格な企業内ファイアウォールや対称型NAT環境ではP2P接続が制限される場合があります。その場合は同一Wi-Fi内での接続などをお試しください。
* 通知が届かない: ブラウザ側の「通知の許可」設定がブロックされていないかご確認ください。
* ログインできない: ポップアップブロックが有効になっている場合は、一時的に解除して再度ログインしてください。
開発情報
- 開発: mnztech.work
- バージョン: 1.0
- 対応環境: モダンブラウザ(Chrome, Edge, Safari, Firefox)、Android(PWA / Android App対応予定)
- 技術スタック: JavaScript (ES6+), WebRTC, Firebase (Auth / Firestore / Hosting), PWA
- 生成AI: Gemini
更新履歴
- v1.0: 初回リリース(PWA / WebRTC P2Pファイル転送 / Firestore同期対応)



コメント