Android app for forwarding incoming SMS messages to a webhook or another phone number using sender and body matching rules.
Built for people who want a lightweight Android relay for OTPs, service alerts, backup phones, self-hosted flows, or simple automation.
Download the latest signed APK from the latest release.
- Route important SMS messages into your own systems without a cloud dependency.
- Filter aggressively with regex before anything gets forwarded.
- Rewrite message content before sending it onward.
- Keep a local forwarding history so rules are debuggable.
The app ships with three main workflows:
Rules: create sender and body matchers, rewrite content, and choose SMS or webhook targets.History: inspect matched messages and forwarding outcomes.Reliability: control the foreground service and Android background settings.
- Regex-based sender and body matching
- Optional text replacement before forwarding
- SMS and webhook targets
- Forward history and logs
- Built-in regex tester
- Foreground service controls for Android reliability
- Install the latest APK from Releases.
- Grant SMS, notification, and network permissions.
- Create a rule from the
Rulestab. - Test matching from the
Testertab. - Keep the foreground service enabled if you need consistent delivery.
- Forward bank or service alerts to a private webhook
- Mirror messages from a secondary SIM to a primary device
- Filter provider messages before relaying them
- Build simple SMS-triggered automations without a paid gateway
- Generate a keystore once:
keytool -genkeypair -v -keystore release.keystore -alias smsforwarder -keyalg RSA -keysize 2048 -validity 10000- Create local signing config:
cp keystore.properties.example keystore.properties- Build a signed APK:
./gradlew assembleReleaseThe release signing config is read from keystore.properties or these CI variables:
ANDROID_SIGNING_STORE_FILEANDROID_SIGNING_STORE_PASSWORDANDROID_SIGNING_KEY_ALIASANDROID_SIGNING_KEY_PASSWORD
RECEIVE_SMS: receive incoming messagesSEND_SMS: forward to another phone numberINTERNET: forward to webhooksRECEIVE_BOOT_COMPLETED: restore background service after rebootPOST_NOTIFICATIONS: show delivery and service status
- Do not commit real phone numbers, webhook URLs, or secret tokens.
- Forwarded SMS content may contain sensitive data.
- Use the signed release APK from the release page for installation.
MIT. See LICENSE.