Awesome FUSE Filesystem
This is a list of resources related to [FUSE] (https://en.wikipedia.org/wiki/Filesystem_in_Userspace), Filesystem in Userspace. (This is different from https://github.com/vinkla/awesome-fuse). This is a Golang heavy list, please help me add other languages to it by opening a PR today!
Table of Contents
Libraries
- osxfuse - For OSX. Language: C.
- libfuse - Reference implementation for Linux FUSE. Language: C.
- Dokan - For Windows; has a FUSE wrapper.
- jacobsa/fuse - A Go package for implementing a FUSE file system. Language: Golang.
- bazil/fuse - FUSE library for Go. Language: Golang.
- go-fuse - FUSE bindings for Go. Language: Golang.
- ruse-fuse - Rust library for filesystems in userspace (FUSE). Language: Rust.
- rfusefs - Ruby FUSE filesystem - write filesystems in Ruby (FuseFS API over rfuse). Language: Ruby.
- fuse4js - FUSE bindings for Javascript and node.js (possibly outdated). Language: Javascript.
- fuse-google-drive - A fuse http://loggedfs.sourceforge.net filesystem wrapper for Google Drive.
Built On
- gcsfuse - A user-space file system for interacting with Google Cloud Storage. Language: Golang.
- sshfs - File system based on the SSH File Transfer Protocol; same authors as osxfuse. Language: C.
- sshfs - A network filesystem client to connect to SSH servers; same authors as libfuse. Language: C.
- go-ipfs - IPFS implementation in go. Language: Golang.
- mirrorfs - Go filesystem project using bazil/fuse. Language: Golang.
- gocryptfs - Encrypted overlay filesystem written in Go. Language: Golang.
- tahoe-lafs - The Tahoe-LAFS decentralized secure filesystem. Language: Python.
- btfs - A bittorrent filesystem based on FUSE. Language: C++.
- google-drive-ocamlfuse - FUSE filesystem over Google Drive. Language: OCaml.
- mp3fs - FUSE-based transcoding filesystem from FLAC to MP3. Language: C++.
- encfs - An Encrypted Filesystem for FUSE. Language: C++.
- GDriveFS - An innovative FUSE wrapper for Google Drive; Language: Python.
- pachyderm - Containerized Data Analytics. Language: Golang.
- camlistore - Personal storage system for life: a way of storing, syncing, sharing, modelling and backing up content. Language: Golang.
- svfs - The Swift Virtual File System. Language: Golang.
- restic - restic backup program. Language: Golang.
- unionfs-fuse - union filesystem using fuse. Language: C.
- GlusterFS - Storage for your Cloud. Language: C.
- LoggedFS - Filesystem monitoring with Fuse. Language: C++.
- go-mtpfs - Mount MTP devices over FUSE. Language: Go.
- Οfs - Filesystem that stores your data in Ο. Language: C.
- s3fs - FUSE-based file system backed by Amazon S3. Language: C++.
Posts
- Writing a FUSE filesystem in Python
- Writing a file system in Go
- Write a filesystem with FUSE
- Develop your own filesystem with FUSE
- FUSE filesystems, part 1
- Fuse- Filesystem in User space Slides with lot of implementation details.
- Building File Systems with FUSE - Slides with high level explanation.
- FUSE and SSHFS on OS X Small tutorial on installing and running sshfs on OSX.
- Python Fuse
- Writing a FUSE Filesystem: a Tutorial
Misc
- fuse-devel - Development mailing list.
- Filesystem in Userspace - Wikipedia page; has more list of examples.