No server in between
Messages travel from device to device. There is no account and no cloud holding your chats. Even a mesh node only relays encrypted tunnels and never stores messages.
MeshUp connects phones directly – over Wi-Fi, Bluetooth or, when needed, through a mesh node on the internet. End-to-end encrypted, with no account, no phone number and no Google services.
No company in the middle that reads along, collects phone numbers or can pull the plug. MeshUp runs on the devices of the people who use it.
Messages travel from device to device. There is no account and no cloud holding your chats. Even a mesh node only relays encrypted tunnels and never stores messages.
Nearby devices find each other over Wi-Fi and Bluetooth LE. Other MeshUp devices carry encrypted messages along and pass them on until they arrive.
Every connection uses the Noise protocol. Devices that pass messages on only ever see a sealed envelope. Safety numbers and QR codes show that you’re talking to the right person.
MeshUp doesn’t need Google Play services. Location comes straight from Android, maps from OpenStreetMap, and push – if you want it – via UnifiedPush such as ntfy. Firebase is only an optional alternative.
The app, the desktop client and the mesh node are all published as source code. Anyone can read how MeshUp works, build it themselves or run their own mesh node – free for any non-commercial use (PolyForm Noncommercial).
MeshUp feels familiar – chats, groups, status and calls. Except that everything happens directly between your devices.
Replies, reactions, editing and delete for everyone, voice messages with a real waveform, photos and albums, link previews, scheduled and disappearing messages, view once.
Groups with admins, invite links, QR codes and moderation. Join anonymously with a pseudonym used for that one group only. Plus broadcast lists for up to 256 contacts.
Photos, videos and text for 24 hours, with an editor for drawing and captions, likes and views. You decide who gets to see your status.
Voice and video calls straight over the encrypted connection, group calls with up to 8 people (video: 4) and screen sharing. Every device mixes the audio itself – no server in between.
Single or multiple choice, reorderable options and an end date. When a poll closes, the creator’s device sends out the final tally – binding for everyone.
Share your location or live location for 15 minutes, 1 or 8 hours, and ask others for theirs. The live map shows everyone currently sharing with you – on OpenStreetMap.
Once you switch it on: hold for three seconds and your location goes to your emergency contacts – and, only if you explicitly agree, to every MeshUp device nearby. Not a replacement for calling emergency services.
Push-to-talk, if you turn it on: hold the button and speak – everyone reachable in the chat hears you instantly, even without internet. Afterwards the message also arrives as a voice note.
Documents and videos up to 2 GB, sent device to device in encrypted chunks. Every device that has chunks helps out, and videos start playing while they’re still loading.
MeshUp Desktop for Linux and Windows: pair it with your phone once via QR code, then chat, call and send files. Your chats stay on the phone.
In the background MeshUp sleeps and is woken via UnifiedPush, for example with ntfy – the wake-up carries neither content nor sender. Firebase Cloud Messaging is optional; without push, a service keeps the connection alive.
When Wi-Fi and Bluetooth aren’t enough, a mesh node connects contacts over the internet. It only relays tunnels and sees no content – and you can run your own.
Since no server keeps anything for you, MeshUp backs up your account, chats and media into an encrypted file – manually or automatically to a folder of your choice.
By QR code, NFC or invite link. If you like, link your phone number or email address so friends can find you – the mesh node only ever gets hashes.
One account on several phones and tablets – messages, read status and calls on every device. Still being tested and only available from the developer section.
And there’s more:
The desktop client for Linux and Windows pairs with your phone via QR code. From then on, the phone connects to the computer on the same network, encrypted with Noise.
A few screens from the app – swipe or scroll for more.
MeshUp automatically takes whichever route is available. On every one of them, the message stays end-to-end encrypted.
On the same Wi-Fi network or within Bluetooth range, two devices connect directly. No internet, no mobile data and no server required.
If your contact is out of range, other MeshUp devices take the sealed envelope with them and hand it on until it arrives – for up to 14 days. Nobody can read it along the way.
If you’re both online but far apart, a mesh node sets up a tunnel. Inside runs the same end-to-end connection as on Wi-Fi – the node sees no content and stores no messages.
What about the battery? In the background MeshUp sleeps. Anyone writing to a sleeping contact sends a wake-up call to their push address – with no content and no sender. The device connects briefly and fetches everything directly. Without push, a foreground service keeps the connection open.
Noise_XX_25519_ChaChaPoly_SHA256, both sides authenticatedMeshUp is built so that as little as possible is known about you – and so that you control the little that is.
Your identity is a key pair on your phone. You only link a phone number or email if you want to be found – the mesh node gets nothing but hashes, and your address book never leaves the device.
There’s no cloud with your history. Devices passing messages on keep only sealed envelopes and delete them as soon as they have arrived or expired.
The sender fetches a page’s title and image and sends them along. Recipients never load the page themselves.
Compressed photos only carry harmless camera data – never where they were taken, never serial numbers.
Online status, read receipts, typing indicator, who sees your profile photo and info, link previews and map tiles: all adjustable. Plus an app lock with fingerprint or PIN.
MeshUp contains no ads and no analytics libraries. Update checks go to a fixed address without sending any identifiers.
MeshUp is under active development. Nightly builds are created automatically after every change – once the tests have passed.
Android 10 or later. A signed APK that afterwards updates itself from within the app.
AppImage for x86_64: make it executable (chmod +x) and run it. Updates itself.
An installer that updates itself. It isn’t code-signed, so SmartScreen asks the first time: “More info” → “Run anyway”.
Installer (.exe)The web version of MeshUp Desktop – no installation, right in your browser. Your phone connects through the mesh node, end-to-end encrypted, even on the go. Needs the current MeshUp nightly on your phone.
Open in browserThe desktop client needs an Android phone running MeshUp. To pair, open Menu ⋮ → Linked devices → Link a device on the phone. Phone and computer have to reach each other on the same network, for example Wi-Fi or a VPN – the web version connects through the mesh node instead.
There is no central service where you have an account and through which your chats flow. Messages go directly from device to device or are passed along by other MeshUp devices.
There are two helpers, both optional: a mesh node connects devices over the internet when they can’t find each other directly – it only relays encrypted tunnels. And a push service wakes sleeping devices with an empty message. Both can be switched off.
Yes, as long as the devices can reach each other: on the same Wi-Fi network – even one without internet access – or within Bluetooth range. If your contact is further away, other MeshUp devices can carry the message and pass it on.
Text, photos and voice messages travel in passed-along envelopes. Calls, the walkie-talkie and large files need a connection between both devices, either direct or via a mesh node.
No. On first launch MeshUp creates a key pair on your phone – that is your identity. You add contacts by QR code, NFC or invite link.
If you want, you can link a phone number or email address so friends can find you from their address book. The mesh node only receives Argon2id hashes.
All connections use the Noise protocol with X25519, ChaCha20-Poly1305 and SHA-256; the implementation is checked against official test vectors. Every message travels in its own envelope with a fresh key that only the recipient can open.
MeshUp does not use a Double Ratchet that keeps renewing keys. If your private key is stolen, recorded messages sent to it can be read. Verify new contacts by their safety number or in person with a QR code.
Yes. MeshUp doesn’t need Google Play services: location comes straight from Android, maps from OpenStreetMap, wake-ups via UnifiedPush – for example with the ntfy app.
Firebase Cloud Messaging is merely an optional alternative for devices with Google Play services or microG. Without any push at all, MeshUp keeps the connection open with a foreground service.
A mesh node is a small relay on the internet. It brings together devices that can’t reach each other over Wi-Fi or Bluetooth and passes the encrypted data stream through. It doesn’t store messages.
You don’t have to run one: the app comes set up with mesh-node1.3xd.eu. If you like, start your own (Node.js, no dependencies) and add it in the app – or use fixed addresses over a VPN, Tailscale or WireGuard.
No. MeshUp is available for Android 10 and later, and as a desktop client for Linux and Windows. There’s no ready-made macOS package, but the desktop client can be built from source on a Mac.
The Android app checks for a newer nightly at most every six hours, downloads it when you tap, verifies checksum and signature and then lets Android install it. Your chats and settings are kept. The desktop versions update themselves.
Since no server keeps your data, backups matter: MeshUp saves keys, contacts, chats and media into an encrypted file, manually or automatically every day or week. With it, you can restore everything on a new phone. Without the backup password the file can’t be opened – there is no back door.
Nothing – for any non-commercial use. The download is free, and MeshUp contains no ads and no analytics trackers. If you’d like to use MeshUp commercially, please get in touch first using the details in the legal notice.
MeshUp is source-available: the complete source code of the app, the desktop client and the mesh node is public, and anyone can read, review, modify and build it. It is licensed under the PolyForm Noncommercial License 1.0.0. Because that licence excludes commercial use, it is not an open-source licence as defined by the Open Source Initiative.
Any non-commercial use is allowed: personal use, research and teaching, and explicitly use by charitable organisations, schools and other educational institutions, and government bodies. Commercial use is available on request.