Об этом проекте
SMS Gateway for Android — это приложение для Android, превращающее смартфон в SMS-шлюз и позволяющее приложениям и сервисам программно отправлять и получать SMS-сообщения через API или CLI-инструмент. Распространяется под лицензией Apache-2.0 и построено на Kotlin, Ktor, Room и Firebase.
Основные возможности
- Отправка и получение SMS через API; регистрация не требуется, а в локальном режиме аккаунт вообще не нужен.
- Поддержка Android 5.0 и выше.
- Многочастные сообщения с автоматическим разбиением, а также отслеживание статуса сообщений.
- Просмотр входящих сообщений для SMS, Data SMS и MMS с вкладками и статистикой.
- Уведомления о входящих SMS и MMS в реальном времени через webhooks, включая чтение ранее полученных сообщений.
- Поддержка MMS: уведомления о загрузке с телом и вложениями, а также отправка MMS с изображениями, аудио, видео или файлами, с опциональной темой и текстовым телом.
- Пакетные события webhook, когда несколько сообщений приходят одновременно.
- Отмена ожидающих сообщений, фильтрация сообщений по состоянию и типу, а также ограничение скорости отправки за период.
- Поддержка Data SMS для бинарных полезных нагрузок (команды IoT, зашифрованные сообщения).
- Планирование по рабочим часам, которое приостанавливает очередь вне заданных окон.
- Экран диагностики очереди webhook с отображением ожидающих доставок и повторных попыток.
Безопасность и приватность
- Сквозное шифрование содержимого сообщений и номеров телефонов получателей до того, как они достигнут API, с расшифровкой на устройстве.
- Поддержка приватного сервера, чтобы бэкенд мог работать в вашей собственной инфраструктуре.
Расширенные возможности
- Поддержка нескольких SIM-карт и нескольких устройств: устройства, подключённые к одному аккаунту с Cloud или Private server, получают сообщения, распределяемые между ними.
Интеграция
- Webhooks для таких событий, как sms:received, sms:batch:received, sms:sent, sms:delivered, sms:failed, sms:cancelled, sms:data-received, mms:received, mms:downloaded, app:started и system:ping.
- Webhooks отправляются непосредственно с устройства, поэтому устройству требуется исходящее интернет-соединение.
Режимы работы
- Local Server: приложение запускает HTTP-сервер на устройстве, доступный в локальной сети, с учётными данными базовой аутентификации и интерактивной документацией Swagger по адресу /docs. Приведены примеры команд curl и CLI для отправки текстовых сообщений и MMS.
- Cloud Server: подключается к api.sms-gate.app для устройств с динамическими или общими IP-адресами; полученные сообщения загружаются для централизованного доступа. Вместо этого можно развернуть приватный сервер.
Установка
- Готовые APK доступны на странице GitHub Releases: в безопасной release-сборке и небезопасной development-сборке (разрешён незашифрованный трафик, не для публичных сред).
- Обязательное разрешение: SEND_SMS. Опциональные разрешения: READ_PHONE_STATE (выбор SIM), READ_SMS (чтение предыдущих сообщений), RECEIVE_SMS, RECEIVE_MMS и RECEIVE_WAP_PUSH (webhooks для входящих SMS/MMS).
Предполагаемые сценарии использования включают двухфакторную аутентификацию на основе SMS, транзакционные сообщения, напоминания, уведомления и обратную связь от пользователей. В README отмечается, что пакетная отправка не рекомендуется из-за возможных ограничений мобильных операторов.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.