輕巧的推動是一種簡單易於使用的推送服務。它使您可以在不託管自己的服務或構建自己的應用程序的情況下向端到端的加密推送消息發送到您的Android移動設備。該圖書館使用Alertr推送通知服務,該通知服務是在Google Firebase上構建的。您只需要從Google Play安裝官方的Alertr Android應用即可接收消息並在Alertr.de上創建一個帳戶。之後,您可以直接使用輕量級推送庫。
與其他一些推送服務提供商不同,輕巧的推動力為您提供了真正的端到端加密。在發送並在Android設備上解密之前,該消息直接在輕量級推動中加密。 Alertr推送通知服務和Google都無法閱讀消息。其他一些提供商僅將“端到端加密”一詞用作營銷,而沒有。例如,一些提供商使用Web API,其中通過HTTPS請求發送消息到提供商的服務器。為了陳述其服務的簡單性,他們以捲髮的形式顯示命令,這將使您的請求產生,並向您發送推送通知。但是,所示請求中的消息未加密,並且加密是由提供商的服務器發送到您的設備之前完成的。因此,即使他們使用HTTPS,該消息仍然可以由提供商讀取,因此它不是端到端加密。
輕量級推動使用通道將您的消息發送到不同的Android設備。 Android設備訂閱了他們想要從中接收消息的渠道。這使您可以將特定事件觸發的消息發送到不同的設備。例如,在服務器上下文中,失敗的HDD僅對負責硬件問題的人員來說很有趣,但是對於在此服務器上工作的人員來說,失敗的服務器也很有趣。
由於技術原因,目前的主題和消息大小限制為1400個字符。但是,如果您發送一條大於1400個字符的消息,它將被截斷並發送給您。在不久的將來,這種情況將會發生變化,並允許更大的尺寸。
您不想在Internet上使用某些服務,而是自己主持所有內容?沒問題,發送推送消息所需的每個組件都是開源。
可以在此處找到庫的獨立控制台應用程序。
輕量級推動是為Python 2和3編寫的。對於加密,它需要pycrypto包。為了使輕量級推送庫的安裝盡可能容易,您可以通過以下命令與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推送通知服務。端到端加密可確保Alertr推動通知服務和Google Firebase服務都無法閱讀您的消息。該消息將在您選擇的頻道上發送。該頻道用於能夠在擁有的多個設備上接收相同的消息,或者希望能夠接收消息。為了防止不同用戶對同一渠道的多種用途,因此該頻道鏈接到您的Alertr.DE帳戶。在不太可能的情況下,攻擊者能夠推斷出您的二手頻道,只有知道您使用過的秘密的設備才能解密該消息。這在基礎架構圖像中顯示為示例。攻擊者訂閱了另一個用戶使用的頻道“ myalarm”。該消息用秘密的“ mysecret”加密。但是,只有使用此秘密的設備才能解密消息。
如果您喜歡這個項目,則可以通過為其做出貢獻來幫助它。您可以通過編寫教程,創建和記錄令人興奮的新想法,為其編寫代碼等來做出貢獻。
如果您不知道該怎麼做或沒有時間,可以在Patreon上支持我。由於Push Notification Service之類的服務每月維護,因此捐贈有助於為所有人提供免費服務。
有關問題,錯誤和討論,請使用GitHub問題。