Expand description
§Xorion IPFS — Decentralized Storage
IPFS-backed filesystem with client-side encryption:
- IPFS client — upload, download, pin files via the IPFS HTTP API
- AES-256-GCM encryption — client-side encrypt/decrypt with Argon2 key derivation
- Virtual filesystem — directory tree mapped to IPFS CIDs
- Pinning service — track and manage pinned content
- Local cache — LRU-style disk cache with configurable size limits
§Example
use xorion_ipfs::Encryption;
let enc = Encryption::from_password("secret", b"salt_at_least_8b").unwrap();
let ciphertext = enc.encrypt(b"hello world").unwrap();
let plaintext = enc.decrypt(&ciphertext).unwrap();
assert_eq!(plaintext, b"hello world");Re-exports§
pub use cache::FileCache;pub use encryption::Encryption;pub use ipfs::IpfsClient;pub use pinning::PinningService;pub use vfs::VirtualFs;
Modules§
- cache
- Local file cache with size-based eviction.
- encryption
- Client-side encryption using AES-256-GCM with Argon2 key derivation.
- ipfs
- IPFS HTTP API client.
- pinning
- Pin management for IPFS content.
- vfs
- Virtual filesystem backed by IPFS.