1751876927
2025-07-07 00:05:00
Bluetoothメッシュネットワーク上で動作する、安全で分散型のピアツーピアメッセージングアプリ。インターネットは不要、サーバー、電話番号はありません – 純粋な暗号化された通信だけです。
このプロジェクトはパブリックドメインにリリースされます。を参照してください ライセンス 詳細については、ファイル。
- 分散化されたメッシュネットワーク:Bluetooth leを介した自動ピアディスカバリーとマルチホップメッセージリレー
- エンドツーエンド暗号化:X25519キーエクスチェンジ +プライベートメッセージのAES-256-GCM
- 客室ベースのチャット:オプションのパスワード保護を備えたトピックベースのグループメッセージング
- 保存&フォワード:オフラインピア向けにキャッシュされ、再接続すると配信されたメッセージ
- 最初にプライバシー:アカウント、電話番号、永続的な識別子なし
- IRCスタイルのコマンド: おなじみ
/join、/msg、/whoスタイルインターフェイス - メッセージ保持:部屋の所有者が制御するオプションの部屋全体のメッセージ保存
- ユニバーサルアプリ:iOSおよびMacOSのネイティブサポート
- トラフィックをカバーします:プライバシーを強化するためのタイミングの難読化とダミーメッセージ
- 緊急拭き取り:すべてのデータを即座にクリアするトリプルタップ
- パフォーマンスの最適化:LZ4メッセージ圧縮、適応型バッテリーモード、および最適化されたネットワーク
-
まだない場合はXCodeGenをインストールしてください:
-
Xcodeプロジェクトを生成します:
cd bitchat xcodegen generate -
生成されたプロジェクトを開きます:
-
Xcodeでプロジェクトを開きます:
cd bitchat open Package.swift -
ターゲットデバイスを選択して実行します
- Xcodeを開き、新しいiOS/MacOSアプリを作成します
- からすべてのSwiftファイルをコピーします
bitchatプロジェクトへのディレクトリ - bluetooth許可を使用してinfo.plistを更新します
- 展開ターゲットをiOS 16.0 / macOS 13.0に設定します
/j #room– 部屋に参加または作成します/m @user message– プライベートメッセージを送信します/w– オンラインユーザーをリストします/rooms– 発見されたすべての部屋を表示します/clear– チャットメッセージをクリアします/pass [password]– 部屋のパスワードの設定/変更(所有者のみ)/transfer @user– 部屋の所有権を転送します/save– 部屋のメッセージ保持を切り替える(所有者のみ)
- デバイスでBitchatを起動します
- ニックネームを設定します(または自動生成されたものを使用します)
- 近くのピアに自動的に接続できます
- 一緒に部屋に参加します
/j #generalまたは、公共の場でチャットを開始します - メッセージはメッシュネットワークを介して中継して遠くの仲間に到達する
- パスワード保護:部屋の所有者はパスワードを設定できます
/pass - メッセージ保持:所有者は、必須のメッセージ保存を有効にすることができます
/save - @言及: 使用
@nicknameユーザーに言及するために(オートコンプリート付き) - 所有権譲渡:信頼できるユーザーに制御を渡します
/transfer
- プライベートメッセージ:X25519キーエクスチェンジ + AES-256-GCM暗号化
- 部屋のメッセージ:Argon2IDパスワード派生 + AES-256-GCM
- デジタル署名:メッセージの信頼性のためのED25519
- フォワード秘密:各セッションで生成された新しいキーペア
- 登録なし:アカウント、電子メール、または電話番号は不要です
- デフォルトでははかない:メッセージはデバイスメモリにのみ存在します
- トラフィックをカバーします:ランダムの遅延とダミーメッセージは、トラフィック分析を防ぎます
- 緊急拭き取り:すべてのデータを即座にクリアするトリプルタップロゴ
- ローカルファースト:完全にオフラインで動作し、サーバーは関係していません
- LZ4圧縮:メッセージ> 100バイトの自動圧縮
- 30〜70%の帯域幅の節約 典型的なテキストメッセージについて
- スマート圧縮:すでに圧縮されたデータをスキップします
- 適応電力モード:バッテリーレベルに基づいて自動的に調整されます
- パフォーマンスモード:充電または60%を超えるバッテリーの完全な機能
- バランスモード:デフォルト操作(30〜60%のバッテリー)
- Power Saver:スキャンが減少しました
- 超低出力:緊急モード時
- バックグラウンド効率:アプリの背景にあるときの自動省電力
- 構成可能なスキャン:デューティサイクルはバッテリー状態に適応します
- 最適化されたブルームフィルター:メモリが少ないため、重複した検出が速くなります
- メッセージ集約:小さなメッセージをバッチして、送信を減らします
- 適応接続制限:パワーモードに基づいてピア接続を調整します
Bitchatは、Bluetooth LEに最適化された効率的なバイナリプロトコルを使用しています。
- 1バイトタイプフィールドを備えたコンパクトパケット形式
- TTLベースのメッセージルーティング(最大7ホップ)
- 大きなメッセージの自動断片化
- 一意のIDを介したメッセージ重複排除
- 各デバイスは、クライアントと周辺の両方として機能します
- 自動ピア発見と接続管理
- オフラインメッセージ配信用のストアアンドフォワード
- バッテリーの最適化のための適応義務サイクリング
詳細なプロトコルのドキュメントについては、を参照してください 技術ホワイトペーパー。
- 開発チームをプロジェクト設定に設定します
- コード署名を構成します
- App StoreまたはTestFlightを介してアーカイブして配布します
このプロトコルは、プラットフォームに依存するように設計されています。 Androidクライアントは以下を使用して構築できます。
- Bluetooth le apis
- 同じパケット構造と暗号化
- 互換性のあるサービス/特性UUID
#JackJackbitsBitchatBluetooth #Mesh #ChatIRC #Vibes