MeshLive / meshlive-android
git clone https://github.com/MeshLive/meshlive-android.git
v0.3.0-beta · 3d ago
Encrypted voice and video calls, live audio and video streams between phones over a Bluetooth mesh. No internet needed.
—
stars, 24h
—
stars, 7 days
+93
stars, 30 days · #2,508
93
★ total
13
forks · 10 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageKotlin
LicenseGPL-3.0
Created2026-10-10 (10d ago)
Last push3d ago
Watchers1
OwnerOrganization
GitHub topics
androidandroid-appanti-censorshipbluetoothbluetooth-low-energycensorship-resistancedecentralizeddisaster-responseend-to-end-encryptioninternet-shutdownkotlinlive-streamingmesh-networkoff-gridoffline-firstopen-sourcep2pprivacyvideo-callingvoice-calls
Links
- GitHub: github.com/MeshLive/meshlive-android
- Homepage: https://github.com/MeshLive/meshlive-android/releases/latest
- Releases · Issues · Hacker News mentions
README excerpt
# MeshLive **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 ## What you can do - **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). ## How it works 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. [code] ## Privacy - 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. ## Install 1. On your phone, tap **Download MeshLive**. 2. Open the file. If Android asks, allow your browser to **install unknown apps**, then tap **Install**. 3. 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. ## Status 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. ## Build from source You need JDK 21, the Android SDK with NDK `28.2.13676358` and CMake `3.22.1`, Perl and Python 3.11 or newer. [code] The APK is `app/build/outputs/apk/github/de