Sobre el proyecto
SMS Gateway for Android es una aplicación de Android que convierte un smartphone en una pasarela SMS, lo que permite que aplicaciones y servicios envíen y reciban mensajes SMS de forma programática a través de una API o una herramienta CLI. Se distribuye bajo la licencia Apache-2.0 y está construida con Kotlin, Ktor, Room y Firebase.
Capacidades principales
- Enviar y recibir SMS mediante API; no se requiere registro y el modo local no necesita ninguna cuenta.
- Compatible con Android 5.0 y versiones posteriores.
- Mensajes multipart con particionado automático, además de seguimiento del estado de los mensajes.
- Visor de mensajes entrantes para SMS, Data SMS y MMS con pestañas y estadísticas.
- Notificaciones en tiempo real de SMS y MMS entrantes mediante webhooks, incluida la lectura de mensajes recibidos previamente.
- Compatibilidad con MMS: notificaciones de descarga con cuerpo y archivos adjuntos, y envío de MMS con imágenes, audio, vídeo o archivos, con asunto y cuerpo de texto opcionales.
- Eventos de webhook por lotes cuando llegan varios mensajes a la vez.
- Cancelar mensajes pendientes, filtrar mensajes por estado y tipo, y aplicar limitación de la tasa de envío por periodo.
- Compatibilidad con Data SMS para cargas útiles binarias (comandos IoT, mensajes cifrados).
- Programación por horario laboral que pausa la cola fuera de las ventanas configuradas.
- Pantalla de diagnóstico de la cola de webhooks que muestra entregas pendientes y reintentos.
Seguridad y privacidad
- Cifrado de extremo a extremo del contenido de los mensajes y de los números de teléfono de los destinatarios antes de que lleguen a la API, descifrados en el dispositivo.
- Compatibilidad con servidor privado para que un backend pueda ejecutarse en tu propia infraestructura.
Funciones avanzadas
- Compatibilidad con varias tarjetas SIM y varios dispositivos: los dispositivos conectados a la misma cuenta con Cloud o Private server reciben mensajes distribuidos entre ellos.
Integración
- Webhooks para eventos como sms:received, sms:batch:received, sms:sent, sms:delivered, sms:failed, sms:cancelled, sms:data-received, mms:received, mms:downloaded, app:started y system:ping.
- Los webhooks se envían directamente desde el dispositivo, por lo que el dispositivo necesita una conexión a internet saliente.
Modos de funcionamiento
- Local Server: la aplicación ejecuta un servidor HTTP en el dispositivo, accesible en la red local, con credenciales de autenticación básica y documentación Swagger interactiva en /docs. Se proporcionan ejemplos de comandos curl y CLI para enviar mensajes de texto y MMS.
- Cloud Server: se conecta a api.sms-gate.app para dispositivos con direcciones IP dinámicas o compartidas; los mensajes recibidos se suben para acceso centralizado. En su lugar, se puede desplegar un servidor privado.
Instalación
- Hay APK precompilados disponibles en la página de GitHub Releases, en una compilación de versión segura y una compilación de desarrollo insegura (tráfico en texto claro permitido, no para entornos públicos).
- Permiso obligatorio: SEND_SMS. Permisos opcionales: READ_PHONE_STATE (selección de SIM), READ_SMS (lectura de mensajes anteriores), RECEIVE_SMS, RECEIVE_MMS y RECEIVE_WAP_PUSH (webhooks para SMS/MMS entrantes).
Los casos de uso previstos incluyen autenticación de dos factores basada en SMS, mensajes transaccionales, recordatorios, notificaciones y comentarios de usuarios. El README señala que no se recomienda el envío por lotes debido a posibles restricciones de los operadores móviles.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.