Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thepurplebubble/server-node
https://github.com/thepurplebubble/server-node
protocol purple-bubble purplebubble server server-node
Last synced: 12 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/thepurplebubble/server-node
- Owner: thepurplebubble
- License: agpl-3.0
- Created: 2024-07-05T03:05:09.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-09-26T16:08:02.000Z (4 months ago)
- Last Synced: 2024-11-20T13:52:15.403Z (2 months ago)
- Topics: protocol, purple-bubble, purplebubble, server, server-node
- Language: TypeScript
- Size: 53.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Purple Bubble Server
[![AGPL License](https://img.shields.io/badge/license-AGPL-blue.svg)](http://www.gnu.org/licenses/agpl-3.0)
Purple Bubble Server is a Node.js implementation of a decentralized, secure messaging system designed to provide anonymity and security for its users.
## Features
- 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## Prerequisites
- Node.js (v14 or later recommended)
- Redis server## Installation
1. Clone the repository:
```bash
git clone [email protected]:thepurplebubble/server-node.git
```## Development
To start the server in development mode, run the dev script:
````bash
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:
```bash
node dist/index.js
```The server will start and listen on the port specified in your `.env` file.
## API Endpoints
- `/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 hashesFor detailed API documentation, please refer to the [API Documentation](docs/API.md) (TODO: Create this document).
## Contributing
We welcome contributions to the Purple Bubble Server project! Please read our [Contributing Guidelines](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
## Code of Conduct
This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
## License
This project is licensed under the AGPL-3.0 License - see the [LICENSE](LICENSE) file for details.
## Contact
For bug reports and feature requests, please use the [GitHub Issues](https://github.com/thepurplebubble/server-node/issues) page.
For other inquiries, please reach out to [[email protected]](mailto:[email protected]).
---
Purple Bubble Server is part of the Purple Bubble project, aiming to provide secure and anonymous communication for all.