このプロジェクトについて

SMS Gateway for Androidは、スマートフォンをSMSゲートウェイに変えるAndroidアプリケーションで、APIやCLIツールを通じてアプリケーションやサービスがプログラム的にSMSメッセージを送受信できるようにします。Apache-2.0ライセンスで配布され、Kotlin、Ktor、Room、Firebaseで構築されています。 中核機能 - APIを介したSMSの送受信。登録は不要で、ローカルモードではアカウントが一切不要です。 - Android 5.0以降をサポート。 - 自動分割によるマルチパートメッセージと、メッセージステータスの追跡。 - SMS、Data SMS、MMS用のタブと統計を備えた受信メッセージビューア。 - WebhookによるリアルタイムのSMS・MMS受信通知。以前に受信したメッセージの読み取りも含みます。 - MMSサポート:本文と添付ファイル付きのダウンロード通知、画像・音声・動画・ファイル付きMMSの送信(オプションで件名とテキスト本文)。 - 複数メッセージが同時に届いた場合のバッチWebhookイベント。 - 保留中のメッセージのキャンセル、状態とタイプによるメッセージのフィルタリング、期間ごとの送信レート制限の適用。 - バイナリペイロード(IoTコマンド、暗号化メッセージ)用のData SMSサポート。 - 設定された時間枠外でキューを一時停止する稼働時間スケジューリング。 - 保留中の配信と再試行を表示するWebhookキューの診断画面。 セキュリティとプライバシー - APIに到達する前にメッセージ内容と受信者の電話番号をエンドツーエンドで暗号化し、デバイス上で復号化します。 - プライベートサーバーサポートにより、バックエンドを自社インフラで実行できます。 高度な機能 - 複数SIMカードサポートと複数デバイスサポート:CloudまたはPrivateサーバーで同じアカウントに接続されたデバイスは、メッセージが分散して受信されます。 統合 - sms:received、sms:batch:received、sms:sent、sms:delivered、sms:failed、sms:cancelled、sms:data-received、mms:received、mms:downloaded、app:started、system:pingなどのイベント用Webhook。 - Webhookはデバイスから直接送信されるため、デバイスには発信インターネット接続が必要です。 動作モード - ローカルサーバー:アプリがデバイス上でHTTPサーバーを実行し、ローカルネットワークで到達可能。基本認証資格情報と、/docsでの対話型Swaggerドキュメントを備えています。テキストおよびMMSメッセージ送信用のcurlおよびCLIコマンド例が提供されています。 - クラウドサーバー:動的または共有IPアドレスを持つデバイス用にapi.sms-gate.appに接続。受信メッセージは集中アクセスのためにアップロードされます。代わりにプライベートサーバーをデプロイすることもできます。 インストール - ビルド済みAPKはGitHub Releasesページから入手可能。安全なリリースビルドと、安全でない開発ビルド(平文トラフィック許可、公開環境向けではない)があります。 - 必要な権限:SEND_SMS。オプションの権限:READ_PHONE_STATE(SIM選択)、READ_SMS(以前のメッセージの読み取り)、RECEIVE_SMS、RECEIVE_MMS、RECEIVE_WAP_PUSH(受信SMS/MMS用Webhook)。 想定されるユースケースには、SMSベースの2要素認証、トランザクションメッセージ、リマインダー、通知、ユーザーフィードバックが含まれます。READMEでは、モバイルオペレーターの制限の可能性があるため、一括送信は推奨されないと記載されています。