jax-bucket

Crates.iojax-bucket
lib.rsjax-bucket
version0.1.6
created_at2025-10-11 18:33:17.073777+00
updated_at2025-11-18 17:38:05.580086+00
descriptionEnd-to-end encrypted storage buckets with peer-to-peer synchronization
homepagehttps://github.com/jax-ethdenver-2025/jax-bucket
repositoryhttps://github.com/jax-ethdenver-2025/jax-bucket
max_upload_size
id1878437
size3,977,261
Al Miller (amiller68)

documentation

README

JaxBucket

Crates.io Documentation CI License: MIT Rust Version

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

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

Commit count: 0

cargo fmt