https://github.com/althk/drivefs
A simple FUSE filesystem for Google Drive on Linux
https://github.com/althk/drivefs
fuse-filesystem golang google-drive-api-v3
Last synced: 3 months ago
JSON representation
A simple FUSE filesystem for Google Drive on Linux
- Host: GitHub
- URL: https://github.com/althk/drivefs
- Owner: althk
- License: unlicense
- Created: 2021-03-16T18:55:10.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2021-03-21T06:23:19.000Z (about 4 years ago)
- Last Synced: 2023-05-03T10:53:23.783Z (about 2 years ago)
- Topics: fuse-filesystem, golang, google-drive-api-v3
- Language: Go
- Homepage:
- Size: 25.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# drivefs
A simple FUSE filesystem for Google Drive on Linux.Currently supports:
* Mounting Google Drive to a directory in READONLY mode only.
* Opening non Google Apps files (i.e., Google Docs, Sheets etc will not open)
* It downloads files only when opened and has support for primitive 'caching'.NOTE: Still in infancy mode, proper logging, doc and other features (sync, upload, etc.)
will come later. Pull requests welcome!### Pre-reqs
* Golang version 1.16+
* Built using [FUSE library by Bazil](https://github.com/bazil/fuse)
* A credentials json for a Google Cloud project
* Easiest way to get one is to [go to this link](https://developers.google.com/drive/api/v3/quickstart/go#step_1_turn_on_the),
click on "Enable the Drive API" button, follow the steps and download the file.### Usage
* Download the source, cd to the drivefs dir and build it `go build drivefs.go`
* `$ ./drivefs -credsfile -mntpoint -tokenfile `
* On first run, it will print a link to authorize the app and fetch an oauth refresh token.
* NOTE: Since the authorization is for your own app created in the pre-reqs step, it should be fine to proceed,
however, make sure the file is stored in a safe location on the machine after download.
* It will fetch basic file/dir information (not the actual contents), and the mounted directory can be browsed using
a regular file manager/shell.