You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
QuietDrop is a secure messaging application built in Rust, focusing on privacy and security. It provides end-to-end encryption using modern cryptographic libraries to ensure your messages remain confidential. Available as both a command-line tool and a cross-platform application for desktop and mobile devices.
End-to-End Encryption: Messages are encrypted on the sender's device and can only be decrypted by the intended recipient
Cross-Platform Application: Modern GUI application built with Tauri 2.0 for desktop and mobile
Command-Line Interface: Traditional CLI for server and client operations
Strong Authentication: Secure user authentication with Argon2id password hashing
Forward Secrecy: Protection of past communications even if keys are compromised
Group Chats: Secure communication with multiple participants (in development)
File Transfer: Encrypted file sharing between users (in development)
Quick Start
Desktop/Mobile Application
# Clone the repository
git clone https://github.com/chizy7/QuietDrop.git
cd QuietDrop
# Build the Tauri desktop applicationcd quietdrop-tauri
trunk build
cd src-tauri
cargo tauri build
# Run the application
cargo tauri dev
Command Line Interface
# Clone the repository
git clone https://github.com/chizy7/QuietDrop.git
cd QuietDrop
# Build the CLI
cargo build -p quietdrop-cli --release
# Run the server
./target/release/quietdrop-cli server
# In another terminal, run the client
./target/release/quietdrop-cli client
Repository Structure
Directory
Description
quietdrop-core/
Core library with shared encryption and messaging functionality
quietdrop-cli/
Command-line interface for server and client operations
quietdrop-tauri/
Cross-platform application built with Tauri 2.0 and Yew
quietdrop-tauri/src/
Yew-based frontend (compiled to WebAssembly)
quietdrop-tauri/src-tauri/
Tauri backend bridge to core library
docs/
Project documentation
tests/
Integration tests for core components
.github/
GitHub configuration and CI/CD workflows
Usage
QuietDrop provides both a desktop/mobile interface and a command-line interface:
Desktop/Mobile Application
The application offers an intuitive GUI for sending and receiving encrypted messages:
Launch the app: Run the QuietDrop application on your desktop or mobile device
Create or load keypair: Generate a new keypair or load an existing one
Connect to server: Enter the server address to connect
Send messages: Type your message and select a recipient
View conversations: See your message history in the conversation view
Command Line Interface
QuietDrop's CLI uses a client-server architecture with public key cryptography:
Security Policy: Security practices and vulnerability reporting
Wiki: Community-maintained guides, tutorials, and additional resources
Testing
QuietDrop includes comprehensive test suites for all components:
# Run all tests
cargo test --workspace
# Run specific component tests
cargo test -p quietdrop-core
# Run tests with output
cargo test -- --nocapture
# Run ignored tests that require special setup
cargo test -- --ignored
Contributing
QuietDrop is an active open-source project that welcomes contributions: