Quik Fork with Remotrix Matrix Bridge
Note
This project is a hard fork of the open-source Quik SMS messenger application. It has been modified to natively integrate Remotrix, a background service that bridges your SMS messages to a Matrix homeserver.
Why this fork?
The original Remotrix project was a standalone background bridge that required a separate, default SMS handler application. By deeply integrating Remotrix directly into Quik, we created a single, unified SMS application that offers a beautiful Material Design UI on the phone, while silently syncing all messages to your Matrix account (via Trixnity) in the background.
Key enhancements in this fork:
- Native Matrix Background Sync: SMS messages sent or received on the phone are instantly bridged to your Matrix account.
- Two-way Communication: Messages sent from Matrix are instantly forwarded as standard SMS messages from the phone.
- Coroutines Deadlock Fix: Upgraded Room database dependencies to resolve fatal
SQLiteConnectionPooldeadlocks during the cryptographic key generation phases. - Enhanced Visual Formatting: Matrix messages now use intuitive prefixes (🟢 for outgoing, 🔴 for incoming) to clearly distinguish participants without requiring AppService double puppeting.
- Gitea Actions CI/CD: Includes automated builds and automatic upstream fetching from the original Quik repository.
Management Room
When you log into the application with your Matrix bot account (@remotrix:yourserver.com) and specify a Manager ID (@you:yourserver.com), the bot creates a dedicated Management Room and invites you.
From there, you can issue commands:
!new <phone_number>- Opens a new Matrix room dedicated to chatting with that phone number.!close- Deletes a chat room.!ping- Checks bot latency.!reload- Restarts the background service.
Any non-command text sent in a dedicated phone number room will be sent as an SMS to that contact.
Starting over with Matrix
In Quik settings, open the Matrix login dialog and select Reset Matrix. Confirm the reset, remove the old rooms on your Matrix server, then sign in again. The reset removes local Matrix accounts, room mappings, encryption stores and bridge logs; SMS messages, Quik settings, the Manager ID and the backfill limit are preserved. New rooms use contact names from Android, and SMS history is copied again up to the configured limit.
Persistent release signing
Release APKs require the permanent signing key. Missing signing configuration fails the build; release builds never fall back to a generated debug key. Pull requests build and test Debug without release secrets and do not publish releases.
Gitea repository Settings → Actions → Secrets must contain:
ANDROID_KEYSTORE_BASE64: base64-encoded permanent PKCS12 keystore.ANDROID_KEYSTORE_PASSWORD: keystore password.ANDROID_KEY_ALIAS: signing key alias.ANDROID_KEY_PASSWORD: private key password.
The public certificate and its SHA-256 fingerprint are tracked in .gitea/release-signing.crt
and .gitea/release-signing.sha256. CI checks the restored key and the finished Release APK
against this fingerprint before publishing. The temporary CI key is removed even after failure.
Do not regenerate the signing key between builds; back up the key and passwords securely.
The initial local backup is .secrets/quik-release.p12 with credentials in
.secrets/release-signing.json. These private files are ignored by Git and must not be committed.
For a local Release build, set ANDROID_KEYSTORE_PATH, ANDROID_KEYSTORE_PASSWORD,
ANDROID_KEY_ALIAS and ANDROID_KEY_PASSWORD. Existing local .gradle/.gradlerc properties
and the legacy CI environment names are also supported. Debug APKs use a separate application ID
and are intended for development.
The former builds 50 and 51 used different disposable debug certificates. The new permanent key cannot update either installation in place; migrating once to the new certificate requires a reinstall. Subsequent Release updates keep the same signature.
Building and Releasing (Fork CI/CD)
The project uses Gitea Actions for CI/CD:
build.yml: Automatically builds the Debug and Release APKs (assembleDebug,assembleRelease) upon pushing tomasteror creating a tag. If a tag (e.g.,v1.0.0) is pushed, a Gitea Release is created automatically.sync.yml: Runs weekly to automatically fetch changes from the originalquikupstream repository and merge them into our fork.
To build manually:
./gradlew assembleDebug
The APK will be available in presentation/build/outputs/apk/debug/.
Original Quik Documentation Below:
QUIK
QUIK is an open source replacement to the stock messaging app on Android. It is a continuation of QKSMS.
Features
- Scheduled messages
- Message backup
- Speech-to-text and text-to-speech integrated within the app
- Message blocking and archiving
- Voice messages
- Attachments of any type of file
- Message sorting
- Message pinning
- Delayed sending
- Quick reply from notifications
- Swipe actions
- Emoji reaction handling
- and much, much more
Download
Grab QUIK from the official github releases page, or keep up with updates with the following:
Matrix Chat
You can chat with the community over at #quik-sms:matrix.org
Reporting bugs
A great bug report contains a description of the problem and steps to reproduce the problem. We need to know what we're looking for and where to look for it.
When reporting a bug, please make sure to provide the following information:
- Steps to reproduce the issue
- QUIK version
- Device / OS information
Contributing
Contributions are very welcome! Please see the contributing guidelines for details.
Translations
If you'd like to add translations to QUIK, please join the project on Weblate! Translations that are committed directly to source files will not be accepted. For more information see the translation guidelines.
Thank you
A special thank you to Jake (@klinker41) and Luke Klinker (@klinker24) for their work on android-smsmms, which has been an unspeakably large help in implementing MMS into QUIK.
A giant thank you to Moez moezbhatti for creating and maintaining QKSMS, of which QUIK would not exist without.
Contact
QUIK is developed and maintained by Marcos Jones.
Star History
License
QUIK is released under the The GNU General Public License v3.0 (GPLv3), which can be found in the LICENSE file in the root of this project.



