7 releases
| 0.1.6 | Nov 18, 2025 |
|---|---|
| 0.1.5 | Nov 17, 2025 |
| 0.1.2 | Oct 13, 2025 |
#3 in #storage-encryption
600KB
13K
SLoC
JaxBucket
End-to-End Encrypted Storage Buckets with Peer-to-Peer Synchronization
⚠️ SECURITY DISCLAIMER
This software has NOT been audited by security professionals and is NOT production-ready.
JaxBucket is an experimental project built for learning and demonstration purposes. The cryptographic implementation and protocol design have not undergone formal security review. Do not use this software to protect sensitive, confidential, or production data.
Use at your own risk. The authors assume no liability for data loss, security breaches, or other issues arising from the use of this software.
Overview
JaxBucket is a local-first, encrypted storage system built on Iroh. It provides content-addressed, encrypted file storage with automatic peer-to-peer synchronization between authorized devices.
Features
- 🔒 End-to-End Encryption: All files encrypted with ChaCha20-Poly1305 AEAD
- 🌐 P2P Sync: Automatic synchronization via Iroh's networking stack
- 📦 Content-Addressed: Files and directories stored as immutable, hash-linked DAGs
- 🔑 Cryptographic Key Sharing: ECDH + AES Key Wrap for secure multi-device access
- 🌳 Merkle DAG Structure: Efficient verification and deduplication
- 🎯 Local-First: Works offline, syncs when connected
- 📌 Selective Pinning: Control which content to keep locally
- 🌍 DHT Discovery: Find peers via distributed hash table
Quick Start
# Install JaxBucket
cargo install jax-bucket
# Initialize configuration
jax init
# Start the service
jax service
# Open web UI at http://localhost:8080
For detailed installation instructions and requirements, see INSTALL.md.
Documentation
- INSTALL.md - Installation instructions and system requirements
- USAGE.md - How to use JaxBucket (CLI, Web UI, API)
- PROTOCOL.md - Technical protocol specification and data model
- DEVELOPMENT.md - Development setup and environment
- CONTRIBUTING.md - Contribution guidelines
- RELEASE.md - Release process
Use Cases
- Personal Cloud: Sync files between your devices without trusting a cloud provider
- Collaborative Workspaces: Share encrypted folders with team members
- Backup & Archive: Distributed, encrypted backups across multiple machines
- Research: Experiment with content-addressed, encrypted storage systems
Project Structure
jax-bucket/
├── crates/
│ ├── common/ # Core data structures and crypto
│ ├── service/ # HTTP server and sync manager
│ └── app/ # CLI binary
├── README.md # This file
├── INSTALL.md # Installation guide
├── USAGE.md # Usage guide
├── PROTOCOL.md # Protocol specification
├── DEVELOPMENT.md # Development guide
└── CONTRIBUTING.md # Contribution guidelines
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
MIT License - see LICENSE for details
Acknowledgments
Built with:
- Iroh - P2P networking and content storage
- Rust - Systems programming language
- DAG-CBOR - Merkle DAG serialization
Contact
Dependencies
~99–140MB
~2.5M SLoC