Purple Bubble Server is a Node.js implementation of a decentralized, secure messaging system designed to provide anonymity and security for its users.
- Decentralized mesh network of servers
- RSA 4096 encryption for message security
- Separate transmission (TX) and reception (RX) servers for enhanced anonymity
- Message retention for 7 days
- Automatic server and message synchronization
- Node.js (v14 or later recommended)
- Redis server
-
Clone the repository:
git clone [email protected]:thepurplebubble/server-node.git
To start the server in development mode, run the dev script:
pnpm run dev
## Usage
To start the server (Production mode):
Run the build script with your favorite package manager:
```bash
pnpm run build
Then start the server using node:
node dist/index.js
The server will start and listen on the port specified in your .env
file.
/fetch
(POST): Retrieve messages for a recipient/send
(POST): Send a new message/sync/servers
(POST): Synchronize known servers list/sync/hashes
(POST): Synchronize message hashes
For detailed API documentation, please refer to the API Documentation (TODO: Create this document).
We welcome contributions to the Purple Bubble Server project! Please read our Contributing Guidelines for details on our code of conduct and the process for submitting pull requests.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
For bug reports and feature requests, please use the GitHub Issues page.
For other inquiries, please reach out to [email protected].
Purple Bubble Server is part of the Purple Bubble project, aiming to provide secure and anonymous communication for all.