このプロジェクトについて
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では、モバイルオペレーターの制限の可能性があるため、一括送信は推奨されないと記載されています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.