rclone
Installation
git clone https://github.com/rclone/rclone.git
cd rclone
go build
./rclone version
Configuration
The configuration is interactive:
rclone config
The config is written to: ~/.config/rclone/rclone.conf
In the config there is a remote or multiple remotes.
Sync
Make source and dest identical, modifying destination only.
The sync can also delete files. if not wanted use copy.
The source folder must be given for the target too:
rclone sync test/ gdrive:test
List
Usefull for encrypted directories:
rclone ls secret:
List directories only:
rclone lsd gdrive:
Mount
works on all operating systems
rclone mount remote:path/to/files /path/to/local/mount
where /path/to/local/mount is an empty, existing directory
Mount runs in foreground mode by default, use the --daemon
flag to specify background mode.
When running in background mode the user will have to stop the mount manually:
# Linux
fusermount -u /path/to/local/mount
# OS X
umount /path/to/local/mount
Under the hood VFS is used: Virtual File System
Limitations
Without the use of --vfs-cache-mode
this can only write files sequentially, it can only seek when reading.
This means that many applications won’t work with their files on an rclone mount without --vfs-cache-mode writes
or --vfs-cache-mode full
. See the File Caching section for more info.
Caching
--cache-dir string Directory rclone will use for caching.
--vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
--vfs-cache-max-age duration Max age of objects in the cache. (default 1h0m0s)
--vfs-cache-max-size SizeSuffix Max total size of objects in the cache. (default off)
--vfs-cache-poll-interval duration Interval to poll the cache for stale objects. (default 1m0s)
--vfs-write-back duration Time to writeback files after last use when using cache. (default 5s
Encryption
The crypt remote encrypts and decrypts another remote. (into a subdirectory. give: remote:path
)
You can also use a local pathname instead of a remote which will encrypt and decrypt from that directory which might be useful for encrypting onto a USB stick for example.
For encryption it is used: NaCl Secretbox: XSalsa20 cipher and Poly1305 for integrity
The encryption key is generated from a passphrase. Additionally a Salt is used, so that the same input will lead to different outputs.
THe passphrase is stored in the config file only lightly obscured. So you have to use configuration encryption.