App to mount cloud drives in linux
luis 77da5be587 Improved flags and main | 7 năm trước cách đây | |
---|---|---|
internal | 7 năm trước cách đây | |
vendor | 7 năm trước cách đây | |
.gitignore | 7 năm trước cách đây | |
README.md | 7 năm trước cách đây | |
TODO.md | 7 năm trước cách đây | |
flags.go | 7 năm trước cách đây | |
main.go | 7 năm trước cách đây | |
version.go | 7 năm trước cách đây |
Linux util to Mount cloud drives
Table of Contents
$ go get dev.hexasoftware.com/hxs/cloudmount
$ cloudmount -h
cloudmount-0.4-5-gf01e8fb - built: 2017-07-17 05:09:51 UTC
Usage: cloudmount [options] [<source>] <directory>
Source: can be json/yaml configuration file usually with credentials or cloud specific configuration
Options:
-d Run app in background
-o string
uid=1000,gid=1000,ro=false
-r duration
Timed cloud synchronization interval [if applied] (default 5s)
-t string
which cloud service to use [gdrive] (default "gdrive")
-v Verbose log
-vv
Extra Verbose log
-w string
Work dir, path that holds configurations (default "$HOME/.cloudmount")
# will default source file to $HOME/.cloudmount/gdrive.yaml
$ cloudmount -t gdrive /mnt/gdrive
# or
$ cloudmount -t dropbox dropbox.yaml /mnt/gdrive
Source config Configuration files/source can be written in following formats:
Setup Google client secrets:
https://console.developers.google.com/apis/credentials
Turn on the Drive API
- Use this wizard to create or select a project in the Google Developers Console and automatically turn on the API. Click Continue, then Go to credentials.
- On the Add credentials to your project page, click the Cancel button.
- At the top of the page, select the OAuth consent screen tab. Select an Email address, enter a Product name if not already set, and click the Save button.
- Select the Credentials tab, click the Create credentials button and select OAuth client ID.
- Select the application type Other, enter the name "Drive API Quickstart", and click the Create button.
- With the result dialog, copy clientID and client secret and create json file as shown in example (this can be retrieved any time by clicking on the api key)
sample gdrive.yaml config:
client_secret:
client_id: *Client ID*
client_secret: *Client Secret*
$ cloudmount gdrive.yaml $HOME/mntpoint
Also it's possible to create the yaml file in home directory as $HOME/.cloudmount/gdrive.yaml if <source> parameter is omitted it will default to this file
cloudmount gdrivefs will retrieve an oauth2 token and save in same file
Setup Dropbox client secrets:
https://www.dropbox.com/developers/apps
- Click Create App
- Select the API, type of access, and App name
- Use the values from App key and App secret
sample dropbox.yaml file:
client_secret:
client_id: *App Key*
client_secret: *App secret*
$ cloudmount -t dropbox savedfile.yaml /mnt/point
On the first run a link will appear and it will request a token resuling from the link
Signal | Action | ex |
---|---|---|
USR1 | Refreshes directory tree from file system | killall -USR1 cloudmount |
HUP | Perform a GC and shows memory usage Works when its not running in daemon mode | killall -HUP cloudmount |