Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,558 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bounce is a distributed group chat application that protects metadata, with a familiar look and feel.

Design Overview

Each instance of Bounce includes a Tor hidden service, and all connections between devices occur over Tor. Users can own multiple devices, including encrypted devices that do not have access to the message contents. Users add contacts by scanning a code on the other person's device, or by meeting them in a group, there is no global namespace of all users. Messages are scoped to their user or group, and gossiped between devices that are in scope and online. Devices coming online have an efficient way to catch up. Group states (name, admin status, etc) can survive a bad actor attempting to mess with history, so long as the majority of users are honest. For more details, see the goals and design document.

Status

Things should be working pretty reliably, please open an issue if a feature in the UI is not behaving as expected. Bounce has not been audited by a third party yet, and should be considered experimental.

There may still be breaking changes between updates, as the existing protocol has not been finalized. For now, it's best to assume all clients must be on the latest release to communicate.

Platform Status Notes
Linux Fully supported
macOS Fully supported
Windows Fully supported
Android Fully supported
iOS iOS does not allow apps to run in the background. Implementing Bounce on iOS will require a light client that receives notifications from another instance of Bounce via APNs, and reaches out to that instance to send messages. This has not been planned yet, and would change the privacy model around metadata protection.

For information on what's coming, see the next steps document.

Installation

Binary Releases

  • Visit the Releases page to download the latest binaries.
  • Arch users can install bounce or bounce-bin from the AUR.
  • The best way to install Bounce on Android is with Obtanium.

Building from source

Bounce uses submodules, and should be cloned with:

git clone --recurse-submodules git@github.com:bounce-chat/bounce.git

Then, cd go-arti && make lib to generate a compiled arti library for your platform. This will require the rust compiler. If you plan to cross-compile windows, also run make lib GOOS=windows, and if you plan to build android also run make android in go-arti.

Desktop

Development builds of the desktop app can be built on linux and macOS with go build. Windows is cross-compiled on linux using mingw32 by running make windows.

Android

Android is built on linux and requires gomobile and gradle. Current build scripts have opinions about the location of the Android SDK that might not be appropriate for all environments.

Run make android to create Bounce.apk, a debuggable development build.

License

Copyright 2026 Hayden Parker. Bounce is licensed under the MIT license unless otherwise specified. Design assets are licensed under CC BY-NC-ND.

About

A metadata-protecting distributed group chat application

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages