Introduction
Mount0 is a high-performance virtual filesystem for developers. It mounts remote and local resources as local filesystems using FUSE (macOS/Linux) and WinFsp (Windows).
Why Mount0?
- Unified access: Mount S3, FTP, SSH, WebDAV, Samba, local directories, and custom providers under a single mount point
- Testing & mocking: Create complex filesystem structures without touching a real disk
- Security: Transparent encryption at the filesystem level
- High availability: Failover and quorum strategies across multiple backends
- Performance: RAID striping, caching (write-through/write-back), zero-copy streaming
Key Features
- Cross-platform: macOS (macFUSE), Linux (libfuse3), Windows (WinFsp)
- Multiple backends: Local, in-memory, S3, FTP, SSH, WebDAV, Samba
- RAID: Striping (0), mirroring (1), parity (5), double-parity (6)
- Caching: Write-through and write-back strategies
- Encryption: Transparent AES-256-GCM
- High-availability: Failover and quorum strategies
- Extensible: Custom providers via a clean TypeScript interface
Getting Started
npm install @mount0/core @mount0/local
import { mount0 } from "@mount0/core";
import { LocalProvider } from "@mount0/local";
const fs = mount0();
fs.handle("/", new LocalProvider("/tmp/data"));
await fs.mount("/tmp/mount0");
The filesystem is now accessible at /tmp/mount0 with standard tools:
echo hello > /tmp/mount0/test.txt
cat /tmp/mount0/test.txt