Since I have seen pifs (https://github.com/philipl/pifs) I have always wanted to create a data-less filesystem, and so I have done one with the library of babel.
This filesystem is based on FUSE, and right now supports pretty much what you want for a filesystem. It is still early in it development stage, and right now, it makes web request for each sector (3200 characters in base 29) for every read and write. In fine I would like to implement the algorithm locally, it would save a lot of time, seeing how slow this filesystem is (about 3 ko/s read an 1.8 ko/s write).
As stated in multiple messages on this forum, this filesystem, even though it stocks only metadata, this metadata will take about twice the storage size of your regular file.