Leon van Kammen 9442cde73e | ||
---|---|---|
.. | ||
.gitignore | ||
Config.in | ||
LICENSE | ||
Makefile | ||
README.md | ||
fusescript.c | ||
fusescript.mk | ||
fusescript.nix | ||
fusescript.svg |
README.md
Fusescript
scriptable filesystems via python,lua,awk,shellscript etc.
Hackable & prototypable FUSE3 script-bindings for your favorite programming language!
Usage
$ mkdir /mnt/helloworld
$ fusescript fs/helloworld /mnt/helloworld
$ ls /mnt/helloworld
file1
$ cat /mnt/helloworld/file1
Hello world
Profit! The helloworld
-script serves a 'virtual filesystem' on the fly ❤
To see how this works, see the fs/helloworld shellscript, or the python, nodejs, AWK script.
Compile
- nix:
nix-build fusescript.nix
- debian:
sudo apt-get install libfuse3-dev && make
- buildroot [embedded]: put this repository in the
packages
directory and select it in 'External' (last menuitem when runningmake menuconfig
)
Rationale
- App-development usually adds various layers of tree-structures
- the filesystem is already a tree-structure
Fusescript is an exploration into mapping things to a filesystem asap.
In such case, we'd want to prototype with 1% FUSE-functionality, without being forced into building/debugging C (on an embedded device).
"Files are awesome, everything depends on it"
Crazy ideas:
- navigate database via the filesystem
- navigate REST api via the filesystem
- navigate fileformat-internals via the filesystem
- you name it!