609 private links
... and good alternatives, where available. To the best of my knowledge, and no guarantees obviously. All the apps listed here are distributed with libre licences (except where otherwise stated), but some may rely on non-libre backends.
Productivity
- DAVx5 - the easiest way to synchronize your Nextcloud contacts/calendar/tasks with corresponding Android apps. GPLv3. Available on F-Droid.
- K-9 Mail, or these days it is perhaps just as well to use Thunderbird for Android.
- Nextcloud
- Nextcloud Notes
- Tasks.org - a great tasks app that synchronizes with your Nextcloud tasks.
Chat, messaging
- Signal messenger. The app is FOSS, but relies on a proprietary and centralized service.
- Nextcloud Talk
- Beeper
Feeds, social networking
- TinyTinyRSS. Official recommendation is to use Obtainium to install latest APK from the TTRSS for Android release page. For background see forum post.
- Tusky - Mastodon client that works well with multiple accounts across different instances.
Keyboard
- Unexpected Keyboard, F-Droid - keyboard with a smart swipe-inside-each-key UX that exposes a massive amount of special characters in a smart way.
- HeliBoard, F-Droid
- https://github.com/futo-org/android-keyboard
- Thumb-Key - cool keyboard meant for thumb typing and swiping inside each key.
Reading, listening, watching
- Wallabag
- Librera Reader, F-Droid.
- Tempo - music client for Subsonic-compatible servers.
- Jellyfin, F-Droid - mobile client for Jellyfin media server.
- NewPipe, F-Droid - I recommend you install it on F-Droid using their repo to get updates faster (but note that this means you trust their repo to push updates to your phone). "NewPipe represents the best of FOSS"
- VLC
Misc
- Audio Recorder, F-Droid. Easy to integrate with Nextcloud's "Auto Uploads" functionality, in my experience. But the default quality settings (bitrate, etc.) are quite low and I suggest raising them.
- Binary Eye, F-Droid - a competent QR code scanner.
- FreeOTP+, F-Droid - 2FA authenticator.
- Kvaesitso launcher - it looks great by default and can be customized in lots of useful ways.
- OpenKeychain - in combination with Password Store to sync
pass
to Android. - OsmAnd - OpenStreetmap for Android.
- Tailscale - app is FOSS, but the underlying service is proprietary, but can replaced with Headscale (but unfortunately I cannot recommend it - tried it once and never figured it out).
- Transdroid - Bittorrent client that lets your monitor and control your server.
- Transportr - public transport timetables. Works well in Stockholm.
- Signal app and protocol (end-to-end encrypted by default, but centralized server, no federation) - use it daily
- Matrix protocol (end-to-end encrypted, decentralized, federated, user gets to choose app to use) - finds it use, but can be slightly annoying when using multiple devices
- Delta Chat - please see notes below
- Simplex Chat - I haven't tested this
Matrix servers infinitely accumulate user data in the transport layer, namely encrypted messages and attachments as well as cleartext metadata about users and groups. A permanent metadata and room membership record may be ok, or even useful accountability-wise, for government officials but is not suitable for many people threatened by rising authoritarianism where “guilt by association” suffices for prosecution or worse. Operators of servers who can access all the social metadata about its users, and maybe even public messages, are becoming themselves a potential target for hacking or authoritarian repression.
Signal’s key architectural innovations were ephemeral message routing, usable E2EE with metadata-minimization where the transport server only stores messages temporarily and aims to know nothing about anything (except your phone number). Metadata-minimization is why Signal’s founder felt fine to entrust all “Signal Server” activities to Google, Amazon, Cloudflare, Microsoft, our very fine riders of the big tech apocalypse. A big step for cryptography in 2014 but a daring gamble, looking from 2025.
chatmail relays follow the Signal transport model and use SMTP and IMAP only for ephemeral message transport where the server keeps literally nothing except a (random) password and last login time. Turns out, if you hold those ancient protocols right, you can have a metadata-minimizing e-mail transport server with 0,001 EUR of costs per year per address.
https://lobste.rs/s/muk05v/reflections_on_matrix_criticism_over#c_1sijfo
Delta Chat
From the FAQ:
- Images, videos, files, voice messages etc. are handled as usual.
- For performance, images are optimized and sent at a smaller size by default, but you can send it as a “file” to preserve the original.
⚡️ Sign up to secure fast chatmail servers or use classic e-mail servers
- Chatmail relays Github repo - Chatmail relays are designed to be very cheap to run, and are automatically deployed and updated. Official list of relays.
- Besides the recommended usage of chatmail relays, you can use many classic email accounts in chatmail apps. List off email providers known to work with Chatmail.
- Chatmail core Github repo
List of clients is quite impressive, includes Android, iOS, a special "family-geared" Android client, a TUI client, and more.
Push notifications
Instant push notifications available for iOS and Android devices.
They seem to have put careful thought into how to handle notifications, especially on Android. By default, depends on Google FCM Push service or microG.
But you can change this to instead use a "background connection" or a "forced background connection".
Note that classic e-mail servers do not support Push Notifications for Delta Chat users.
Audio or video calls
Not really, at least not yet.
You can invite others to an audio/video chat, but it's essentially a Jitsi meeting (or whatever provider you choose). No ring tone on the other end, so you must have otherwise arranged the "call".
- https://delta.chat/en/help#how-can-i-use-audiovideo-calls-with-delta-chat
- https://support.delta.chat/t/i-made-a-video-call-app-with-15-second-ping
- https://github.com/WofWca/video-call-over-email
- https://github.com/WofWca/webxdc-video-call
webxdc apps
Watch out for insecure copy-cats
As far as I can tell these services, also named ChatMail, have nothing whatsoever to do with Delta Chat.
Delta Chat setup flow
I would like to test using the same profile on multiple devices.
So on device 1 (phone) I downloaded and installed the Delta Chat app from the F-Droid appstore. Opened the app and followed the instructions to create my profile. That was painless.
On my second device (tablet) I downloaded and installed the ArcaneChat app from F-Droid. Opened the app, clicked on "Add second device" on the welcome screen which starts the camera viewfinder. On my already registered device (phone), I opened the app, opened Settings, and clicked "Add Second Device". (Note! Don't make the mistake of clicking the QR code icon next to "Settings", because that will not work for adding secondary device, only for inviting others to a conversation).
ArcaneChat TUI client
I chose to create ~/.local/git/arcanechat
, set it up for python using direnv echo "layout python3 > .envrc"
, then installed the client using pip:
$ pip install -U arcanechat-tui[full]
This installs the arcanechat-tui
binary, an alias arcanechat
, as well as the deltachat-rpc-server
in .direnv/python-3.10/bin/
.
Next, how to configure the existing account?
- https://github.com/ArcaneChat/arcanechat-tui/issues/91 - Setup as second device
- https://github.com/ArcaneChat/arcanechat-tui/issues/96 - How to add account as second device?
Create a backup in ArcaneChat Android and transfer it to the computer.
$ arcanechat import <path-to-backup-tar>
Worked flawlessly with a single profile in the first device.
Let's say you have a tablet or reserve phone without a phone number (i.e., SIM-card) that you would nonetheless like to have Signal installed on. Turns out it's possible.
BUT NOTE THAT SIGNAL WILL DE-REGISTER YOUR ORIGINAL DEVICE ONCE YOU REGISTER THE NEW ONE!
There is still no way to have Signal on more than one device, and you can't link Signal on one device to another device. Too bad, would have been nice, especially with database encrypted at rest (which Molly allows).
- Connect your secondary device to the Internet
- Install Molly-FOSS or Molly or Signal on the secondary device, and initiate Signal's registration process (enter your phone number)
- You will get a code via sms on your primary Signal device
- Enter the code on the secondary device using the numeric keyboard (this worked just fine in my case)
- Enter your Signal PIN
- With that, Molly-FOSS/Molly/Signal should start and show you your groups
While we're at it, why not install Molly or even Molly-FOSS instead of the official Signal app? The benefit of using Molly-FOSS is that we can install it on a device not using Google (the drawback is that push notifications will consume a little more battery).
- What originally sent me exploring Signal app forks was this issue
- https://github.com/mollyim/mollyim-android
- https://molly.im/fdroid/
- https://reddit.com/r/CalyxOS/comments/ptll4t/molly/
- Another Signal fork