一种简单、端到端加密且易于使用的消息推送服务。

lightweightpush的Python项目详细描述


轻量级推送库

轻量级推送是一种简单易用的推送服务。它允许您向Android移动设备发送端到端加密推送消息,而无需托管自己的服务或构建自己的应用程序。该库使用alertr推送通知服务,该服务构建在google firebase之上。你只需要安装官方的Alertr Android应用程序,从Google Play接收消息并在Alertr.de创建帐户。之后,您可以直接使用轻量级推送库。

与其他推送服务提供商不同,轻量级推送为您提供真正的端到端加密。在你的android设备上发送和解密之前,消息在轻量级推送中直接加密。alertr推送通知服务和google都无法读取这些消息。其他一些提供商仅将"端到端加密"一词用作营销,而没有。例如,一些提供程序使用web api,其中消息通过https请求发送到提供程序的服务器。为了说明其服务的简单性,它们显示带有curl等的命令,这些命令将发出这样的请求并向您发送推送通知。但是,所示请求中的消息是未加密的,并且在将其发送到您的设备之前,由提供商的服务器完成加密。因此,即使他们使用https,消息仍然可以被提供商读取,因此它不是端到端加密。

轻量级推送使用通道将消息发送到不同的Android设备。android设备订阅他们想要从中接收消息的频道。这允许您将由特定事件触发的消息发送到不同的设备。例如,在服务器上下文中,失败的硬盘驱动器只对负责硬件问题的人感兴趣,而失败的服务器对在该服务器上工作的人也感兴趣。

由于技术原因,主题和消息大小目前限制为1400个字符。但是,如果您发送的消息超过1400个字符,它将被截断并发送给您。在不久的将来,这将改变,并允许更大的尺寸。

你不想用互联网上的一些服务来做这件事,但是你自己托管一切?没问题,发送推送消息所需的每个组件都是开源的。

在这里可以找到库的独立控制台应用程序

安装和使用

轻量级推送是为Python2和3编写的。对于加密,它需要pycrypto包。要使轻量级推送库的安装尽可能简单,可以通过以下命令使用pip安装它:

pip install --user lightweightpush

之后,将安装所有必备组件。

在您创建并激活alertr.de帐户后,该库非常易于使用。以下小脚本将向您的移动设备发送推送通知消息:

importlightweightpushpush_service=lightweightpush.LightweightPush("my_email@alertr.de","super_secret_password","shared_secret_to_encrypt_msg")push_service.send_msg("Subject of Message","Message text","MyChannel")

为了在您的android设备上接收消息,您必须安装警报Android应用程序。应用程序设置屏幕如下所示:

Android应用程序设置

频道设置中,必须设置要用此设备接收的频道的逗号分隔列表。作为示例配置的设置,我们只设置以下频道:

MyChannel

电子邮件地址设置是使用的alertr.de用户名。

my_email@alertr.de

共享密钥设置用于解密接收到的消息。它必须与轻量级推送脚本中配置的相同。

shared_secret_to_encrypt_msg

视频

此处显示了一个完整的视频,演示如何使用库设置轻量级推送和编写代码:

< div >

基础设施

下图显示了使用的基础结构:

警报基础设施推送

支架

如果你喜欢这个项目,你可以通过参与来帮助支持它。您可以通过编写教程、创建和记录使用它的令人兴奋的新想法、为它编写代码等方式作出贡献。

如果你不知道怎么做,或者没有时间,你可以在patreon上支持我。由于推送通知服务等服务每月都有一次维护,因此捐赠有助于为每个人免费提供这些服务。

帕特伦

错误和反馈

有关问题、bug和讨论,请使用github问题github问题

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么clean glass fish管理控制台不工作?   java 3DES_ECB解密   classpath如何解决由以下原因引起的错误:java。lang.ClassNotFoundException   Junit 3.8中Junit 4的@RunWith注释的java等价物   获取URL时发生java Jsoup HTTP错误。进行申请后处理时,状态=403   使用href link,使用Javaservlet和hibernate从数据库中删除一行   从Get请求调用WebSocket的java   播放框架JavaRESTAPI示例   java将RxJava 1.1.5改编为反应堆堆芯3.1.0。M3   java在每个测试用例之后运行任务   Android上的java Google翻译API问题   JAVA木卫一。FileNotFoundException:从安卓下载GAE blob文件时   Java HttpClient:无法读取post请求中的json数据