Skip to content

EricTheMagician/DriveFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DriveFS

DriveFS allows you to mount Google Drive's as a local filesystem. It is written entirely in C++ to reduce the overhead of crossing language boundaries between NodeJS, Python and GO.

DriveFS supports:

  • Reading: Caching in memory and on drive.
  • Writing: full files only, no partial editing
  • Supports fuse2 and fuse3: asynchronous IO with the low level api.

Installation

Check the wki for compiling the code.

Usage

Command line interface (see below) or use a configuration file

Usage:
./DriveFS mountpoint [options]

Allowed Options:                                                                                

General options:
  -h [ --help ]                         t his help message
  -c [ --config-file ] arg              path to a config file. arguments should
                                        be one per line
  --mount arg                           set the mount point. useful for config
                                        files
  --database arg (=mongodb://localhost/)
                                        set the database path
  --cache-location arg (=/tmp/DriveFS)
  --cache-chunk-size arg (=8388608)     size of segments to download, in bytes,
                                        default: 8MB
  --cache-size arg (=512)               maximum amount of memory to be used for
                                        in memory cache. values in MB. Default:
                                        512MB
  --cache-disk-size arg (=512)          maximum size of the cache on disk, in
                                        megabytes. only for downloads, defaults
                                        to 512MB
  --download-chunks arg (=4)            maximum number of chunks to download
                                        ahead
  --download-last-chunk arg (=1)        download the last chunk of a file when
                                        downloading the first chunk
  --move-to-download arg (=1)           move a uploaded file to the download
                                        cache
  --max-concurrent-downloads arg        max number of concurrent downloads,
                                        defaults to 2
  --max-concurrent-uploads arg          max number of concurrent uploads,
                                        defaults to 2

Fuse Optionns:
  -f [ --fuse-foreground ]              run the fuse application in foreground
                                        instead of a daemon
  -d [ --fuse-debug ]                   run the fuse application in debug mode
  --fuse-allow-other                    set the allow_other option for fuse
  --fuse-default-permissions            set the default_permissions for fuse
  -s [ --fuse-singlethread ]            use a single thread for the fuse event
                                        loop

Log Options:
  --log-location arg (=/tmp/DriveFS.log)
                                        sets the location for the log file
  --log-max-size arg (=104857600)       sets the maximum log size, in bytes.
                                        default is 100M
  -v [ --log-verbose ] [=arg(=9)]       log verbosee. if no  value is passed,
                                        log maximum verbose. valid values:
                                        [0-9]


About

A google drive fuse filesystem implemented in C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published