![]()
📨 OpenSMS
An open-source solution to host a SMS API server locally.
🤔 Why would you choose our app? (Features)
👉 Turns your Android phone into a SMS API server.
👉 Open-source, No advertisements and privacy focused.
💰 Sponsor Me
You can buy me a coffee via this link or tap on below image. Thank you 🙏.
📽️ Demo
You can click on the below Image or this Youtube Link to see the demo. Please let me know in the comments, how do you feel about this App.
![]()
🧑💻 Quickstart Guide
📱 Download & Run the Android App
- You can check the Releases and downlaod the latest version of the android app on your phone.
- You may need to disable (temporarily)
Play Protectfrom yourPlay Storesettings. - Install the App & launch.
- Grant the permissions.
- Android might block
smspermission. Go toSettings>Apps>OpenSMS> Tap on three vertical-dots at top-right corner >Allow restricted access. - Then grant
SMSpermission from the settings window. - Relaunch the app.
- Click
Start Server. It will then prompt you to generate an API Key for the first time. Generate and store it securely.
🧪 Test API endpoint
Find the network address of your device and you may test out the API. Sample given below.
curl -i -X POST 'http://127.0.0.1:9292/sms/' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer my-secret-api-key' \ -d '{"number": "+1234567890", "text": "Hello from OpenSMS API!"}'
📚 Tech Stack Used
Python stack
It works on Android and will bring this to Linux & Windows too.
📋 Future plans
- Bring this SMS API option to Desktop platforms. We will leverage Quectel EC200U based USB development boards to send SMS.
🧩 Building your app from code
📱 Build Android App
A Linux environment is recommended for the app development. If you are on Windows, you may use WSL or any Virtual Machine.
# add the python repository (Optional: if you want some other versions) sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update # install all dependencies. sudo apt install -y ant autoconf automake ccache cmake g++ gcc lbzip2 libffi-dev libltdl-dev libtool libssl-dev make openjdk-17-jdk patch patchelf pkg-config unzip wget zip git python3 python3-venv python3-dev libcairo2-dev pkg-config libjpeg-dev zlib1g-dev # optionally you may check the java installation with below commands java -version javac -version # install python modules git clone https://github.com/daslearning-org/OpenSMS.git cd OpenSMS/app python3 -m venv .env # create python virtual environment source .env/bin/activate pip install -r req_android.txt # build the android apk buildozer android debug # this may take a good amount of time for the first time & will generate the apk in the bin directory
Linux Dependencies for build
sudo apt install libcairo2-dev pkg-config python3-dev sudo apt-get install libjpeg-dev zlib1g-dev