Decentralized Storage Network - One storage node per Nostr key
SNAILS.storage creates a truly decentralized storage network where every user runs exactly one storage node per Nostr identity (nsec/npub). This creates organic network growth with perfect 1:1 scaling - every new user adds one storage provider to the network.
- Every file automatically stored on 3+ different nodes
- Real IPFS integration with content-addressed storage
- Automatic health monitoring and repair
- Consumer hardware optimized (~100GB storage, 4GB RAM)
- Each nsec/npub operates exactly one storage node
- Prevents Sybil attacks and ensures fair distribution
- Provider discovery via Nostr relay network
- 9 NIPs implemented (01, 05, 50, 65, 90, 94, 96, 98, 59)
- Public files: Standard IPFS storage with visible metadata
- Encrypted files: End-to-end encrypted with hidden metadata
- Private sharing: NIP-59 gift wrap for recipient-only access
- No local databases - pure event-based storage on Nostr relays
- Built with Tauri (Rust + React) for security and performance
- Cross-platform: Linux (.deb/.rpm), Windows (.msi), macOS (.dmg)
- Auto-startup and background operation
- One-click install with automatic IPFS integration
- Download installer for your platform from Releases
- Install the app - it handles all setup automatically
- Launch and create/import your Nostr keys
- You're now part of the decentralized storage network!
# Prerequisites: Node.js 18+, Rust 1.70+, IPFS installed
# Clone and install
git clone https://github.com/your-username/snails-storage
cd snails-storage/snails-storage-tauri
npm install
# Start IPFS daemon
ipfs daemon &
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:build
- N users = N storage providers (perfect 1:1 scaling)
- No central servers or coordination points
- Geographic distribution happens naturally
- Self-healing network topology
- Frontend: React + TypeScript + Vite
- Backend: Rust with Tauri framework
- Storage: IPFS for content, Nostr relays for metadata
- Identity: Nostr keypairs (secp256k1)
- Protocol: Full NIP compliance for interoperability
- 100GB free storage (user configurable)
- 4GB RAM (app uses ~50MB)
- Dual-core CPU minimum
- 5+ Mbps internet connection
- Runs on regular consumer laptops/desktops
- Free Tier: Basic storage by contributing to network
- Paid Features (post-MVP): Priority storage, extended retention
- Transparent pricing via Lightning micropayments
- Automatic earnings from unused disk space
- Reputation building on Nostr network
- Part of censorship-resistant infrastructure
- Memory-safe Rust backend prevents common vulnerabilities
- Content addressing via IPFS ensures data integrity
- Cryptographic proofs of storage and retrieval
- Decentralized design eliminates single points of failure
MIT License - see LICENSE
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open Pull Request
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Nostr: Follow project updates on Nostr relays
SNAILS.storage - Decentralized storage that just works™