- Notifications
You must be signed in to change notification settings - Fork90
FUSE implementation in Java using Java Native Runtime (JNR)
License
SerCeMan/jnr-fuse
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
jnr-fuse is a FUSE implementation in java using Java Native Runtime (JNR).
The main goal of the project is to provide an easy way to create a high-performance filesystem in userspace.
FUSE (Filesystem in Userspace) is an OS mechanism for unix-like OS that lets non-privileged users create their own file systems without editing kernel code.
Java Native Runtime (JNR) is high-performance Java API for binding native libraries and native memory.
Prior to0.5.5
, jnr-fuse was only available inJCenter. Due tosunsetting of JCenter, starting from0.5.5
is available in maven central.
dependencies { compile'com.github.serceman:jnr-fuse:0.5.8'}
<dependencies> <dependency> <groupId>com.github.serceman</groupId> <artifactId>jnr-fuse</artifactId> <version>0.5.8</version> </dependency></dependencies>
For implementing your own filesystem you just need to extend FuseStubFS class and implement methods you need.
Seesome examples.
Seeblog article about the implementation
- Alluxio: Alluxio is a memory-centric distributed storage system
- Cryptomator: A user-friendly encryption tool for cloud storage services
- mux2fs: Muxes subtitles into Matroska files as a FUSE filesystem
- healthcare-api-dicom-fuse: FUSE plugin for the Google Cloud Healthcare DICOM API
Supported platforms | ||
---|---|---|
Linux | x64 | x86 |
MacOS (viaosxfuse) | x64 | x86 |
Windows (viawinfsp) | x64 | n/a |
Seeinstructions.
About
FUSE implementation in Java using Java Native Runtime (JNR)