Sobre o projeto
O SMS Gateway for Android é um aplicativo Android que transforma um smartphone em um gateway de SMS, permitindo que aplicativos e serviços enviem e recebam mensagens SMS programaticamente por meio de uma API ou ferramenta CLI. É distribuído sob a licença Apache-2.0 e é construído com Kotlin, Ktor, Room e Firebase.
Recursos principais
- Envie e receba SMS via API; não é necessário registro, e o modo local não exige conta alguma.
- Compatível com Android 5.0 e versões posteriores.
- Mensagens multipartes com particionamento automático, além de rastreamento do status das mensagens.
- Visualizador de mensagens recebidas para SMS, Data SMS e MMS com abas e estatísticas.
- Notificações em tempo real de SMS e MMS recebidos por meio de webhooks, incluindo a leitura de mensagens recebidas anteriormente.
- Suporte a MMS: notificações de download com corpo e anexos, e envio de MMS com imagens, áudio, vídeo ou arquivos, com assunto e corpo de texto opcionais.
- Eventos de webhook em lote quando várias mensagens chegam ao mesmo tempo.
- Cancele mensagens pendentes, filtre mensagens por estado e tipo, e aplique limitação de taxa de envio por período.
- Suporte a Data SMS para cargas binárias (comandos de IoT, mensagens criptografadas).
- Agendamento por horário de funcionamento que pausa a fila fora das janelas configuradas.
- Tela de diagnóstico da fila de webhooks mostrando entregas pendentes e tentativas.
Segurança e privacidade
- Criptografia ponta a ponta do conteúdo das mensagens e dos números de telefone dos destinatários antes que cheguem à API, descriptografados no dispositivo.
- Suporte a servidor privado para que um backend possa ser executado na sua própria infraestrutura.
Recursos avançados
- Suporte a vários cartões SIM e a vários dispositivos: dispositivos conectados à mesma conta com Cloud ou Private server recebem mensagens distribuídas entre eles.
Integração
- 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 e system:ping.
- Os webhooks são enviados diretamente do dispositivo, portanto o dispositivo precisa de uma conexão de internet de saída.
Modos de operação
- Local Server: o aplicativo executa um servidor HTTP no dispositivo, acessível na rede local, com credenciais de autenticação básica e documentação Swagger interativa em /docs. Exemplos de comandos curl e CLI são fornecidos para enviar mensagens de texto e MMS.
- Cloud Server: conecta-se a api.sms-gate.app para dispositivos com endereços IP dinâmicos ou compartilhados; as mensagens recebidas são enviadas para acesso centralizado. Um servidor privado pode ser implantado em vez disso.
Instalação
- APKs pré-compilados estão disponíveis na página GitHub Releases, em uma build de lançamento segura e uma build de desenvolvimento insegura (tráfego em texto claro permitido, não para ambientes públicos).
- Permissão obrigatória: SEND_SMS. Permissões opcionais: READ_PHONE_STATE (seleção de SIM), READ_SMS (leitura de mensagens anteriores), RECEIVE_SMS, RECEIVE_MMS e RECEIVE_WAP_PUSH (webhooks para SMS/MMS recebidos).
Os casos de uso pretendidos incluem autenticação de dois fatores baseada em SMS, mensagens transacionais, lembretes, notificações e feedback do usuário. O README observa que o envio em lote não é recomendado devido a possíveis restrições das operadoras de telefonia móvel.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.