Skip to content

🌏 Java filesystem SPIs with Fuse (googledrive, onedrive, dropbox, box, etc...)

Notifications You must be signed in to change notification settings

umjammer/vavi-apps-fuse

Repository files navigation

Release Java CI CodeQL Java

vavi-apps-fuse

🌏 mount the world!

Status

fs list upload download copy move rm mkdir cache watch project library
google drive (v3) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… 🚧 sub module google-api-services-drive
one drive (v1) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… 🚧 sub module OneDriveJavaSDK
one drive (graph) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… 🚧 sub module onedrive-java-client
one drive (graph) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… 🚧 sub module msgraph-sdk-java
dropbox (v2) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… 🚧 vavi-nio-file-dropbox
box (v2) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… 🚧 vavi-nio-file-box
vfs (sftp) βœ… βœ… βœ… βœ… βœ… βœ… βœ… - sub module commons-vfs2, jsch
vfs (smb:cifs-ng) βœ… βœ… βœ… βœ… βœ… βœ… βœ… - sub module commons-vfs2-cifs, jcifs-ng
vfs (smb:smbj) βœ… βœ… βœ… βœ… βœ… βœ… βœ… - sub module commons-vfs2-smb
vfs (webdav ssh) 🚧 sub module commons-vfs2-jackrabbit2
vfs (smb:cifs) βœ… βœ… βœ… βœ… βœ… βœ… βœ… - sub module commons-vfs2-sandbox, jcifs-ng
archive βœ… - βœ… - - - - - sub module vavi-util-archive
hfs+ (dmg) βœ… βœ… sub module hfsexplorer
gathered βœ… - βœ… - - - - - sub module -
cyberduck (webdav ssh) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… vavi-nio-file-cyberduck cyberduck.webdav
cyberduck (sftp) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… vavi-nio-file-cyberduck cyberduck.ssh
discutils (vdi/ntfs) βœ… βœ… vavi-nio-file-discutils
google play music βœ… - βœ… - - - - - vavi-nio-file-googleplaymusic gplaymusic
fuse (javafs) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… vavi-nio-file-fuse javafs
fuse (fuse-jna) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… vavi-nio-file-fuse fuse-jna
fuse (jnr-fuse) βœ… βœ… βœ… βœ… βœ… βœ… βœ… βœ… vavi-nio-file-fuse jnr-fuse

Usage

    URI uri = URI.create("googledrive:///[email protected]");
    FileSystems fs = FileSystems.newFileSystem(uri, Collections.emptyMap());
    Fuse.getFuse().mount(fs, "/your/mout/point", Collections.emptyMap());

Installation

jars

selenium chrome driver (obsolete, use os default browser)

  • download the chromedriver executable and locate it into some directory.
    • don't forget to run jvm with the jvm argument -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver.

each fs installation

fuse

  • install macFUSE
  • jvmarg (fuse-jna)
    • -Djna.library.path=/usr/local/lib

How To

References

TODO