Open-Source SMS Manager for TP-Link MR100
Hi everyone,
I recently built an open-source project for TP-Link TL-MR100 routers that provides a local web interface for managing SMS messages directly through the router.
🔗 GitHub: https://github.com/Incognito-Coder/TP-Link-MR100-SMS
What is it?
MR100 SMS Desk is a lightweight, completely local Node.js application that communicates with the router’s internal SMS interface.
Instead of relying on the router’s built-in web interface, the project provides a dedicated dashboard for managing SMS messages.
✨ Features
- 📥 Read Inbox messages
- 📤 View Sent messages
- 📝 Create and manage Drafts
- ✉️ Send SMS messages
- 🗑️ Delete SMS messages
- ✅ Mark messages as read
- 🌍 Support for both GSM-7 and Unicode SMS
- 📱 Multipart SMS support
- 🇮🇷 Proper Persian / RTL message rendering
- 🔐 Implements the router’s encrypted login and API communication
- 🔒 Credentials, cookies, encryption keys and SMS data are kept in memory only
- 🌐 Runs locally on 127.0.0.1 by default
- 🚫 No cloud service or third-party server is required
The project reverse-engineers and implements the encrypted communication used by the MR100’s /cgi_gdpr interface, including the RSA/AES-based authentication and request protocol.
🖥️ Standalone Builds
The project can also be compiled into standalone executables, so Node.js does not need to be installed on the target computer.
Currently supported builds include:
- Windows x64
- Linux x64
- Linux ARM64
- macOS ARM64
🔧 Requirements
For running from source:
- Node.js 22+
- A computer connected to the same LAN as the router
- A compatible TP-Link MR100 router
After starting the application, simply open:
http://127.0.0.1:3781
and enter your router’s local IP address, username and password.
⚠️ Compatibility
This first release targets the legacy MR100 firmware communication protocol using AES-128-CBC.
Some newer firmware versions use AES-GCM with a separate authentication tag and are not currently supported.
I created this project primarily because I wanted a simple way to access and manage the MR100’s SMS functionality from a computer without depending on the router’s original web interface.
I’d be very interested to hear from other MR100 owners about their hardware/firmware versions and whether the project works for them.
If you have a different MR100 firmware version, please share the hardware version and firmware version so compatibility can be investigated.
Feedback, testing results, bug reports and contributions are very welcome! 🙌
