Encrypted voice and video calls, live video and live audio between phones over a Bluetooth mesh. No internet needed.
Android 10 or newer · free · no account · How to install
- Call people nearby. Voice or video, end-to-end encrypted, phone to phone.
- Go live. Share your camera with everyone around you, or go audio only, like a local radio that keeps playing with the screen off.
- Reach further. Phones in between pass calls and streams along, so you can reach people out of your own Bluetooth range.
- Stay private. No internet, SIM card, account or server. Strangers see a random name; your contacts recognise you.
Built for blackouts, disasters, censorship, remote places and crowded events. Free and open source (GPL-3.0).
Your phone talks to nearby phones over Bluetooth, about 10 to 30 metres, never through the internet. A phone that receives a stream can pass it on, and the next phone can pass it on again: that chain is the mesh. Bluetooth is slow, so video is small and gets a little more delayed with each hop; audio-only streams reach further.
Source phone ))) Viewer phone ))) Viewer phone ))) ...
(camera) (also relays) (also relays)
- The ID your phone broadcasts is random and changes every 15 minutes, so a listener cannot follow you.
- Calls hide both phones' identities from anyone listening in. A stranger sees a throwaway identity until you answer.
- Your name, if you set one, is never broadcast. A stream title is public, so everyone nearby can read it.
Limits, plainly: a live stream shows its source to everyone who watches; on Android 13 and older a phone that connects to yours can read its Bluetooth name; anyone whose call you accept learns who you are; there has been no independent security audit. Details: docs/PRIVACY.md.
- On your phone, tap Download MeshLive.
- Open the file. If Android asks, allow your browser to install unknown apps, then tap Install.
- Open MeshLive and allow Nearby devices, Camera and Microphone.
Both people need MeshLive. To get updates automatically, add the project in Obtainium with the button above. With no internet, a friend can send you the app: in MeshLive, Settings, then Share this app. The app can also check for updates, but only if you say yes.
To check a download is genuine, see how to verify a release. Other install options, the file list, features and common questions are in the user guide.
MeshLive is in beta, tested on seven phones from Samsung, Xiaomi, ASUS and OPPO (Android 10 to 16) and with a first iPhone. Results vary by phone pair: see docs/DEVICES.md. Do not rely on it where your safety depends on it. An iPhone app is in development.
Please report your phone. The device report form takes two minutes; reports where everything worked help as much as failures.
You need JDK 21, the Android SDK with NDK 28.2.13676358 and CMake 3.22.1, Perl and Python 3.11 or newer.
python tools/fetch_native_sources.py # downloads the pinned libaom and libopus
./gradlew :app:testDebugUnitTest :app:assembleGithubDebugThe APK is app/build/outputs/apk/github/debug/app-github-debug.apk. Developers can read docs/ARCHITECTURE.md (how it is built, build notes), docs/SWITCHES.md (the list of experimental switches) and docs/PROTOCOL.md (wire formats and security rules). Test results are in MeshLive/meshlive-benchmarks.
| I want to... | Read |
|---|---|
| Install, update, verify, use the app, get answers | docs/USER_GUIDE.md |
| Know what is exposed and what is hidden | docs/PRIVACY.md |
| See which phones work | docs/DEVICES.md |
| Understand how it is built | docs/ARCHITECTURE.md |
| Look up an experimental or optional switch | docs/SWITCHES.md |
| Implement or review the wire format and security rules | docs/PROTOCOL.md |
| See what is unfinished | docs/PLAN.md |
| Test on phones, or read why a measured choice was made | docs/TESTING.md, docs/DECISIONS.md |
| Contribute, or follow the rules for coding agents | CONTRIBUTING.md, AGENTS.md |
Bug reports, device results, documentation and code are welcome. Start with CONTRIBUTING.md. Please follow the code of conduct.
Report vulnerabilities privately through GitHub private vulnerability reporting. See SECURITY.md.
Most of the code was written with AI assistance (Anthropic's Claude), directed by the maintainer, who decides what the app does and tests it on real phones. It has not had an independent security audit.
GPL-3.0-or-later. See LICENSE and THIRD_PARTY_NOTICES.md.





