軽量のプッシュは、シンプルで使いやすいプッシュサービスです。独自のサービスをホストしたり、独自のアプリを構築したりせずに、エンドツーエンドの暗号化されたプッシュメッセージをAndroidモバイルデバイスに送信できます。ライブラリは、Google Firebaseの上に構築されたAlertr Push通知サービスを使用しています。 Google Playから公式Alertr Androidアプリをインストールするだけで、メッセージを受信し、Alertr.DEでアカウントを作成する必要があります。その後、軽量のプッシュライブラリを直接使用できます。
他のいくつかのプッシュサービスプロバイダーとは異なり、Lightweight Pushは実際のエンドツーエンドの暗号化を提供します。メッセージは、Androidデバイスを送信および復号化する前に、直接軽量のプッシュで暗号化されます。 Alertr Push通知サービスもGoogleもメッセージを読むことはできません。他のプロバイダーの中には、「エンドツーエンドの暗号化」という用語をマーケティングとしてのみ使用していないものもあります。たとえば、一部のプロバイダーは、プロバイダーのサーバーにHTTPSリクエストを介してメッセージが送信されるWeb APIを使用します。彼らのサービスの単純さを述べるために、彼らはCurlなどでコマンドを示します。ただし、表示されているリクエストのメッセージは暗号化されておらず、暗号化はプロバイダーのサーバーがデバイスに送信する前に行われます。したがって、彼らはHTTPSを使用していても、メッセージはプロバイダーが読み取ることができ、したがってエンドツーエンドの暗号化ではありません。
Lightweight Pushはチャネルを使用して、メッセージをさまざまなAndroidデバイスに送信します。 Androidデバイスは、メッセージを受信したいチャネルを購読しています。これにより、特定のイベントによってトリガーされたメッセージをさまざまなデバイスに送信できます。たとえば、サーバーのコンテキストでは、HDDの失敗はハードウェアの問題を担当する人にとってのみ興味深いものですが、サーバーの失敗は、このサーバーで作業している人にとっても興味深いものです。
技術的な理由により、主題とメッセージのサイズは現時点では1400文字に制限されています。ただし、1400文字を超えるメッセージを送信すると、切り捨てられて送信されます。近い将来、これは変わり、サイズが大きくなります。
あなたはこのためにインターネット上で何らかのサービスを使用したくありませんが、あなた自身をすべてホストしますか?問題ありません。プッシュメッセージを送信するために必要な各コンポーネントはオープンソースです。
ライブラリ用のスタンドアロンコンソールアプリケーションは、こちらをご覧ください。
軽量プッシュはPython 2および3用に書かれています。暗号化には、 pycryptoパッケージが必要です。 Lightweight Pushライブラリを可能な限り簡単にインストールするには、次のコマンドを介してPIPでインストールできます。
pip install --user lightweightpush
その後、すべての前提条件がインストールされます。
Alertr.DEアカウントを作成してアクティブ化した後、ライブラリは非常に使いやすいです。次の小さなスクリプトでは、モバイルデバイスにプッシュ通知メッセージを送信します。
import lightweightpush
push_service = lightweightpush . LightweightPush ( "[email protected]" ,
"super_secret_password" ,
"shared_secret_to_encrypt_msg" )
push_service . send_msg ( "Subject of Message" ,
"Message text" ,
"MyChannel" )Androidデバイスでメッセージを受信するには、Alertr Androidアプリをインストールする必要があります。アプリの設定画面は次のようになります。
チャネル設定では、このデバイスで受け取るチャネルのコンマ分離リストを設定する必要があります。例の設定として、次のチャネルのみを設定します。
MyChannel
電子メールアドレス設定は、使用されているAlertr.deユーザー名です。
共有秘密設定は、受信したメッセージを復号化するために使用されます。軽量プッシュスクリプトで構成されているものと同じでなければなりません。
shared_secret_to_encrypt_msg
ライブラリで軽量のプッシュアンドライティングコードをセットアップする方法を示す完全なビデオをここに示します。
次の画像は、使用されているインフラストラクチャを示しています。
軽量のプッシュは、あなたの共有秘密であなたのメッセージを暗号化し、それをAlertr Push通知サービスに送ります。エンドツーエンドの暗号化により、Alertr Push通知サービスもGoogle FireBaseサービスもメッセージを読み取ることができません。メッセージは、選択したチャネルで送信されます。チャンネルは、所有している複数のデバイスで同じメッセージを受信したり、メッセージを受け取ったりすることができるために使用されます。異なるユーザーによる同じチャネルの複数の使用、したがって衝突を防ぐために、チャネルはAlertr.DEアカウントにリンクされています。ありそうもないイベントでは、攻撃者が使用済みのチャネルを推定できるようにすることができますが、使用済みの秘密を知っているデバイスのみがメッセージを復号化できます。これは、例としてインフラストラクチャの画像に示されています。攻撃者は、別のユーザーが使用するチャンネル「MyAlarm」を購読します。メッセージは、秘密の「mysecret」で暗号化されています。ただし、この秘密を使用しているデバイスのみがメッセージを解読できます。
このプロジェクトが気に入ったら、それに貢献することでそれをサポートするのに役立ちます。チュートリアルを作成したり、エキサイティングな新しいアイデアを使用して使用したり、コードを書いたりすることで貢献できます。
その方法がわからない場合、または時間がない場合は、パトレオンで私をサポートできます。プッシュ通知サービスなどのサービスには毎月の維持費があるため、寄付はこれらのサービスをすべての人に無料に保つのに役立ちます。
質問、バグ、ディスカッションについては、GitHubの問題を使用してください。