📄 README.md

jabjab / README.md
3.7 kB Raw History
1# JabJab
2
3**Privacy-first XMPP messenger for Android.**
4No data harvesting. No ads. No accounts sold. Ever.
5
6JabJab is a hard fork of [Conversations](https://codeberg.org/iNPUTmice/Conversations) — the gold-standard open-source XMPP client — extended with stickers, stories, microblogging, dynamic reactions, themes, app lock, and a built-in updater.
7
8[**Download APK**](https://xmpp.tel/apk/latest.apk) · [**Source**](https://git.xmpp.tel/jabjab) · [**Website**](https://xmpp.tel)
9
10---
11
12## What's new in JabJab
13
14Everything in Conversations, plus:
15
16### 🎭 Stickers
17Custom sticker packs — send, receive, and create your own. Stickers are stored on your device and never sent to third parties. Uses WebP for small file sizes.
18
19### 📸 Stories
20Ephemeral photo and video stories that vanish after 3 days. Share moments without the algorithm pressure — no like counts, no engagement metrics. Compatible with Monocles and other pubsub-social-feed clients.
21
22### 📝 Microblog
23Publish long-form posts via XMPP PubSub (XEP-0277). Posts appear at [blog.xmpp.tel](https://blog.xmpp.tel) and are federated — readable by any XMPP client that supports PubSub. Offline drafts sync automatically when you reconnect.
24
25### 😄 Dynamic Reactions
26React to any message with any emoji. Reactions are tracked per-message, per-account, and sync across devices.
27
28### 🎨 Themes
29Seven built-in themes including light and dark variants. Adjustable bubble shapes and font size.
30
31### 🔐 App Lock
32PIN lock with biometric unlock support. Lock the app automatically on background.
33
34### 🔄 Built-in Updater
35Checks for new APKs in the background and installs in one tap — no app store required.
36
37### 🔀 Multi-Share
38Share a file or text to multiple contacts at once from inside the app or directly from your gallery. Files are uploaded once and forwarded — no duplicate uploads.
39
40### ⏩ Audio Speed
41Playback speed toggle for voice messages: 1× / 1.5× / 2×.
42
43### 🌐 Message Translation
44Built-in translation for incoming messages — read in your language, reply in theirs.
45
46---
47
48## Security
49
50- **OMEMO end-to-end encryption** (Signal protocol) — enable per conversation
51- **TLS** for all server connections — even without OMEMO
52- **DTLS** for audio/video calls
53- Hosted in Iceland · zero personal data at the server level · open source
54
55---
56
57## Build
58
59```bash
60JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 ./gradlew assembleConversationsFreeDebug
61```
62
63APK: `build/outputs/apk/conversationsFree/debug/`
64
65Optional build flags:
66
67```bash
68# With in-app update checker
69-PUPDATE_SERVER_URL=https://your-update-server/
70
71# Custom GIF API key
72-PTENOR_API_KEY=your_key
73```
74
75Requirements: JDK 21, Android SDK (minSdk 23, targetSdk 36).
76
77---
78
79## Migrating from Conversations
80
81Go to **Settings → Create Backup** in Conversations, then **Settings → Restore Backup** in JabJab. Your accounts, contacts, and full message history transfer instantly.
82
83---
84
85## Protocol support
86
87| XEP | Feature |
88|-----|---------|
89| XEP-0363 | HTTP File Upload |
90| XEP-0384 | OMEMO Encryption |
91| XEP-0277 | Microblog (PubSub) |
92| XEP-0482 | Pubsub Social Feed (Stories) |
93| XEP-0449 | Sticker Packs |
94| XEP-0313 | Message Archive Management |
95| XEP-0045 | Multi-User Chat |
96| XEP-0234 | Jingle File Transfer |
97| XEP-0167 | Jingle RTP (calls) |
98
99---
100
101## Links
102
103- Website: [xmpp.tel](https://xmpp.tel)
104- Blog: [blog.xmpp.tel](https://blog.xmpp.tel)
105- Source: [git.xmpp.tel/jabjab](https://git.xmpp.tel/jabjab)
106- Upstream Conversations: [codeberg.org/iNPUTmice/Conversations](https://codeberg.org/iNPUTmice/Conversations)
107
108---
109
110## License
111
112JabJab is free software licensed under the [GNU GPL v3](LICENSE).
113Upstream Conversations © Daniel Gultsch.

Built with passion for open-source software, XMPP, privacy, and security —
the belief that people deserve communication tools that serve them, not surveil them.

Dedicated to every brave man and woman who stands up against tyranny and oppression across the world.
And in memory of those who were silenced before they could speak freely.