- Java 96.7%
- C 1.6%
- Kotlin 1.3%
- C++ 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .builds | ||
| .github | ||
| art | ||
| deps | ||
| docs | ||
| fastlane/metadata/android | ||
| gradle/wrapper | ||
| libs | ||
| monocleschatFree/debug | ||
| src | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .gitmodules | ||
| .woodpecker.yml | ||
| build.gradle | ||
| CHANGELOG.md | ||
| Gemfile | ||
| Gemfile.lock | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| monocles_chat.doap | ||
| proguard-rules.pro | ||
| README-de.md | ||
| README-fr.md | ||
| README-it.md | ||
| README-pl.md | ||
| README-tr.md | ||
| README.md | ||
| settings.gradle | ||
monocles chat
🇩🇪 Deutsch / 🇫🇷 Français / 🇮🇹 Italiano / 🇵🇱 Polski / 🇹🇷 Türkçe
monocles chat is a modern and secure XMPP client for Android. It is based on Conversations, includes features from blabber.im and Cheogram, and adds many changes and features of its own to improve usability and security.

Screens designed by Pigeonalley (https://pigeonalley.com)
Features
- End-to-end encryption with OMEMO, OpenPGP or OTR
- Experimental post-quantum end-to-end encryption (PQ OMEMO2)
- Encrypted connections only, TLS 1.3 required by default; outdated cipher suites are removed
- DNSSEC-verified server lookup and DANE certificate checks (can be enforced)
- Protection against login downgrade attacks: channel binding and SCRAM downgrade protection (XEP-0440 / XEP-0474); never falls back to PLAIN once SCRAM was used
- Encrypted local database with an optional startup password
- Send and receive images, videos, files, locations and voice messages
- Message styling (XEP-0393):
*bold*,_italic_,~strike~, monospace and code blocks - Audio and video calls
- Group chats and channels
- Synchronized message history across your devices
- Profile pictures, status messages and stories
- Address book integration (your address book is never shared with the server)
- Daily backup of the database to local storage
- Very low battery consumption
Download
Nightly and beta APKs are available on Codeberg under Releases.
Building from source
You need the Android SDK and NDK, and a Rust toolchain. The libsignal library is built from source from the deps/libsignal submodule instead of using prebuilt binaries.
git clone --recurse-submodules https://codeberg.org/monocles/monocles_chat.git
cd monocles_chat
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
./gradlew assembleMonocleschatFreeRelease
If you already cloned without submodules, run git submodule update --init --recursive first.
Community
Follow us on monocles social.
We run English and German speaking XMPP group chats:
- Support: support@conference.monocles.eu, for questions and help with problems
- Development: development@conference.monocles.de, if you want to take part in development
How can I help with translations?
You can improve or create translations on Codeberg Translate. Thank you very much.
Help! I've run into a problem!
The easiest way to get help is to join our support group chat (English and German).
If we can't fix your problem there, you can open an issue. Describe your problem, explain how to reproduce it and attach logs. See below for how to create log files.
How do I create debug logs? (adb)
GNU/Linux, macOS and other Unix-like systems:
-
First install the Android Debug Bridge (adb), if it isn't already installed.
Debian and derivatives like Ubuntu / Linux Mint
sudo apt-get update sudo apt-get install adbopenSUSE
sudo zypper ref sudo zypper install android-toolsmacOS (Homebrew)
brew install android-platform-toolsother systems
Install adb in the way that suits your system.
-
Open a terminal and go to a directory of your choice with
cd. -
Follow steps [6] to [10] of the Windows instructions.
-
Start writing the log to a file on your computer. We use
logcat.txt. monocles chat must be running. Enter:$ adb -d logcat -v time --pid=$(adb -d shell pidof -s de.monocles.chat) > logcat.txt -
Follow the remaining steps [12] and [13] of the Windows instructions.
Windows:
-
Download Google's SDK Platform Tools:
-
If they aren't included, you also need the USB driver for your version of Windows:
-
Extract the zip archive (for example to
C:\ADB\). -
Open the command line (CMD) from the Start menu: Start > Run: cmd
-
Go to the directory you extracted the zip to. We use
C:\ADB\:c: cd ADB -
On your smartphone, open the settings and look for
Developer options. If you don't see this option, unlock it first: go toSettings > About phone, findBuild number(or similar) and tap it 7 times in a row. A notification tells you that you are now a developer, andDeveloper optionsappears in your settings. -
In
Developer options, turn onUSB debugging(sometimes calledAndroid debugging). -
Connect your phone to your computer with a USB cable. Any missing drivers should now be installed. On Windows they should be downloaded automatically if you did step [2]. On most GNU/Linux systems you don't need to do anything else.
-
If everything worked, go back to the command line and check that your device is recognized. Enter
adb devices -l. You should see output similar to:> adb devices -l List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully * 042111560169500303f4 unauthorized -
If your device is shown as
unauthorized, accept the prompt on your phone that asks whether to allow USB debugging. If you runadb devicesagain, you should see:> adb devices List of devices attached 042111560169500303f4 device -
Start writing the log to a file on your computer. We use
logcat.txtinC:\ADB\. Enter the following (without the>):> adb -d logcat -v time | FINDSTR /I monocles > logcat.txt -
Now reproduce the problem.
-
Stop logging (
Ctrl+C). Look through your log file carefully and remove any personal or private information. Then send it with a detailed description of the problem and how to reproduce it, using the issue tracker.
License
monocles chat is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 only (AGPL-3.0-only), as published by the Free Software Foundation.
The app includes libsignal (Copyright © Signal Messenger, LLC), which is licensed under the GNU AGPLv3 only. The app as a whole is therefore is distributed under the terms of the AGPLv3, version 3 only. That includes the requirement to make the complete corresponding source code available to its users. Code taken from Conversations, blabber.im and Cheogram, and contributions made while this repository was licensed under the GPLv3, are licensed under the GNU GPLv3; section 13 of the GPLv3 allows it to be combined with AGPLv3 code.
monocles chat is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for details.
Copyright © 2020-2026 Arne-Brün Vogelsang and contributors

