A simple cachefs written in node using the fuse-bindings Libray.
You specify a source directory and then all content in the cached directory will attempt to mirror and cache from the source.
Main goal is make mounting of cloud drives via rclone or acd_cli a little bit faster by being able to cache contents on local drives for faster access and scans.
This project is still in its infancy and pretty alpha. It is not recommended for production use. Currently only supports a tiny subset of fuse commands and has yet to go any thorough testing.
Early local benchmark's show it does what it's designed to do so that's always promising.
Requires fuse to be installed.
Brew:
brew install osxfuse
Manually: Download Fuse for OSX
sudo apt-get install libfuse-dev
sudo yum install fuse fuse-devel
npm i install fuse.cachefs -g
fuse.cachefs <source> <target>
Features that are currently be worked on and really required for production use:
- Ability to specify cache size.
- Expire and automatically delete blocks.
- Pre-Fetch blocks to cache during large read operations to improve streaming.
Thanks to the work by:
- Mathias Buus with fuse-bindings to really get this project going without which it wouldn't exist.
- John Kozak for his example for helping me get started.
ISC