rclone/notes.txt
Nick Craig-Wood fdb1ec4d53 Implement Google Drive interface
* needs writeup of rather complicated api key setup
  * not implemented yet
    * fix for slow directory listing
    * mimetypes for files
2013-01-18 17:11:22 +00:00

61 lines
2.5 KiB
Plaintext

Todo
* Copy should use the sync code as it is more efficient at directory listing
* Drive needs a modify window of 1ms
* Factor fses into own packages
* FIXME: ls without an argument for buckets/containers?
* FIXME: More -dry-run checks for object transfer
* Might be quicker to check md5sums first? for swift <-> swift certainly, and maybe for small files
* Ignoring the pseudo directories
* if object.PseudoDirectory {
* fmt.Printf("%9s %19s %s\n", "Directory", "-", fs.Remote())
* Make Account wrapper
* limit bandwidth for a pool of all individual connectinos
* do timeouts by setting a limit, seeing whether io has happened
and resetting it if it has
* make Account do progress meter
* Make logging controllable with flags (mostly done)
* -timeout: Make all timeouts be settable with command line parameters
* Check the locking in swift module!
* Windows paths? Do we need to translate / and \?
* Make a fs.Errorf and count errors and log them at a different level
* add -modify-window flag - fs should keep knowledge of resolution
* Add max object size to fs metadata - 5GB for swift, infinite for local, ? for s3
Drive
* Do we need the secrets or just the code? If just the code then
can make a web service which does the request on the clients
behalf so don't need to expose the client secrets
* Apparently we don't need -drive-client-id or -drive-client-secret once we have a token
* Make a cgi which we send the user to
* It has the client secrets
* It gets google to authenticate
* It receives the token back
* It displays the token to the user to paste in to the code
* Should be https really
Ideas
* could do encryption - put IV into metadata?
* optimise remote copy container to another container using remote
copy if local is same as remote
* Allow subpaths container:/sub/path
* look at auth from env in s3 module - add to swift?
* support
* sftp
* scp
* Google cloud storage: https://developers.google.com/storage/
* Google drive: https://developers.google.com/drive/
* rsync over ssh
* dropbox: https://github.com/nickoneill/go-dropbox (no MD5s)
Need to make directory objects otherwise can't upload an empty directory
* Or could upload empty directories only?
* Can't purge a local filesystem because it leaves the directories behind
s3
* Can maybe set last modified?
* https://forums.aws.amazon.com/message.jspa?messageID=214062
* Otherwise can set metadata
* Returns etag and last modified in bucket list