Analysis updated 2026-05-18
Automatically forward SMS OTP codes from a phone to a backend server for automated testing or account setup flows.
Log a history of received OTP messages on the device for later review.
Configure and enable OTP forwarding to a custom backend URL without writing native Android code.
Handle backend failures gracefully with built in retry logic for OTP delivery.
| jidukrishna/otp_listener | asweigart/lottie-website-tester | affaan-m/behavioral_rl | |
|---|---|---|---|
| Stars | 27 | 27 | 26 |
| Language | HTML | HTML | HTML |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 2/5 | 1/5 | 4/5 |
| Audience | developer | general | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires Flutter installed plus an Android device, and Play Protect must be disabled to install the built APK.
OTP Listener is an Android app that watches incoming SMS text messages, pulls out one time password codes, the short numeric codes services send to verify your identity, and forwards them to a backend server that you choose. The README describes it as production ready, meaning it is meant for real use rather than just a demo. The app runs in the background and checks each incoming SMS to see if it looks like an OTP message. It looks for patterns such as your OTP is 123456 or verification code 123456, and it also requires the message to contain a keyword such as otp, code, verify, pin, or auth before treating it as a real code. Once it finds a match, it sends the extracted code, the sender number, the original message, and a timestamp to a backend URL you configure in the app, using a standard web request. If that request fails, the app retries automatically up to three times with a delay between attempts, and it treats client errors differently from server errors when deciding whether to retry. The interface has three tabs: a status screen, a log of past OTP messages that were caught, and a settings screen where you type in your backend URL and turn the listener on or off. All history and settings are saved locally on the phone using shared preferences, a simple local storage system. The app is built with Flutter, a toolkit for writing one app that runs on multiple platforms, though this project targets Android only, with some native Kotlin code handling the actual SMS listening. It needs SMS and internet permissions to work. The README notes that installing the app from outside the Play Store requires turning off Android's Play Protect security check first.
An Android app that reads incoming SMS one time password codes and automatically forwards them to your own backend server.
Mainly HTML. The stack also includes Flutter, Dart, Kotlin.
Provided as-is for production use with no stated restrictions in the README.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.