securefs - Filesystem in userspace (FUSE) with transparent authenticated encryption

  •        19

securefs is a filesystem in userspace (FUSE) with transparent encryption (when writing) and decryption (when reading). securefs mounts a regular directory onto a mount point. The mount point appears as a regular filesystem, where one can read/write/create files, directories and symbolic links. The underlying directory will be automatically updated to contain the encrypted and authenticated contents.

https://github.com/netheril96/securefs

Tags
Implementation
License
Platform

   




Related Projects

rust-fuse - Rust library for filesystems in userspace (FUSE)

  •    Rust

Rust library for easy implementation of FUSE filesystems in userspace. This library does not just provide bindings, it is actually an improved rewrite of the original FUSE C library to fully take advantage of Rust's architecture.

gocryptfs - Encrypted overlay filesystem written in Go.

  •    Go

An encrypted overlay filesystem written in Go. Official website: https://nuetzlich.net/gocryptfs (markdown source). gocryptfs is built on top the excellent go-fuse FUSE library. This project was inspired by EncFS and strives to fix its security issues while providing good performance (benchmarks). For details on the security of gocryptfs see the Security design document.

libfuse - The reference implementation of the Linux FUSE (Filesystem in Userspace) interface

  •    C

FUSE (Filesystem in Userspace) is an interface for userspace programs to export a filesystem to the Linux kernel. The FUSE project consists of two components: the fuse kernel module (maintained in the regular kernel repositories) and the libfuse userspace library (maintained in this repository). libfuse provides the reference implementation for communicating with the FUSE kernel module. A FUSE file system is typically implemented as a standalone application that links with libfuse. libfuse provides functions to mount the file system, unmount it, read requests from the kernel, and send responses back. libfuse offers two APIs: a "high-level", synchronous API, and a "low-level" asynchronous API. In both cases, incoming requests from the kernel are passed to the main program using callbacks. When using the high-level API, the callbacks may work with file names and paths instead of inodes, and processing of a request finishes when the callback function returns. When using the low-level API, the callbacks must work with inodes and responses must be sent explicitly using a separate set of API functions.

kbfs - Keybase Filesystem (KBFS)

  •    Go

This repository contains the official Keybase implementation of the client-side code for the Keybase filesystem (KBFS). See the KBFS documentation for an introduction and overview. All code is written in the Go Language, and relies on the Keybase service.

FUSE-J

  •    

FUSE-J Java bindings for FUSE (Filesystem in USErspace) is a Java API that uses JNI bindings to FUSE library and enables writing Linux filesystems in Java language


dungeonfs - A FUSE filesystem and dungeon crawling adventure game engine

  •    Go

DungeonFS is a FUSE filesystem and dungeon crawling adventure game engine. This is a work-in-progress, however, there is a general list of planned features worth checking out, as well as, a little bit of the motivation behind why I started this project. Note: The demo level is included in the <project root>/examples/simplelevel folder, which should be downloaded with the above command. In the future, I will have this included with the static binary so the demo level is accessible without need go installed on the system.

cloudfuse - Filesystem (fuse) implemented on Mosso's Cloud Files

  •    C

Filesystem (fuse) implemented on Mosso's Cloud Files

goofys - a high-performance, POSIX-ish Amazon S3 file system written in Go

  •    Go

Goofys allows you to mount an S3 bucket as a filey system. It's a Filey System instead of a File System because goofys strives for performance first and POSIX second. Particularly things that are difficult to support on S3 or would translate into more than one round-trip would either fail (random writes) or faked (no per-file permission). Goofys does not have a on disk data cache (checkout catfs), and consistency model is close-to-open.

svfs - The Swift Virtual File System

  •    Go

SVFS is a Virtual File System over Openstack Swift built upon fuse. It is compatible with hubiC, OVH Public Cloud Storage and basically every endpoint using a standard Openstack Swift setup. It brings a layer of abstraction over object storage, making it as accessible and convenient as a filesystem, without being intrusive on the way your data is stored. This is not an official project of the Openstack community.

lxcfs - FUSE filesystem for LXC

  •    C

LXCFS is a small FUSE filesystem written with the intention of making Linux containers feel more like a virtual machine. It started as a side-project of LXC but is useable by any runtime. are container aware such that the values displayed (e.g. in /proc/uptime) really reflect how long the container is running and not how long the host is running.

POSIX Overlay Filesystem

  •    C

A FUSE filesystem that provides POSIX functionality - UNIX-style permissions, ownership, special files - for filesystems that do not have such, e.g. vfat. It is a modern equivalent of the UMSDOS fs.

winfsp - Windows File System Proxy - FUSE for Windows

  •    C

WinFsp is a set of software components for Windows computers that allows the creation of user mode file systems. In this sense it is similar to FUSE (Filesystem in Userspace), which provides the same functionality on UNIX-like computers. WinFsp is very stable. There are no known kernel mode crashes and it does not suffer from resource leaks or similar problems. WinFsp owes this stability to its Design and its rigorous Testing Regime.

plexdrive - Plexdrive mounts your Google Drive FUSE filesystem (optimized for media playback)

  •    Go

Plexdrive allows you to mount your Google Drive account as read-only fuse filesystem, with direct delete option on the filesystem. Please note that plexdrive doesn't currently support writes (adding new files or modifications), it only supports reading existing files and deletion.

GDataFS (FUSE filesystem for PicassaWeb)

  •    Java

Gdatafs is a FUSE implemtation that mount your account at google's picassa web to your filesystem. The filesystem support ful read/write and delete of album and photos.

fuse-convmvfs

  •    C++

This is a filesystem converting file name from one character set to another. It's implemented by using FUSE(Filesystem in USErspace),.

torrent-mount - Mount a torrent (or magnet link) as a filesystem in real time using torrent-stream and fuse

  •    Javascript

Mount a torrent (or magnet link) as a filesystem in real time using torrent-stream and fuse.You also need to install fuse. See this link for more info.

FUSE filesystem using MySQL as a storage

  •    C

MySQLfs is Linux userspace filesystem which stores data in a MySQL database. It uses FUSE to interface with the kernel.

mp3fs transcoding FUSE filesystem

  •    C

MP3FS is a read-only FUSE filesystem which transcodes FLAC audio files to MP3 on the fly when opened and read.

x11fs - A tool for manipulating X windows

  •    C

This is heavily based off wmutils. Check them out. x11fs is a tool for manipulating X windows. It creates a vitual filesystem to represent open windows, similar to what /proc does for processes. This allows windows to be controlled using any language or tool with simple file IO, in a true unix fashion.