Lightweight Push est un service push simple et facile à utiliser. Il vous permet d'envoyer des messages push cryptés de bout en bout vers vos appareils mobiles Android sans héberger vos propres services ou créer votre propre application. La bibliothèque utilise le service de notification ALERTR PUSH qui est construit au sommet de Google Firebase. Vous n'avez qu'à installer l'application ALERTR ALERTR officielle à partir de Google Play pour recevoir les messages et créer un compte sur alertr.de. Après cela, vous pouvez utiliser directement la bibliothèque push légère.
Contrairement à certains autres fournisseurs de services push, Lightweight Push vous offre un vrai cryptage de bout en bout. Le message est crypté dans la poussée légère directement avant l'envoi et décrypté sur vos appareils Android. Ni le service de notification push ALERTR ni Google ne peuvent lire les messages. Certains autres fournisseurs utilisent le terme «chiffrement de bout en bout» uniquement comme marketing et ne l'ont pas. Par exemple, certains fournisseurs utilisent une API Web où le message est envoyé via une demande HTTPS au serveur du fournisseur. Pour indiquer la simplicité de leur service, ils affichent des commandes avec Curl et autres qui feront une telle demande et vous enverront une notification push. Cependant, le message dans les demandes affichés n'est pas crypté et le chiffrement est effectué par le serveur du fournisseur avant d'être envoyé à vos appareils. Ainsi, même s'ils utilisent HTTPS, le message peut toujours être lu par le fournisseur et donc ce n'est pas un cryptage de bout en bout.
Lightweight Push utilise des canaux pour envoyer vos messages à différents appareils Android. Les appareils Android souscrivent aux canaux dont ils souhaitent recevoir les messages. Cela vous permet d'envoyer des messages déclenchés par des événements spécifiques à différents appareils. Par exemple, dans un contexte de serveur, un disque dur échoué n'est intéressant que pour les personnes responsables des problèmes matériels, mais un serveur raté est également intéressant pour les personnes travaillant sur ce serveur.
Pour des raisons techniques, la taille du sujet et du message est actuellement limitée à 1400 caractères. Cependant, si vous envoyez un message supérieur à 1400 caractères, il sera tronqué et vous enverra. Dans un avenir proche, cela changera et une taille plus grande sera autorisée.
Vous ne voulez pas utiliser un service sur Internet pour cela, mais hébergez tout vous-même? Aucun problème, chaque composant nécessaire pour envoyer des messages push est open source.
Une application de console autonome pour la bibliothèque peut être trouvée ici.
Lightweight Push est écrit pour Python 2 et 3. Pour le chiffrement, il a besoin du package pycrypto . Pour rendre l'installation de la bibliothèque push légers aussi facile que possible, vous pouvez l'installer avec PIP via la commande suivante:
pip install --user lightweightpush
Ensuite, toutes les conditions préalables sont installées.
Après avoir créé et activé votre compte Alertr.de, la bibliothèque est très facile à utiliser. Le petit script suivant enverra un message de notification push à vos appareils mobiles:
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" )Pour recevoir les messages sur vos appareils Android, vous devez installer l'application ALERTR Android. L'écran Paramètres de l'application ressemble à ce qui suit:
Dans le paramètre de canal , une liste de canaux séparés par des virgules que vous souhaitez recevoir avec cet appareil doit être défini. Comme paramètre pour notre exemple de configuration, nous ne définissons que le canal suivant:
MyChannel
Le paramètre d'adresse e-mail est le nom d'utilisateur Alertr.de utilisé.
Le paramètre secret partagé est utilisé pour décrypter les messages reçus. Il doit être le même que celui configuré dans le script push léger.
shared_secret_to_encrypt_msg
Une vidéo complète qui montre comment configurer la poussée légère et l'écriture de code avec la bibliothèque est affichée ici:
L'image suivante montre l'infrastructure utilisée:
Lightweight Push cryptera votre message avec votre secret partagé et l'enverra au service de notification de push Alertr. Le chiffrement de bout en bout garantit que ni le service de notification push Alertr ni le service Google Firebase ne peuvent lire votre message. Le message sera envoyé sur un canal que vous choisissez. Le canal est utilisé pour recevoir le même message sur plusieurs appareils que vous possédez ou souhaitez recevoir le message. Afin d'éviter plusieurs utilisations du même canal par différents utilisateurs et donc des collisions, le canal est lié à votre compte Alertr.de. Dans le cas peu probable qu'un attaquant est en mesure de déduire votre canal utilisé, seuls les appareils qui savent que votre secret d'occasion est capable de décrypter le message. Ceci est montré dans l'image de l'infrastructure à titre d'exemple. Un attaquant souscrit pour le canal "myalarm" qui est utilisé par un autre utilisateur. Le message est chiffré par le secret "MySecret". Mais seul l'appareil utilisant ce secret est capable de décrypter le message.
Si vous aimez ce projet, vous pouvez aider à le soutenir en y contribuant. Vous pouvez contribuer en écrivant des tutoriels, en créant et en documentant de nouvelles idées passionnantes pour l'utiliser, en écrivant du code pour cela, etc.
Si vous ne savez pas comment faire tout cela ou si vous n'avez pas le temps, vous pouvez me soutenir sur Patreon. Étant donné que les services tels que le service de notification Push ont un entretien mensuel, le don aide à garder ces services gratuits pour tout le monde.
Pour les questions, les bogues et la discussion, veuillez utiliser les problèmes de github.