Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

373 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peers

You cannot be deplatformed if there is no platform.

Peers is a private, peer-to-peer messenger for Android. Your identity lives on your device — no phone number, no account, no central server, no Google. It keeps working when the network doesn't, by carrying the same conversation over whichever transport is alive: Logos delivery, MeshCore (LoRa radio), or Bluetooth mesh.

Status: alpha — real, on-device, and improving fast. Expect rough edges. Website: peers.tech

What it does

  • Three transports, one timeline. 1:1 and group chats travel over Logos when you have internet, mirror to a MeshCore LoRa channel when you don't, and fall back to Bluetooth mesh with no internet at all — colour-coded by transport (orange / green / blue). As long as one member has both mesh and internet, everyone stays reachable.
  • End-to-end encrypted with MLS (openmls). Send text, voice notes, images, camera photos, and location.
  • Encrypted at rest. Messages, keys, and your identity seed are sealed with the Android Keystore + SQLCipher. Optional PIN lock with auto-lock and a duress PIN that silently wipes the device and starts a fresh identity.
  • Your icon is your identity. Your home-screen icon is a pixel identicon derived from your address.

Install

Peers ships through a self-hosted F-Droid repository (no Play Store):

  1. Install F-Droid.
  2. Add the repo — Settings → Repositories → +:
    • URL: https://xalisher.github.io/fdroid/repo
    • Fingerprint: 9283C4E3DAB31E68675B643AE38222358541431AD07295B6DF4A4C6D2ACCCF32
    • (or open this link on the phone: add repo)
  3. Refresh, then install Peers.

APKs are also attached to each GitHub release.

Testing the alpha? See docs/TESTING.md for a walkthrough, what to try, and how to report issues.

Build from source

Requires Node 18+, JDK 17, and the Android SDK/NDK.

npm install
cd android && JAVA_HOME=/path/to/jdk-17 ./gradlew assembleRelease -x lint
# APK → android/app/build/outputs/apk/release/

The native messaging cores (liblogoschat.so, liblogosdelivery.so) are prebuilt and checked in under android/app/src/main/jniLibs/. MeshCore + Bluetooth mesh are pure Kotlin (no Rust/FFI). Rebuilding liblogoschat from source is documented in docs/PROJECT_KNOWLEDGE.md.

Run the pure-logic tests:

npx jest --config jest.logic.config.js

Docs

  • Privacy — the honest content-vs-metadata breakdown: what's protected, what isn't yet, and the threat model.
  • Architecture — FFI surface, native/JS split, persistence.
  • MeshCore config protocol — the companion BLE wire protocol, validated against firmware source.
  • Project knowledge — build recipes and hard-won invariants.
  • Testing guide — for alpha testers.

License

MIT.

About

Peers — a private, peer-to-peer messenger for Android over Logos, MeshCore (LoRa) and Bluetooth mesh. Encrypted end-to-end and at rest. You cannot be deplatformed if there is no platform.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages