Skip to content

farhadzaidi/bubble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bubble

Bubble is a free and open-source messenger designed with security in mind.
All messages are end-to-end encrypted and disappear after 24 hours to ensure your privacy.

Create an account with just a username and password — no email, phone number, or personal info needed.


Usage

To run the app locally:

1. Set up MySQL and Redis with Docker

cd setup
sudo docker compose up -d

2. Start the Ledger Server

cd ledger
npm install
npm start

3. Start the Backend Server

cd backend
npm install
npm start

4. Start the Frontend App

cd frontend
npm install
npm run dev

5. Access the App

Open your browser and go to: http://localhost:5173


Note: The app is nearly production-ready with only minor tweaks needed in the code and environment, but deployment is not currently planned.


Security Considerations (For the Nerds)

End-to-End Encryption

Uses AEGIS-256 for symmetric encryption and Ed25519 for asymmetric key distribution.

Client-Side Authentication

Login is handled via a challenge-response protocol that ensures your password never leaves your device.

Key Integrity

All public keys are fetched from a separate, append-only ledger server to prevent man-in-the-middle public key injection.

Session Security

Sessions are designed to be XSS- and CSRF-resistant, with JWT tokens providing an additional layer of protection.


License

This project is licensed under the MIT License.

About

Bubble is a free and open-source messenger built with end-to-end encryption and a privacy-first design.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors