VaultMesh is a production-grade, decentralized file storage system built on LibP2P. It splits files into content-defined chunks, encrypts them with layered ciphers, applies Reed-Solomon erasure coding for redundancy, and distributes them across a global Kademlia DHT.
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ FILE INPUT │─────▶│ CDC CHUNKER │─────▶│ LAYERED ENCRYPT │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ DHT DISCOVERY │◀─────│ DISTRIBUTOR │◀─────│ REED-SOLOMON EC │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌───────────────────────────────────────────────────────────────────┐
│ LIBP2P MESH NETWORK │
└───────────────────────────────────────────────────────────────────┘
- Adaptive Chunking: Content-Defined Chunking (CDC) for efficient deduplication.
- Layered Encryption: AES-256-GCM + ChaCha20-Poly1305 + Shamir's.
- Self-Healing: Proactive repair of missing shards using predictive failure scoring.
- Privacy First: Onion-routed retrieval, blind DHT indexing, and Private Information Retrieval (PIR).
- Modern UIs: Sleek Terminal UI (Bubbletea) and Web Dashboard (React/Vite).
- Go 1.22+
- Node.js (for Web UI)
- Clone the repository
- Run
make depsto install Go dependencies - Run
make buildto compile thevaultmeshbinary
- Start the daemon:
./vaultmesh daemon start - Upload a file:
./vaultmesh upload myfile.dat - Access the Web UI:
http://localhost:3000
See TODO.md for the detailed 120-commit development plan.