A lightweight virtual file system with CLI, daemon and Unix socket API
Built with Rust for cybertools, hacking fun, and real system extensibility
- Create and manage
.vfsvolume files - Load and save volumes on demand
- Add local files to the VFS
- Display file contents via
cat - List all files in the VFS
- Communicate between CLI and daemon via Unix socket (
/tmp/vfs.sock) - Works on Linux and macOS
vfs-easy/
├── src/
│ ├── main.rs # CLI interface (vfs)
│ ├── vfsd.rs # Daemon logic (vfsd)
│ ├── vfs.rs # Core virtual file system logic
│ ├── ipc.rs # Unix socket communication
│ ├── proto.rs # Command/request protocol structs
│ ├── cli.rs # CLI command parsing
├── .fs/ # (Optional) directory to store VFS files
├── Cargo.toml
└── README.md
# Build the CLI binary or makefile command
cargo build --bin vfs
build-vfs
# Build the daemon or makefile command
cargo build --bin vfsd
build-vfsd./target/debug/vfsdStarts listening on
/tmp/vfs.sockfor client requests
# Create a new VFS volume
vfs create .fs/mydata.vfs
# Load an existing volume
vfs load .fs/mydata.vfs
# Add a file into the VFS
vfs add ./test.txt
# Read a file's content from the VFS
vfs cat test.txt
# List all files in the VFS
vfs ls
# Save the current in-memory VFS to disk
vfs save .fs/mydata.vfs- Encrypted volumes
- TUI or WebSocket interface
- FUSE-mountable volumes
- Tag system, archive support, in-RAM phantom files
This project was built as an experiment in building minimal virtual file systems and powerful CLI experiences in Rust.