๐จ 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.
๐ฝ๏ธ 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
Minimum Android verion required:
9
.
- 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. -
FastAPI
for the API layer. -
KivyMD
and few
Kivy
components for the UI and building the app.
๐ 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
๐ฐ Sponsor Me
You can buy me a coffee via
this link
or tap on below image. Thank you ๐.