今日現れた
メッセンジャー コードは GPLv3 ライセンスに基づいて配布されます。 Jami は、GNU/Linux、Windows、MacOS、iOS、Android、Android TV 向けにリリースされています。 必要に応じて、Qt、GTK、および Electron に基づくインターフェイス オプションの XNUMX つを選択できます。 しかし、ここで重要なことは、もちろんインターフェースではなく、Jami が
代わりに、エンドツーエンド暗号化を使用してユーザー間に直接接続が確立されます。 キーはクライアント側にのみ存在します。 認証手順は X.509 証明書に基づいています。 このプラットフォームでは、メッセージに加えて、音声通話やビデオ通話の発信、電話会議の作成、ファイルの交換、ファイルや画面コンテンツへの共有アクセスの整理などが可能です。
当初、このプロジェクトはソフト SIP 電話として位置付けられ、開発されました。 しかし開発者は、SIP との互換性を維持し、このプロトコルを使用して通話を行う機能はそのままにして、プロジェクトの機能を拡張することを決定しました。 このプログラムは、G711u、G711a、GSM、Speex、Opus、G.722 に加えて、ICE、SIP、TLS プロトコルを含むさまざまなコーデックをサポートしています。
通信機能には、通話転送のキャンセル、通話保留、通話録音、検索付き通話履歴、自動音量制御、GNOME および KDE アドレス帳との統合が含まれます。
上記では、信頼性の高いユーザー認証システムについて簡単に説明しました。 このメカニズムはブロックチェーンに基づいており、アドレス帳はイーサリアムに基づいています。 同時に、複数のデバイスから同時に接続し、どのデバイスがアクティブであるかに関係なくユーザーと通信できます。 名前を RingID に変換する役割を担うアドレス帳は、さまざまな参加者によって維持されるノードを使用して実装されます。 彼らの助けを借りて、独自のノードを実行して、グローバル アドレス帳のローカル コピーを維持できます。
ユーザーへの対応に関して、開発者は OpenDHT プロトコルを使用してこの問題を解決しました。これにより、ユーザーに関する情報を含む集中レジストリを使用する必要がなくなりました。 Jami の基礎となるのは jami-daemon で、接続の処理、通信の組織化、ビデオとサウンドの操作を担当します。
jami-daemon との対話は、LibRingClient ライブラリに基づいて実装されます。 これはクライアント ソフトウェアを構築するための基礎であり、ユーザー インターフェイスやプラットフォームに縛られない必要な機能を提供します。 また、クライアント アプリケーションは LibRingClient 上で開発されます。
P2P メッセンジャーを電気通信プラットフォームに作り直す場合、開発者は
- 低帯域幅ネットワークでのパフォーマンスが向上しました。
- Android および iOS で動作する場合に使用されるリソースの数が削減されました。
- Windows 用クライアントが書き直されました。 タブレットモードでも動作します。
- 複数の参加者と電話会議を行うためのツールが登場しています。
- 会議でブロードキャスト モードを変更する機能が追加されました。
- アプリケーションはワンクリックでサーバーに変えることができます (会議の開催などに必要になる場合があります)。
- JAMSアカウント管理サーバーを導入しました。
- 基本的なメッセンジャーの機能を拡張するプラグインを接続することができます。
出所: habr.com