Push Lightweight es un servicio de empuje simple y fácil de usar. Le permite enviar mensajes de empuje cifrados de extremo a extremo a sus dispositivos móviles Android sin alojar sus propios servicios o crear su propia aplicación. La biblioteca utiliza el servicio de notificación push ALERTR que se construye en la cima de Google Firebase. Solo tiene que instalar la aplicación oficial de Alertr Android de Google Play para recibir los mensajes y crear una cuenta en Alertr.de. Después de eso, puede usar directamente la biblioteca de empuje liviano.
A diferencia de otros proveedores de servicios de empuje, Lightweight Push le ofrece un cifrado real de extremo a extremo. El mensaje está encriptado en el empuje liviano directamente antes de enviar y descifrarse en sus dispositivos Android. Ni el servicio de notificación push de Alertr ni Google pueden leer los mensajes. Algunos otros proveedores usan el término "cifrado de extremo a extremo" solo como marketing y no lo tienen. Por ejemplo, algunos proveedores usan una API web donde el mensaje se envía a través de una solicitud HTTPS al servidor del proveedor. Para indicar la simplicidad de su servicio, muestran comandos con Curl y similares que hará tal solicitud y le enviarán una notificación push. Sin embargo, el mensaje en las solicitudes mostradas no está cifrado y el cifrado es realizado por el servidor del proveedor antes de que se envíe a sus dispositivos. Entonces, a pesar de que usan HTTPS, el proveedor aún puede leer el mensaje y, por lo tanto, no es un cifrado de extremo a extremo.
Lightweight Push usa canales para enviar sus mensajes a diferentes dispositivos Android. Los dispositivos Android se suscriben a los canales de los que desean recibir los mensajes. Esto le permite enviar mensajes activados por eventos específicos a diferentes dispositivos. Por ejemplo, en un contexto de servidor, un HDD fallido solo es interesante para las personas responsables de los problemas de hardware, pero un servidor fallido también es interesante para las personas que trabajan en este servidor.
Debido a razones técnicas, el tamaño del tema y el mensaje se limitan en este momento a 1400 caracteres. Sin embargo, si envía un mensaje que es mayor de 1400 caracteres, se truncará y se le enviará. En el futuro cercano esto cambiará y se permitirá un tamaño más grande.
¿No quieres usar algún servicio en Internet para esto pero alojar todo tú mismo? No hay problema, cada componente necesario para enviar mensajes Push es de código abierto.
Puede encontrar una aplicación de consola independiente para la biblioteca aquí.
El empuje liviano está escrito para Python 2 y 3. Para el cifrado, necesita el paquete pycrypto . Para que la instalación de la biblioteca de empuje liviana sea lo más fácil posible, puede instalarla con PIP a través del siguiente comando:
pip install --user lightweightpush
Posteriormente, se instalan todos los requisitos previos.
Después de crear y activar su cuenta Alertr.DE, la biblioteca es muy fácil de usar. El siguiente script pequeño enviará un mensaje de notificación push a sus dispositivos móviles:
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" )Para recibir los mensajes en sus dispositivos Android, debe instalar la aplicación Alertr Android. La pantalla de configuración de la aplicación se parece a la siguiente:
En la configuración del canal , se debe establecer una lista de canales separadas por comas que desea recibir con este dispositivo. Como configuración para nuestra configuración de ejemplo, solo establecemos el siguiente canal:
MyChannel
La configuración de la dirección de correo electrónico es el nombre de usuario Alertr.de usado.
La configuración secreta compartida se utiliza para descifrar los mensajes recibidos. Tiene que ser lo mismo que el configurado en el script de push liviano.
shared_secret_to_encrypt_msg
Aquí se muestra un video completo que muestra cómo configurar el código liviano de empuje y escribir con la biblioteca:
La siguiente imagen muestra la infraestructura usada:
Ligero Push encriptará su mensaje con su secreto compartido y lo enviará al servicio de notificación de push Alertr. El cifrado de extremo a extremo asegura que ni el servicio de notificación push de Alertr ni el servicio Google Firebase puedan leer su mensaje. El mensaje se enviará en un canal que elija. El canal se usa para poder recibir el mismo mensaje en múltiples dispositivos que posee o desea poder recibir el mensaje. Para evitar múltiples usos del mismo canal por parte de diferentes usuarios y, por lo tanto, colisiones, el canal está vinculado a su cuenta ALERTR.DE. En el improbable caso de que un atacante pueda deducir su canal usado, solo los dispositivos que saben que su secreto usado puede descifrar el mensaje. Esto se muestra en la imagen de infraestructura como ejemplo. Un atacante se suscribe para el canal "Myalarm" que es utilizado por otro usuario. El mensaje está encriptado con el secreto "MySecret". Pero solo el dispositivo que usa este secreto puede descifrar el mensaje.
Si le gusta este proyecto, puede ayudarlo a apoyarlo contribuyendo a él. Puede contribuir escribiendo tutoriales, creando y documentando nuevas ideas emocionantes para usarlo, escribiendo código para él, etc.
Si no sabe cómo hacer nada o no tiene tiempo, puede apoyarme en Patreon. Dado que los servicios como el servicio de notificación push tienen un mantenimiento mensual, la donación ayuda a mantener estos servicios gratuitos para todos.
Para preguntas, errores y discusión, utilice los problemas de GitHub.