1rclone(1)                                                            rclone(1)
2
3
4

Rclone syncs your files to cloud storage

6       • About rclone
7
8       • What can rclone do for you?
9
10       • What features does rclone have?
11
12       • What providers does rclone support?
13
14       • Download (https://rclone.org/downloads/)
15
16       • Install (https://rclone.org/install/)
17
18       • Donate. (https://rclone.org/donate/)
19
20   About rclone
21       Rclone  is a command line program to manage files on cloud storage.  It
22       is a feature rich alternative to cloud vendors' web storage interfaces.
23       Over  40  cloud  storage  products  support  rclone including S3 object
24       stores, business & consumer file storage services, as well as  standard
25       transfer protocols.
26
27       Rclone  has  powerful cloud equivalents to the unix commands rsync, cp,
28       mv, mount, ls, ncdu, tree, rm, and cat.  Rclone's familiar  syntax  in‐
29       cludes shell pipeline support, and --dry-run protection.  It is used at
30       the command line, in scripts or via its API (/rc).
31
32       Users call rclone "The Swiss army knife of cloud storage",  and  "Tech‐
33       nology indistinguishable from magic".
34
35       Rclone really looks after your data.  It preserves timestamps and veri‐
36       fies checksums at all times.  Transfers over limited bandwidth;  inter‐
37       mittent  connections,  or  subject  to quota can be restarted, from the
38       last good file transferred.   You  can  check  (https://rclone.org/com
39       mands/rclone_check/)  the  integrity  of  your  files.  Where possible,
40       rclone employs server-side transfers to minimise  local  bandwidth  use
41       and transfers from one provider to another without using local disk.
42
43       Virtual  backends wrap local and cloud file systems to apply encryption
44       (https://rclone.org/crypt/), caching (https://rclone.org/cache/),  com‐
45       pression             (https://rclone.org/compress/)            chunking
46       (https://rclone.org/chunker/) and joining (https://rclone.org/union/).
47
48       Rclone mounts  (https://rclone.org/commands/rclone_mount/)  any  local,
49       cloud  or  virtual  filesystem  as  a disk on Windows, macOS, linux and
50       FreeBSD, and  also  serves  these  over  SFTP  (https://rclone.org/com
51       mands/rclone_serve_sftp/),         HTTP        (https://rclone.org/com
52       mands/rclone_serve_http/),       WebDAV        (https://rclone.org/com
53       mands/rclone_serve_webdav/),        FTP        (https://rclone.org/com
54       mands/rclone_serve_ftp/)     and     DLNA      (https://rclone.org/com
55       mands/rclone_serve_dlna/).
56
57       Rclone is mature, open source software originally inspired by rsync and
58       written in Go (https://golang.org).  The friendly support community are
59       familiar  with varied use cases.  Official Ubuntu, Debian, Fedora, Brew
60       and Chocolatey repos.  include rclone.  For the  latest  version  down‐
61       loading from rclone.org (https://rclone.org/downloads/) is recommended.
62
63       Rclone  is widely used on Linux, Windows and Mac.  Third party develop‐
64       ers create innovative backup, restore, GUI and business  process  solu‐
65       tions using the rclone command line or API.
66
67       Rclone does the heavy lifting of communicating with cloud storage.
68
69   What can rclone do for you?
70       Rclone helps you:
71
72       • Backup (and encrypt) files to cloud storage
73
74       • Restore (and decrypt) files from cloud storage
75
76       • Mirror cloud data to other cloud services or locally
77
78       • Migrate data to cloud, or between cloud storage vendors
79
80       • Mount multiple, encrypted, cached or diverse cloud storage as a disk
81
82       • Analyse  and  account  for  data  held  on  cloud  storage  using lsf
83         (https://rclone.org/commands/rclone_lsf/),                      ljson
84         (https://rclone.org/commands/rclone_lsjson/),                    size
85         (https://rclone.org/commands/rclone_size/),                      ncdu
86         (https://rclone.org/commands/rclone_ncdu/)
87
88       • Union  (https://rclone.org/union/)  file  systems together to present
89         multiple local and/or cloud file systems as one
90
91   Features
92       • Transfers
93
94         • MD5, SHA1 hashes are checked at all times for file integrity
95
96         • Timestamps are preserved on files
97
98         • Operations can be restarted at any time
99
100         • Can be to and from network, e.g.  two different cloud providers
101
102         • Can use multi-threaded downloads to local disk
103
104       • Copy (https://rclone.org/commands/rclone_copy/) new or changed  files
105         to cloud storage
106
107       • Sync  (https://rclone.org/commands/rclone_sync/)  (one way) to make a
108         directory identical
109
110       • Move (https://rclone.org/commands/rclone_move/) files to cloud  stor‐
111         age deleting the local after verification
112
113       • Check   (https://rclone.org/commands/rclone_check/)  hashes  and  for
114         missing/extra files
115
116       • Mount (https://rclone.org/commands/rclone_mount/) your cloud  storage
117         as a network disk
118
119       • Serve  (https://rclone.org/commands/rclone_serve/)  local  or  remote
120         files over HTTP (https://rclone.org/commands/rclone_serve_http/)/Web‐
121         Dav            (https://rclone.org/commands/rclone_serve_webdav/)/FTP
122         (https://rclone.org/commands/rclone_serve_ftp/)/SFTP
123         (https://rclone.org/commands/rclone_serve_sftp/)/dlna
124         (https://rclone.org/commands/rclone_serve_dlna/)
125
126       • Experimental Web based GUI (https://rclone.org/gui/)
127
128   Supported providers
129       (There are many others, built on standard protocols such as  WebDAV  or
130       S3, that work out of the box.)
131
132       • 1Fichier
133
134       • Alibaba Cloud (Aliyun) Object Storage System (OSS)
135
136       • Amazon Drive
137
138       • Amazon S3
139
140       • Backblaze B2
141
142       • Box
143
144       • Ceph
145
146       • Citrix ShareFile
147
148       • C14
149
150       • DigitalOcean Spaces
151
152       • Dreamhost
153
154       • Dropbox
155
156       • Enterprise File Fabric
157
158       • FTP
159
160       • Google Cloud Storage
161
162       • Google Drive
163
164       • Google Photos
165
166       • HDFS
167
168       • HTTP
169
170       • Hubic
171
172       • Jottacloud
173
174       • IBM COS S3
175
176       • Koofr
177
178       • Mail.ru Cloud
179
180       • Memset Memstore
181
182       • Mega
183
184       • Memory
185
186       • Microsoft Azure Blob Storage
187
188       • Microsoft OneDrive
189
190       • Minio
191
192       • Nextcloud
193
194       • OVH
195
196       • OpenDrive
197
198       • OpenStack Swift
199
200       • Oracle Cloud Storage
201
202       • ownCloud
203
204       • pCloud
205
206       • premiumize.me
207
208       • put.io
209
210       • QingStor
211
212       • Rackspace Cloud Files
213
214       • rsync.net
215
216       • Scaleway
217
218       • Seafile
219
220       • SFTP
221
222       • StackPath
223
224       • SugarSync
225
226       • Tardigrade
227
228       • Tencent Cloud Object Storage (COS)
229
230       • Wasabi
231
232       • WebDAV
233
234       • Yandex Disk
235
236       • Zoho WorkDrive
237
238       • The local filesystem
239
240       Links
241
242       • Home page (https://rclone.org/)
243
244       • GitHub     project     page    for    source    and    bug    tracker
245         (https://github.com/rclone/rclone)
246
247       • Rclone Forum (https://forum.rclone.org)
248
249       • Downloads (https://rclone.org/downloads/)
250

Install

252       Rclone is a Go program and comes as a single binary file.
253
254   Quickstart
255       • Download (https://rclone.org/downloads/) the relevant binary.
256
257       • Extract the rclone or rclone.exe binary from the archive
258
259       • Run   rclone   config   to   setup.    See   rclone    config    docs
260         (https://rclone.org/docs/) for more details.
261
262       See below for some expanded Linux / macOS instructions.
263
264       See  the Usage section (https://rclone.org/docs/#usage) of the docs for
265       how to use rclone, or run rclone -h.
266
267       Already installed rclone can be easily updated to  the  latest  version
268       using the rclone selfupdate (https://rclone.org/commands/rclone_selfup
269       date/) command.
270
271   Script installation
272       To install rclone on Linux/macOS/BSD systems, run:
273
274              curl https://rclone.org/install.sh | sudo bash
275
276       For beta installation, run:
277
278              curl https://rclone.org/install.sh | sudo bash -s beta
279
280       Note that this script checks the version of rclone installed first  and
281       won't re-download if not needed.
282
283   Linux installation from precompiled binary
284       Fetch and unpack
285
286              curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
287              unzip rclone-current-linux-amd64.zip
288              cd rclone-*-linux-amd64
289
290       Copy binary file
291
292              sudo cp rclone /usr/bin/
293              sudo chown root:root /usr/bin/rclone
294              sudo chmod 755 /usr/bin/rclone
295
296       Install manpage
297
298              sudo mkdir -p /usr/local/share/man/man1
299              sudo cp rclone.1 /usr/local/share/man/man1/
300              sudo mandb
301
302       Run    rclone    config    to    setup.    See   rclone   config   docs
303       (https://rclone.org/docs/) for more details.
304
305              rclone config
306
307   macOS installation with brew
308              brew install rclone
309
310   macOS installation from precompiled binary, using curl
311       To avoid problems with macOS gatekeeper  enforcing  the  binary  to  be
312       signed and notarized it is enough to download with curl.
313
314       Download the latest version of rclone.
315
316              cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
317
318       Unzip the download and cd to the extracted folder.
319
320              unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
321
322       Move rclone to your $PATH.  You will be prompted for your password.
323
324              sudo mkdir -p /usr/local/bin
325              sudo mv rclone /usr/local/bin/
326
327       (the  mkdir  command  is safe to run, even if the directory already ex‐
328       ists).
329
330       Remove the leftover files.
331
332              cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
333
334       Run   rclone   config   to   setup.     See    rclone    config    docs
335       (https://rclone.org/docs/) for more details.
336
337              rclone config
338
339   macOS installation from precompiled binary, using a web browser
340       When  downloading a binary with a web browser, the browser will set the
341       macOS gatekeeper quarantine attribute.  Starting  from  Catalina,  when
342       attempting to run rclone, a pop-up will appear saying:
343
344              “rclone” cannot be opened because the developer cannot be verified.
345              macOS cannot verify that this app is free from malware.
346
347       The simplest fix is to run
348
349              xattr -d com.apple.quarantine rclone
350
351   Install with docker
352       The  rclone  maintains  a  docker  image  for rclone (https://hub.dock
353       er.com/r/rclone/rclone).  These images are autobuilt by docker hub from
354       the rclone source based on a minimal Alpine linux image.
355
356       The  :latest  tag  will always point to the latest stable release.  You
357       can use the :beta tag to get the latest build from master.  You can al‐
358       so use version tags, e.g.  :1.49.1, :1.49 or :1.
359
360              $ docker pull rclone/rclone:latest
361              latest: Pulling from rclone/rclone
362              Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
363              ...
364              $ docker run --rm rclone/rclone:latest version
365              rclone v1.49.1
366              - os/arch: linux/amd64
367              - go version: go1.12.9
368
369       There  are  a  few  command  line  options to consider when starting an
370       rclone Docker container from the rclone image.
371
372       • You need to mount the host rclone config dir at  /config/rclone  into
373         the Docker container.  Due to the fact that rclone updates tokens in‐
374         side its config file, and that the update process involves a file re‐
375         name,  you  need  to mount the whole host rclone config dir, not just
376         the single host rclone config file.
377
378       • You need to mount a host data dir at /data into the Docker container.
379
380       • By default, the rclone binary inside a  Docker  container  runs  with
381         UID=0  (root).   As  a  result,  all files created in a run will have
382         UID=0.  If your config and data files  reside  on  the  host  with  a
383         non-root  UID:GID, you need to pass these on the container start com‐
384         mand line.
385
386       • If you want to access the RC interface (either via the API or the Web
387         UI), it is required to set the --rc-addr to :5572 in order to connect
388         to it from outside the container.  An explanation about why  this  is
389         necessary        is        present        here       (https://web.ar
390         chive.org/web/20200808071950/https://pythonspeed.com/articles/docker-
391         connection-refused/).
392
393         • NOTE:  Users  running this container with the docker network set to
394           host should probably set it  to  listen  to  localhost  only,  with
395           127.0.0.1:5572 as the value for --rc-addr
396
397       • It is possible to use rclone mount inside a userspace Docker contain‐
398         er, and expose the resulting fuse mount to the host.  The exact dock‐
399         er  run  options  to do that might vary slightly between hosts.  See,
400         e.g.  the discussion in this thread (https://github.com/moby/moby/is
401         sues/9448).
402
403         You  also  need to mount the host /etc/passwd and /etc/group for fuse
404         to work inside the container.
405
406       Here are some commands tested on an Ubuntu 18.04.3 host:
407
408              # config on host at ~/.config/rclone/rclone.conf
409              # data on host at ~/data
410
411              # make sure the config is ok by listing the remotes
412              docker run --rm \
413                  --volume ~/.config/rclone:/config/rclone \
414                  --volume ~/data:/data:shared \
415                  --user $(id -u):$(id -g) \
416                  rclone/rclone \
417                  listremotes
418
419              # perform mount inside Docker container, expose result to host
420              mkdir -p ~/data/mount
421              docker run --rm \
422                  --volume ~/.config/rclone:/config/rclone \
423                  --volume ~/data:/data:shared \
424                  --user $(id -u):$(id -g) \
425                  --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
426                  --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
427                  rclone/rclone \
428                  mount dropbox:Photos /data/mount &
429              ls ~/data/mount
430              kill %1
431
432   Install from source
433       Make sure you have at least Go (https://golang.org/) go1.13  installed.
434       Download  go (https://golang.org/dl/) if necessary.  The latest release
435       is recommended.  Then
436
437              git clone https://github.com/rclone/rclone.git
438              cd rclone
439              go build
440              ./rclone version
441
442       This will leave you a checked out version of rclone you can modify  and
443       send  pull requests with.  If you use make instead of go build then the
444       rclone build will have the correct version information in it.
445
446       You can also build the latest stable rclone with:
447
448              go get github.com/rclone/rclone
449
450       or the latest version (equivalent to the beta) with
451
452              go get github.com/rclone/rclone@master
453
454       These will build the binary in $(go env GOPATH)/bin (~/go/bin/rclone by
455       default)  after  downloading the source to the go module cache.  Note -
456       do not use the -u flag here.  This causes go to try to update  the  de‐
457       pendencies  that  rclone  uses  and sometimes these don't work with the
458       current version of rclone.
459
460   Installation with Ansible
461       This   can   be   done   with   Stefan   Weichinger's   ansible    role
462       (https://github.com/stefangweichinger/ansible-rclone).
463
464       Instructions
465
466       1. git   clone  https://github.com/stefangweichinger/ansible-rclone.git
467          into your local roles-directory
468
469       2. add the role to the hosts you want rclone installed to:
470
471              - hosts: rclone-hosts
472                roles:
473                    - rclone
474
475   Configure
476       First, you'll need to configure rclone.  As the object storage  systems
477       have  quite complicated authentication these are kept in a config file.
478       (See the --config entry for how to find the config file and choose  its
479       location.)
480
481       The easiest way to make the config is to run rclone with the config op‐
482       tion:
483
484              rclone config
485
486       See the following for detailed instructions for
487
488       • 1Fichier (https://rclone.org/fichier/)
489
490       • Alias (https://rclone.org/alias/)
491
492       • Amazon Drive (https://rclone.org/amazonclouddrive/)
493
494       • Amazon S3 (https://rclone.org/s3/)
495
496       • Backblaze B2 (https://rclone.org/b2/)
497
498       • Box (https://rclone.org/box/)
499
500       • Cache (https://rclone.org/cache/)
501
502       • Chunker (https://rclone.org/chunker/) -  transparently  splits  large
503         files for other remotes
504
505       • Citrix ShareFile (https://rclone.org/sharefile/)
506
507       • Compress (https://rclone.org/compress/)
508
509       • Crypt (https://rclone.org/crypt/) - to encrypt other remotes
510
511       • DigitalOcean Spaces (https://rclone.org/s3/#digitalocean-spaces)
512
513       • Dropbox (https://rclone.org/dropbox/)
514
515       • Enterprise File Fabric (https://rclone.org/filefabric/)
516
517       • FTP (https://rclone.org/ftp/)
518
519       • Google Cloud Storage (https://rclone.org/googlecloudstorage/)
520
521       • Google Drive (https://rclone.org/drive/)
522
523       • Google Photos (https://rclone.org/googlephotos/)
524
525       • HDFS (https://rclone.org/hdfs/)
526
527       • HTTP (https://rclone.org/http/)
528
529       • Hubic (https://rclone.org/hubic/)
530
531       • Jottacloud / GetSky.no (https://rclone.org/jottacloud/)
532
533       • Koofr (https://rclone.org/koofr/)
534
535       • Mail.ru Cloud (https://rclone.org/mailru/)
536
537       • Mega (https://rclone.org/mega/)
538
539       • Memory (https://rclone.org/memory/)
540
541       • Microsoft Azure Blob Storage (https://rclone.org/azureblob/)
542
543       • Microsoft OneDrive (https://rclone.org/onedrive/)
544
545       • OpenStack   Swift   /   Rackspace   Cloudfiles   /   Memset  Memstore
546         (https://rclone.org/swift/)
547
548       • OpenDrive (https://rclone.org/opendrive/)
549
550       • Pcloud (https://rclone.org/pcloud/)
551
552       • premiumize.me (https://rclone.org/premiumizeme/)
553
554       • put.io (https://rclone.org/putio/)
555
556       • QingStor (https://rclone.org/qingstor/)
557
558       • Seafile (https://rclone.org/seafile/)
559
560       • SFTP (https://rclone.org/sftp/)
561
562       • SugarSync (https://rclone.org/sugarsync/)
563
564       • Tardigrade (https://rclone.org/tardigrade/)
565
566       • Union (https://rclone.org/union/)
567
568       • WebDAV (https://rclone.org/webdav/)
569
570       • Yandex Disk (https://rclone.org/yandex/)
571
572       • Zoho WorkDrive (https://rclone.org/zoho/)
573
574       • The local filesystem (https://rclone.org/local/)
575
576   Usage
577       Rclone syncs a directory tree from one storage system to another.
578
579       Its syntax is like this
580
581              Syntax: [options] subcommand <parameters> <parameters...>
582
583       Source and destination paths are specified by the  name  you  gave  the
584       storage  system  in the config file then the sub path, e.g.  "drive:my‐
585       folder" to look at "myfolder" in Google drive.
586
587       You can define as many storage paths as you like in the config file.
588
589       Please use the -i / --interactive flag while learning rclone  to  avoid
590       accidental data loss.
591
592   Subcommands
593       rclone uses a system of subcommands.  For example
594
595              rclone ls remote:path # lists a remote
596              rclone copy /local/path remote:path # copies /local/path to the remote
597              rclone sync -i /local/path remote:path # syncs /local/path to the remote
598

rclone config

600       Enter an interactive configuration session.
601
602   Synopsis
603       Enter  an interactive configuration session where you can setup new re‐
604       motes and manage existing ones.  You may also set or remove a  password
605       to protect your configuration.
606
607              rclone config [flags]
608
609   Options
610                -h, --help   help for config
611
612       See  the  global  flags page (https://rclone.org/flags/) for global op‐
613       tions not listed here.
614
615   SEE ALSO
616       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
617         commands, flags and backends.
618
619       • rclone  config create (https://rclone.org/commands/rclone_config_cre
620         ate/) - Create a new remote with name, type and options.
621
622       • rclone   config    delete    (https://rclone.org/commands/rclone_con
623         fig_delete/) - Delete an existing remote name.
624
625       • rclone   config  disconnect  (https://rclone.org/commands/rclone_con
626         fig_disconnect/) - Disconnects user from remote
627
628       • rclone config dump  (https://rclone.org/commands/rclone_config_dump/)
629         - Dump the config file as JSON.
630
631       • rclone  config edit (https://rclone.org/commands/rclone_config_edit/)
632         - Enter an interactive configuration session.
633
634       • rclone config file  (https://rclone.org/commands/rclone_config_file/)
635         - Show path of configuration file in use.
636
637       • rclone   config   password   (https://rclone.org/commands/rclone_con
638         fig_password/) - Update password in an existing remote.
639
640       • rclone  config   providers   (https://rclone.org/commands/rclone_con
641         fig_providers/) - List in JSON format all the providers and options.
642
643       • rclone   config   reconnect  (https://rclone.org/commands/rclone_con
644         fig_reconnect/) - Re-authenticates user with remote.
645
646       • rclone config show  (https://rclone.org/commands/rclone_config_show/)
647         - Print (decrypted) config file, or the config for a single remote.
648
649       • rclone  config  update (https://rclone.org/commands/rclone_config_up
650         date/) - Update options in an existing remote.
651
652       • rclone   config   userinfo   (https://rclone.org/commands/rclone_con
653         fig_userinfo/) - Prints info about logged in user of remote.
654

rclone copy

656       Copy files from source to dest, skipping already copied.
657
658   Synopsis
659       Copy  the source to the destination.  Doesn't transfer unchanged files,
660       testing by size and modification time or MD5SUM.  Doesn't delete  files
661       from the destination.
662
663       Note  that  it  is always the contents of the directory that is synced,
664       not the directory so when source:path is a directory, it's the contents
665       of source:path that are copied, not the directory name and contents.
666
667       If  dest:path doesn't exist, it is created and the source:path contents
668       go there.
669
670       For example
671
672              rclone copy source:sourcepath dest:destpath
673
674       Let's say there are two files in sourcepath
675
676              sourcepath/one.txt
677              sourcepath/two.txt
678
679       This copies them to
680
681              destpath/one.txt
682              destpath/two.txt
683
684       Not to
685
686              destpath/sourcepath/one.txt
687              destpath/sourcepath/two.txt
688
689       If you are familiar with rsync, rclone always works as if you had writ‐
690       ten a trailing / - meaning "copy the contents of this directory".  This
691       applies to all commands and whether you are talking about the source or
692       destination.
693
694       See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
695       controlling whether rclone lists  the  destination  directory  or  not.
696       Supplying this option when copying a small number of files into a large
697       destination can speed transfers up greatly.
698
699       For example, if you have many files in /path/to/src but only a  few  of
700       them  change  every  day, you can copy all the files which have changed
701       recently very efficiently like this:
702
703              rclone copy --max-age 24h --no-traverse /path/to/src remote:
704
705       Note: Use the -P/--progress flag to view real-time transfer statistics.
706
707       Note: Use the --dry-run or the --interactive/-i flag  to  test  without
708       copying anything.
709
710              rclone copy source:path dest:path [flags]
711
712   Options
713                    --create-empty-src-dirs   Create empty source dirs on destination after copy
714                -h, --help                    help for copy
715
716       See  the  global  flags page (https://rclone.org/flags/) for global op‐
717       tions not listed here.
718
719   SEE ALSO
720       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
721         commands, flags and backends.
722

rclone sync

724       Make source and dest identical, modifying destination only.
725
726   Synopsis
727       Sync  the  source  to  the  destination, changing the destination only.
728       Doesn't transfer unchanged files, testing by size and modification time
729       or  MD5SUM.  Destination is updated to match source, including deleting
730       files if necessary (except duplicate objects, see below).
731
732       Important: Since  this  can  cause  data  loss,  test  first  with  the
733       --dry-run or the --interactive/-i flag.
734
735              rclone sync -i SOURCE remote:DESTINATION
736
737       Note  that  files in the destination won't be deleted if there were any
738       errors at any point.  Duplicate objects (files with the same  name,  on
739       those providers that support it) are also not yet handled.
740
741       It  is always the contents of the directory that is synced, not the di‐
742       rectory so when source:path  is  a  directory,  it's  the  contents  of
743       source:path  that are copied, not the directory name and contents.  See
744       extended explanation in the copy command above if unsure.
745
746       If dest:path doesn't exist, it is created and the source:path  contents
747       go there.
748
749       Note: Use the -P/--progress flag to view real-time transfer statistics
750
751       Note:  Use the rclone dedupe command to deal with "Duplicate object/di‐
752       rectory found in source/destination - ignoring" errors.  See this forum
753       post    (https://forum.rclone.org/t/sync-not-clearing-duplicates/14372)
754       for more info.
755
756              rclone sync source:path dest:path [flags]
757
758   Options
759                    --create-empty-src-dirs   Create empty source dirs on destination after sync
760                -h, --help                    help for sync
761
762       See the global flags page (https://rclone.org/flags/)  for  global  op‐
763       tions not listed here.
764
765   SEE ALSO
766       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
767         commands, flags and backends.
768

rclone move

770       Move files from source to dest.
771
772   Synopsis
773       Moves the contents of the source directory to the destination  directo‐
774       ry.   Rclone  will  error if the source and destination overlap and the
775       remote does not support a server-side directory move operation.
776
777       If no filters are in use and if possible  this  will  server-side  move
778       source:path  into dest:path.  After this source:path will no longer ex‐
779       ist.
780
781       Otherwise for each file in source:path selected by the filters (if any)
782       this  will move it into dest:path.  If possible a server-side move will
783       be used, otherwise it will  copy  it  (server-side  if  possible)  into
784       dest:path   then  delete  the  original  (if  no  errors  on  copy)  in
785       source:path.
786
787       If you want to delete empty source  directories  after  move,  use  the
788       --delete-empty-src-dirs flag.
789
790       See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
791       controlling whether rclone lists  the  destination  directory  or  not.
792       Supplying  this option when moving a small number of files into a large
793       destination can speed transfers up greatly.
794
795       Important: Since  this  can  cause  data  loss,  test  first  with  the
796       --dry-run or the --interactive/-i flag.
797
798       Note: Use the -P/--progress flag to view real-time transfer statistics.
799
800              rclone move source:path dest:path [flags]
801
802   Options
803                    --create-empty-src-dirs   Create empty source dirs on destination after move
804                    --delete-empty-src-dirs   Delete empty source dirs after move
805                -h, --help                    help for move
806
807       See  the  global  flags page (https://rclone.org/flags/) for global op‐
808       tions not listed here.
809
810   SEE ALSO
811       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
812         commands, flags and backends.
813

rclone delete

815       Remove the files in path.
816
817   Synopsis
818       Remove  the  files in path.  Unlike purge it obeys include/exclude fil‐
819       ters so can be used to selectively delete files.
820
821       rclone delete only deletes files but  leaves  the  directory  structure
822       alone.   If  you want to delete a directory and all of its contents use
823       the purge command.
824
825       If you supply the --rmdirs flag, it will remove all  empty  directories
826       along  with  it.  You can also use the separate command rmdir or rmdirs
827       to delete empty directories only.
828
829       For example, to delete all files bigger than 100MBytes, you  may  first
830       want to check what would be deleted (use either):
831
832              rclone --min-size 100M lsl remote:path
833              rclone --dry-run --min-size 100M delete remote:path
834
835       Then proceed with the actual delete:
836
837              rclone --min-size 100M delete remote:path
838
839       That  reads  "delete  everything  with a minimum size of 100 MB", hence
840       delete all files bigger than 100MBytes.
841
842       Important: Since  this  can  cause  data  loss,  test  first  with  the
843       --dry-run or the --interactive/-i flag.
844
845              rclone delete remote:path [flags]
846
847   Options
848                -h, --help     help for delete
849                    --rmdirs   rmdirs removes empty directories but leaves root intact
850
851       See  the  global  flags page (https://rclone.org/flags/) for global op‐
852       tions not listed here.
853
854   SEE ALSO
855       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
856         commands, flags and backends.
857

rclone purge

859       Remove the path and all of its contents.
860
861   Synopsis
862       Remove  the path and all of its contents.  Note that this does not obey
863       include/exclude filters - everything will be removed.  Use  the  delete
864       command  if  you want to selectively delete files.  To delete empty di‐
865       rectories only, use command rmdir or rmdirs.
866
867       Important: Since  this  can  cause  data  loss,  test  first  with  the
868       --dry-run or the --interactive/-i flag.
869
870              rclone purge remote:path [flags]
871
872   Options
873                -h, --help   help for purge
874
875       See  the  global  flags page (https://rclone.org/flags/) for global op‐
876       tions not listed here.
877
878   SEE ALSO
879       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
880         commands, flags and backends.
881

rclone mkdir

883       Make the path if it doesn't already exist.
884
885              rclone mkdir remote:path [flags]
886
887   Options
888                -h, --help   help for mkdir
889
890       See  the  global  flags page (https://rclone.org/flags/) for global op‐
891       tions not listed here.
892
893   SEE ALSO
894       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
895         commands, flags and backends.
896

rclone rmdir

898       Remove the empty directory at path.
899
900   Synopsis
901       This  removes  empty directory given by path.  Will not remove the path
902       if it has any objects in it, not even empty subdirectories.   Use  com‐
903       mand rmdirs (or delete with option --rmdirs) to do that.
904
905       To delete a path and any objects in it, use purge command.
906
907              rclone rmdir remote:path [flags]
908
909   Options
910                -h, --help   help for rmdir
911
912       See  the  global  flags page (https://rclone.org/flags/) for global op‐
913       tions not listed here.
914
915   SEE ALSO
916       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
917         commands, flags and backends.
918

rclone check

920       Checks the files in the source and destination match.
921
922   Synopsis
923       Checks  the  files  in  the  source and destination match.  It compares
924       sizes and hashes (MD5 or SHA1) and logs a report of files  which  don't
925       match.  It doesn't alter the source or destination.
926
927       If  you supply the --size-only flag, it will only compare the sizes not
928       the hashes as well.  Use this for a quick check.
929
930       If you supply the --download flag, it will download the data from  both
931       remotes and check them against each other on the fly.  This can be use‐
932       ful for remotes that don't support hashes or  if  you  really  want  to
933       check all the data.
934
935       If  you supply the --one-way flag, it will only check that files in the
936       source match the files in the destination, not the  other  way  around.
937       This  means  that  extra  files  in the destination that are not in the
938       source will not be detected.
939
940       The --differ, --missing-on-dst, --missing-on-src, --match  and  --error
941       flags  write  paths, one per line, to the file name (or stdout if it is
942       -) supplied.  What they write is described in the help below.  For  ex‐
943       ample  --differ  will  write  all  paths  which are present on both the
944       source and destination but different.
945
946       The --combined flag will write a file (or stdout)  which  contains  all
947       file paths with a symbol and then a space and then the path to tell you
948       what happened to it.  These are reminiscent of diff files.
949
950       • = path means path was found in source and destination and was identi‐
951         cal
952
953       • -  path means path was missing on the source, so only in the destina‐
954         tion
955
956       • + path means path was missing on the  destination,  so  only  in  the
957         source
958
959       • *  path  means path was present in source and destination but differ‐
960         ent.
961
962       • ! path means there was an error reading  or  hashing  the  source  or
963         dest.
964
965         rclone check source:path dest:path [flags]
966
967   Options
968                    --combined string         Make a combined report of changes to this file
969                    --differ string           Report all non-matching files to this file
970                    --download                Check by downloading rather than with hash.
971                    --error string            Report all files with errors (hashing or reading) to this file
972                -h, --help                    help for check
973                    --match string            Report all matching files to this file
974                    --missing-on-dst string   Report all files missing from the destination to this file
975                    --missing-on-src string   Report all files missing from the source to this file
976                    --one-way                 Check one way only, source files must exist on remote
977
978       See  the  global  flags page (https://rclone.org/flags/) for global op‐
979       tions not listed here.
980
981   SEE ALSO
982       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
983         commands, flags and backends.
984

rclone ls

986       List the objects in the path with size and path.
987
988   Synopsis
989       Lists  the  objects  in  the  source path to standard output in a human
990       readable format with size and path.  Recurses by default.
991
992       Eg
993
994              $ rclone ls swift:bucket
995                  60295 bevajer5jef
996                  90613 canole
997                  94467 diwogej7
998                  37600 fubuwic
999
1000       Any of the filtering options can be applied to this command.
1001
1002       There are several related list commands
1003
1004       • ls to list size and path of objects only
1005
1006       • lsl to list modification time, size and path of objects only
1007
1008       • lsd to list directories only
1009
1010       • lsf to list objects and directories in easy to parse format
1011
1012       • lsjson to list objects and directories in JSON format
1013
1014       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
1015       human and machine readable.  lsjson is designed to be machine readable.
1016
1017       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1018       recursion.
1019
1020       The other list commands lsd,lsf,lsjson do not recurse by default -  use
1021       -R to make them recurse.
1022
1023       Listing  a  non existent directory will produce an error except for re‐
1024       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1025       bucket based remotes).
1026
1027              rclone ls remote:path [flags]
1028
1029   Options
1030                -h, --help   help for ls
1031
1032       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1033       tions not listed here.
1034
1035   SEE ALSO
1036       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1037         commands, flags and backends.
1038

rclone lsd

1040       List all directories/containers/buckets in the path.
1041
1042   Synopsis
1043       Lists  the directories in the source path to standard output.  Does not
1044       recurse by default.  Use the -R flag to recurse.
1045
1046       This command lists the total size of the directory  (if  known,  -1  if
1047       not),  the  modification  time (if known, the current time if not), the
1048       number of objects in the directory (if known, -1 if not) and  the  name
1049       of the directory, Eg
1050
1051              $ rclone lsd swift:
1052                    494000 2018-04-26 08:43:20     10000 10000files
1053                        65 2018-04-26 08:43:20         1 1File
1054
1055       Or
1056
1057              $ rclone lsd drive:test
1058                        -1 2016-10-17 17:41:53        -1 1000files
1059                        -1 2017-01-03 14:40:54        -1 2500files
1060                        -1 2017-07-08 14:39:28        -1 4000files
1061
1062       If you just want the directory names use "rclone lsf --dirs-only".
1063
1064       Any of the filtering options can be applied to this command.
1065
1066       There are several related list commands
1067
1068       • ls to list size and path of objects only
1069
1070       • lsl to list modification time, size and path of objects only
1071
1072       • lsd to list directories only
1073
1074       • lsf to list objects and directories in easy to parse format
1075
1076       • lsjson to list objects and directories in JSON format
1077
1078       ls,lsl,lsd  are  designed  to be human readable.  lsf is designed to be
1079       human and machine readable.  lsjson is designed to be machine readable.
1080
1081       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1082       recursion.
1083
1084       The  other list commands lsd,lsf,lsjson do not recurse by default - use
1085       -R to make them recurse.
1086
1087       Listing a non existent directory will produce an error except  for  re‐
1088       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1089       bucket based remotes).
1090
1091              rclone lsd remote:path [flags]
1092
1093   Options
1094                -h, --help        help for lsd
1095                -R, --recursive   Recurse into the listing.
1096
1097       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1098       tions not listed here.
1099
1100   SEE ALSO
1101       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1102         commands, flags and backends.
1103

rclone lsl

1105       List the objects in path with modification time, size and path.
1106
1107   Synopsis
1108       Lists the objects in the source path to  standard  output  in  a  human
1109       readable format with modification time, size and path.  Recurses by de‐
1110       fault.
1111
1112       Eg
1113
1114              $ rclone lsl swift:bucket
1115                  60295 2016-06-25 18:55:41.062626927 bevajer5jef
1116                  90613 2016-06-25 18:55:43.302607074 canole
1117                  94467 2016-06-25 18:55:43.046609333 diwogej7
1118                  37600 2016-06-25 18:55:40.814629136 fubuwic
1119
1120       Any of the filtering options can be applied to this command.
1121
1122       There are several related list commands
1123
1124       • ls to list size and path of objects only
1125
1126       • lsl to list modification time, size and path of objects only
1127
1128       • lsd to list directories only
1129
1130       • lsf to list objects and directories in easy to parse format
1131
1132       • lsjson to list objects and directories in JSON format
1133
1134       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
1135       human and machine readable.  lsjson is designed to be machine readable.
1136
1137       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1138       recursion.
1139
1140       The other list commands lsd,lsf,lsjson do not recurse by default -  use
1141       -R to make them recurse.
1142
1143       Listing  a  non existent directory will produce an error except for re‐
1144       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1145       bucket based remotes).
1146
1147              rclone lsl remote:path [flags]
1148
1149   Options
1150                -h, --help   help for lsl
1151
1152       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1153       tions not listed here.
1154
1155   SEE ALSO
1156       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1157         commands, flags and backends.
1158

rclone md5sum

1160       Produces an md5sum file for all the objects in the path.
1161
1162   Synopsis
1163       Produces  an  md5sum  file for all the objects in the path.  This is in
1164       the same format as the standard md5sum tool produces.
1165
1166       By default, the hash is requested from the remote.  If MD5 is not  sup‐
1167       ported  by  the  remote,  no  hash will be returned.  With the download
1168       flag, the file will be downloaded from the remote  and  hashed  locally
1169       enabling MD5 for any remote.
1170
1171              rclone md5sum remote:path [flags]
1172
1173   Options
1174                    --base64               Output base64 encoded hashsum
1175                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
1176                -h, --help                 help for md5sum
1177                    --output-file string   Output hashsums to a file rather than the terminal
1178
1179       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1180       tions not listed here.
1181
1182   SEE ALSO
1183       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1184         commands, flags and backends.
1185

rclone sha1sum

1187       Produces an sha1sum file for all the objects in the path.
1188
1189   Synopsis
1190       Produces  an  sha1sum file for all the objects in the path.  This is in
1191       the same format as the standard sha1sum tool produces.
1192
1193       By default, the hash is requested from the remote.   If  SHA-1  is  not
1194       supported  by  the remote, no hash will be returned.  With the download
1195       flag, the file will be downloaded from the remote  and  hashed  locally
1196       enabling SHA-1 for any remote.
1197
1198              rclone sha1sum remote:path [flags]
1199
1200   Options
1201                    --base64               Output base64 encoded hashsum
1202                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
1203                -h, --help                 help for sha1sum
1204                    --output-file string   Output hashsums to a file rather than the terminal
1205
1206       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1207       tions not listed here.
1208
1209   SEE ALSO
1210       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1211         commands, flags and backends.
1212

rclone size

1214       Prints the total size and number of objects in remote:path.
1215
1216              rclone size remote:path [flags]
1217
1218   Options
1219                -h, --help   help for size
1220                    --json   format output as JSON
1221
1222       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1223       tions not listed here.
1224
1225   SEE ALSO
1226       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1227         commands, flags and backends.
1228

rclone version

1230       Show the version number.
1231
1232   Synopsis
1233       Show the rclone version number, the go version, the build target OS and
1234       architecture, build tags and the type of executable (static  or  dynam‐
1235       ic).
1236
1237       For example:
1238
1239              $ rclone version
1240              rclone v1.54
1241              - os/type: linux
1242              - os/arch: amd64
1243              - go/version: go1.16
1244              - go/linking: static
1245              - go/tags: none
1246
1247       Note:  before  rclone  version  1.55 the os/type and os/arch lines were
1248       merged, and the "go/version" line was tagged as "go version".
1249
1250       If you supply the --check flag, then it will do an online check to com‐
1251       pare your version with the latest release and the latest beta.
1252
1253              $ rclone version --check
1254              yours:  1.42.0.6
1255              latest: 1.42          (released 2018-06-16)
1256              beta:   1.42.0.5      (released 2018-06-17)
1257
1258       Or
1259
1260              $ rclone version --check
1261              yours:  1.41
1262              latest: 1.42          (released 2018-06-16)
1263                upgrade: https://downloads.rclone.org/v1.42
1264              beta:   1.42.0.5      (released 2018-06-17)
1265                upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
1266
1267              rclone version [flags]
1268
1269   Options
1270                    --check   Check for new version.
1271                -h, --help    help for version
1272
1273       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1274       tions not listed here.
1275
1276   SEE ALSO
1277       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1278         commands, flags and backends.
1279

rclone cleanup

1281       Clean up the remote if possible.
1282
1283   Synopsis
1284       Clean  up  the  remote if possible.  Empty the trash or delete old file
1285       versions.  Not supported by all remotes.
1286
1287              rclone cleanup remote:path [flags]
1288
1289   Options
1290                -h, --help   help for cleanup
1291
1292       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1293       tions not listed here.
1294
1295   SEE ALSO
1296       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1297         commands, flags and backends.
1298

rclone dedupe

1300       Interactively find duplicate filenames and delete/rename them.
1301
1302   Synopsis
1303       By default dedupe interactively finds files with  duplicate  names  and
1304       offers  to  delete all but one or rename them to be different.  This is
1305       known as deduping by name.
1306
1307       Deduping by name is only useful with a small group  of  backends  (e.g.
1308       Google Drive, Opendrive) that can have duplicate file names.  It can be
1309       run on wrapping backends (e.g.  crypt) if they  wrap  a  backend  which
1310       supports duplicate file names.
1311
1312       However  if --by-hash is passed in then dedupe will find files with du‐
1313       plicate hashes instead which will work on any backend which supports at
1314       least one hash.  This can be used to find files with duplicate content.
1315       This is known as deduping by hash.
1316
1317       If deduping by name, first rclone will merge directories with the  same
1318       name.   It will do this iteratively until all the identically named di‐
1319       rectories have been merged.
1320
1321       Next, if deduping by name, for every group of duplicate  file  names  /
1322       hashes,  it  will  delete  all but one identical files it finds without
1323       confirmation.  This means that for most  duplicated  files  the  dedupe
1324       command will not be interactive.
1325
1326       dedupe  considers files to be identical if they have the same file path
1327       and the same hash.  If the backend does not support hashes (e.g.  crypt
1328       wrapping  Google  Drive) then they will never be found to be identical.
1329       If you use the --size-only flag then files will be considered identical
1330       if  they  have  the  same size (any hash will be ignored).  This can be
1331       useful on crypt backends which do not support hashes.
1332
1333       Next rclone will resolve the remaining duplicates.  Exactly  which  ac‐
1334       tion  is  taken depends on the dedupe mode.  By default rclone will in‐
1335       teractively query the user for each one.
1336
1337       Important: Since  this  can  cause  data  loss,  test  first  with  the
1338       --dry-run or the --interactive/-i flag.
1339
1340       Here is an example run.
1341
1342       Before - with duplicates
1343
1344              $ rclone lsl drive:dupes
1345                6048320 2016-03-05 16:23:16.798000000 one.txt
1346                6048320 2016-03-05 16:23:11.775000000 one.txt
1347                 564374 2016-03-05 16:23:06.731000000 one.txt
1348                6048320 2016-03-05 16:18:26.092000000 one.txt
1349                6048320 2016-03-05 16:22:46.185000000 two.txt
1350                1744073 2016-03-05 16:22:38.104000000 two.txt
1351                 564374 2016-03-05 16:22:52.118000000 two.txt
1352
1353       Now the dedupe session
1354
1355              $ rclone dedupe drive:dupes
1356              2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
1357              one.txt: Found 4 files with duplicate names
1358              one.txt: Deleting 2/3 identical duplicates (MD5 "1eedaa9fe86fd4b8632e2ac549403b36")
1359              one.txt: 2 duplicates remain
1360                1:      6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
1361                2:       564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
1362              s) Skip and do nothing
1363              k) Keep just one (choose which in next step)
1364              r) Rename all to be different (by changing file.jpg to file-1.jpg)
1365              s/k/r> k
1366              Enter the number of the file to keep> 1
1367              one.txt: Deleted 1 extra copies
1368              two.txt: Found 3 files with duplicate names
1369              two.txt: 3 duplicates remain
1370                1:       564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
1371                2:      6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
1372                3:      1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802
1373              s) Skip and do nothing
1374              k) Keep just one (choose which in next step)
1375              r) Rename all to be different (by changing file.jpg to file-1.jpg)
1376              s/k/r> r
1377              two-1.txt: renamed from: two.txt
1378              two-2.txt: renamed from: two.txt
1379              two-3.txt: renamed from: two.txt
1380
1381       The result being
1382
1383              $ rclone lsl drive:dupes
1384                6048320 2016-03-05 16:23:16.798000000 one.txt
1385                 564374 2016-03-05 16:22:52.118000000 two-1.txt
1386                6048320 2016-03-05 16:22:46.185000000 two-2.txt
1387                1744073 2016-03-05 16:22:38.104000000 two-3.txt
1388
1389       Dedupe  can be run non interactively using the --dedupe-mode flag or by
1390       using an extra parameter with the same value
1391
1392       • --dedupe-mode interactive - interactive as above.
1393
1394       • --dedupe-mode skip - removes  identical  files  then  skips  anything
1395         left.
1396
1397       • --dedupe-mode  first  -  removes identical files then keeps the first
1398         one.
1399
1400       • --dedupe-mode newest - removes identical files then keeps the  newest
1401         one.
1402
1403       • --dedupe-mode  oldest - removes identical files then keeps the oldest
1404         one.
1405
1406       • --dedupe-mode largest  -  removes  identical  files  then  keeps  the
1407         largest one.
1408
1409       • --dedupe-mode  smallest  -  removes  identical  files  then keeps the
1410         smallest one.
1411
1412       • --dedupe-mode rename - removes identical files then renames the  rest
1413         to be different.
1414
1415       • --dedupe-mode  list - lists duplicate dirs and files only and changes
1416         nothing.
1417
1418       For example to rename all the identically named photos in  your  Google
1419       Photos directory, do
1420
1421              rclone dedupe --dedupe-mode rename "drive:Google Photos"
1422
1423       Or
1424
1425              rclone dedupe rename "drive:Google Photos"
1426
1427              rclone dedupe [mode] remote:path [flags]
1428
1429   Options
1430                    --by-hash              Find indentical hashes rather than names
1431                    --dedupe-mode string   Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename. (default "interactive")
1432                -h, --help                 help for dedupe
1433
1434       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1435       tions not listed here.
1436
1437   SEE ALSO
1438       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1439         commands, flags and backends.
1440

rclone about

1442       Get quota information from the remote.
1443
1444   Synopsis
1445       rclone  about  prints quota information about a remote to standard out‐
1446       put.  The output is typically used, free, quota and trash contents.
1447
1448       E.g.  Typical output from rclone about remote: is:
1449
1450              Total:   17G
1451              Used:    7.444G
1452              Free:    1.315G
1453              Trashed: 100.000M
1454              Other:   8.241G
1455
1456       Where the fields are:
1457
1458       • Total: total size available.
1459
1460       • Used: total size used
1461
1462       • Free: total space available to this user.
1463
1464       • Trashed: total space used by trash
1465
1466       • Other: total amount in other storage (e.g.  Gmail, Google Photos)
1467
1468       • Objects: total number of objects in the storage
1469
1470       Not all backends print all fields.  Information is not included  if  it
1471       is not provided by a backend.  Where the value is unlimited it is omit‐
1472       ted.
1473
1474       Applying a --full flag to the command prints the bytes in full, e.g.
1475
1476              Total:   18253611008
1477              Used:    7993453766
1478              Free:    1411001220
1479              Trashed: 104857602
1480              Other:   8849156022
1481
1482       A --json flag generates conveniently computer readable output, e.g.
1483
1484              {
1485                  "total": 18253611008,
1486                  "used": 7993453766,
1487                  "trashed": 104857602,
1488                  "other": 8849156022,
1489                  "free": 1411001220
1490              }
1491
1492       Not all backends support the rclone about command.
1493
1494       See    List    of    backends    that    do    not    support     about
1495       (https://rclone.org/overview/#optional-features)
1496
1497              rclone about remote: [flags]
1498
1499   Options
1500                    --full   Full numbers instead of SI units
1501                -h, --help   help for about
1502                    --json   Format output as JSON
1503
1504       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1505       tions not listed here.
1506
1507   SEE ALSO
1508       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1509         commands, flags and backends.
1510

rclone authorize

1512       Remote authorization.
1513
1514   Synopsis
1515       Remote  authorization.   Used  to authorize a remote or headless rclone
1516       from a machine with a browser - use as instructed by rclone config.
1517
1518       Use the --auth-no-open-browser to prevent rclone to open auth  link  in
1519       default browser automatically.
1520
1521              rclone authorize [flags]
1522
1523   Options
1524                    --auth-no-open-browser   Do not automatically open auth link in default browser
1525                -h, --help                   help for authorize
1526
1527       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1528       tions not listed here.
1529
1530   SEE ALSO
1531       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1532         commands, flags and backends.
1533

rclone backend

1535       Run a backend specific command.
1536
1537   Synopsis
1538       This  runs a backend specific command.  The commands themselves (except
1539       for "help" and "features") are defined by the backends and  you  should
1540       see the backend docs for definitions.
1541
1542       You can discover what commands a backend implements by using
1543
1544              rclone backend help remote:
1545              rclone backend help <backendname>
1546
1547       You  can  also discover information about the backend using (see opera‐
1548       tions/fsinfo (https://rclone.org/rc/#operations/fsinfo) in  the  remote
1549       control docs for more info).
1550
1551              rclone backend features remote:
1552
1553       Pass  options to the backend command with -o.  This should be key=value
1554       or key, e.g.:
1555
1556              rclone backend stats remote:path stats -o format=json -o long
1557
1558       Pass arguments to the backend by placing them on the end of the line
1559
1560              rclone backend cleanup remote:path file1 file2 file3
1561
1562       Note to run these commands on a running backend then  see  backend/com‐
1563       mand (https://rclone.org/rc/#backend/command) in the rc docs.
1564
1565              rclone backend <command> remote:path [opts] <args> [flags]
1566
1567   Options
1568                -h, --help                 help for backend
1569                    --json                 Always output in JSON format.
1570                -o, --option stringArray   Option in the form name=value or name.
1571
1572       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1573       tions not listed here.
1574
1575   SEE ALSO
1576       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1577         commands, flags and backends.
1578

rclone cat

1580       Concatenates any files and sends them to stdout.
1581
1582   Synopsis
1583       rclone cat sends any files to standard output.
1584
1585       You can use it like this to output a single file
1586
1587              rclone cat remote:path/to/file
1588
1589       Or like this to output any file in dir or its subdirectories.
1590
1591              rclone cat remote:path/to/dir
1592
1593       Or like this to output any .txt files in dir or its subdirectories.
1594
1595              rclone --include "*.txt" cat remote:path/to/dir
1596
1597       Use  the  --head flag to print characters only at the start, --tail for
1598       the end and --offset and --count to print  a  section  in  the  middle.
1599       Note that if offset is negative it will count from the end, so --offset
1600       -1 --count 1 is equivalent to --tail 1.
1601
1602              rclone cat remote:path [flags]
1603
1604   Options
1605                    --count int    Only print N characters. (default -1)
1606                    --discard      Discard the output instead of printing.
1607                    --head int     Only print the first N characters.
1608                -h, --help         help for cat
1609                    --offset int   Start printing at offset N (or from end if -ve).
1610                    --tail int     Only print the last N characters.
1611
1612       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1613       tions not listed here.
1614
1615   SEE ALSO
1616       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1617         commands, flags and backends.
1618

rclone config create

1620       Create a new remote with name, type and options.
1621
1622   Synopsis
1623       Create a new remote of name with type and options.  The options  should
1624       be passed in pairs of key value.
1625
1626       For  example  to make a swift remote of name myremote using auto config
1627       you would do:
1628
1629              rclone config create myremote swift env_auth true
1630
1631       Note that if the config process would normally ask a question  the  de‐
1632       fault  is  taken.   Each  time that happens rclone will print a message
1633       saying how to affect the value taken.
1634
1635       If any of the parameters passed is a password field, then  rclone  will
1636       automatically  obscure  them  if  they  aren't  already obscured before
1637       putting them in the config file.
1638
1639       NB If the password parameter is 22 characters or  longer  and  consists
1640       only  of  base64  characters then rclone can get confused about whether
1641       the password is already obscured or not and  put  unobscured  passwords
1642       into  the  config  file.  If you want to be 100% certain that the pass‐
1643       words get obscured then use the "--obscure" flag, or if  you  are  100%
1644       certain  you  are already passing obscured passwords then use "--no-ob‐
1645       scure".  You can also set obscured passwords using the  "rclone  config
1646       password" command.
1647
1648       So for example if you wanted to configure a Google Drive remote but us‐
1649       ing remote authorization you would do this:
1650
1651              rclone config create mydrive drive config_is_local false
1652
1653              rclone config create `name` `type` [`key` `value`]* [flags]
1654
1655   Options
1656                -h, --help         help for create
1657                    --no-obscure   Force any passwords not to be obscured.
1658                    --obscure      Force any passwords to be obscured.
1659
1660       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1661       tions not listed here.
1662
1663   SEE ALSO
1664       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1665         interactive configuration session.
1666

rclone config delete

1668       Delete an existing remote name.
1669
1670              rclone config delete `name` [flags]
1671
1672   Options
1673                -h, --help   help for delete
1674
1675       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1676       tions not listed here.
1677
1678   SEE ALSO
1679       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1680         interactive configuration session.
1681

rclone config disconnect

1683       Disconnects user from remote
1684
1685   Synopsis
1686       This disconnects the remote: passed in to the cloud storage system.
1687
1688       This normally means revoking the oauth token.
1689
1690       To reconnect use "rclone config reconnect".
1691
1692              rclone config disconnect remote: [flags]
1693
1694   Options
1695                -h, --help   help for disconnect
1696
1697       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1698       tions not listed here.
1699
1700   SEE ALSO
1701       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1702         interactive configuration session.
1703

rclone config dump

1705       Dump the config file as JSON.
1706
1707              rclone config dump [flags]
1708
1709   Options
1710                -h, --help   help for dump
1711
1712       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1713       tions not listed here.
1714
1715   SEE ALSO
1716       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1717         interactive configuration session.
1718

rclone config edit

1720       Enter an interactive configuration session.
1721
1722   Synopsis
1723       Enter an interactive configuration session where you can setup new  re‐
1724       motes  and manage existing ones.  You may also set or remove a password
1725       to protect your configuration.
1726
1727              rclone config edit [flags]
1728
1729   Options
1730                -h, --help   help for edit
1731
1732       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1733       tions not listed here.
1734
1735   SEE ALSO
1736       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1737         interactive configuration session.
1738

rclone config file

1740       Show path of configuration file in use.
1741
1742              rclone config file [flags]
1743
1744   Options
1745                -h, --help   help for file
1746
1747       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1748       tions not listed here.
1749
1750   SEE ALSO
1751       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1752         interactive configuration session.
1753

rclone config password

1755       Update password in an existing remote.
1756
1757   Synopsis
1758       Update an existing remote's password.  The password should be passed in
1759       pairs of key value.
1760
1761       For example to set password of a remote of name myremote you would do:
1762
1763              rclone config password myremote fieldname mypassword
1764
1765       This  command  is obsolete now that "config update" and "config create"
1766       both support obscuring passwords directly.
1767
1768              rclone config password `name` [`key` `value`]+ [flags]
1769
1770   Options
1771                -h, --help   help for password
1772
1773       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1774       tions not listed here.
1775
1776   SEE ALSO
1777       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1778         interactive configuration session.
1779

rclone config providers

1781       List in JSON format all the providers and options.
1782
1783              rclone config providers [flags]
1784
1785   Options
1786                -h, --help   help for providers
1787
1788       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1789       tions not listed here.
1790
1791   SEE ALSO
1792       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1793         interactive configuration session.
1794

rclone config reconnect

1796       Re-authenticates user with remote.
1797
1798   Synopsis
1799       This reconnects remote: passed in to the cloud storage system.
1800
1801       To disconnect the remote use "rclone config disconnect".
1802
1803       This normally means going through the interactive oauth flow again.
1804
1805              rclone config reconnect remote: [flags]
1806
1807   Options
1808                -h, --help   help for reconnect
1809
1810       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1811       tions not listed here.
1812
1813   SEE ALSO
1814       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1815         interactive configuration session.
1816

rclone config show

1818       Print (decrypted) config file, or the config for a single remote.
1819
1820              rclone config show [<remote>] [flags]
1821
1822   Options
1823                -h, --help   help for show
1824
1825       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1826       tions not listed here.
1827
1828   SEE ALSO
1829       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1830         interactive configuration session.
1831

rclone config update

1833       Update options in an existing remote.
1834
1835   Synopsis
1836       Update an existing remote's options.  The options should be  passed  in
1837       in pairs of key value.
1838
1839       For  example  to update the env_auth field of a remote of name myremote
1840       you would do:
1841
1842              rclone config update myremote swift env_auth true
1843
1844       If any of the parameters passed is a password field, then  rclone  will
1845       automatically  obscure  them  if  they  aren't  already obscured before
1846       putting them in the config file.
1847
1848       NB If the password parameter is 22 characters or  longer  and  consists
1849       only  of  base64  characters then rclone can get confused about whether
1850       the password is already obscured or not and  put  unobscured  passwords
1851       into  the  config  file.  If you want to be 100% certain that the pass‐
1852       words get obscured then use the "--obscure" flag, or if  you  are  100%
1853       certain  you  are already passing obscured passwords then use "--no-ob‐
1854       scure".  You can also set obscured passwords using the  "rclone  config
1855       password" command.
1856
1857       If  the  remote  uses OAuth the token will be updated, if you don't re‐
1858       quire this add an extra parameter thus:
1859
1860              rclone config update myremote swift env_auth true config_refresh_token false
1861
1862              rclone config update `name` [`key` `value`]+ [flags]
1863
1864   Options
1865                -h, --help         help for update
1866                    --no-obscure   Force any passwords not to be obscured.
1867                    --obscure      Force any passwords to be obscured.
1868
1869       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1870       tions not listed here.
1871
1872   SEE ALSO
1873       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1874         interactive configuration session.
1875

rclone config userinfo

1877       Prints info about logged in user of remote.
1878
1879   Synopsis
1880       This prints the details of the person logged in to  the  cloud  storage
1881       system.
1882
1883              rclone config userinfo remote: [flags]
1884
1885   Options
1886                -h, --help   help for userinfo
1887                    --json   Format output as JSON
1888
1889       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1890       tions not listed here.
1891
1892   SEE ALSO
1893       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1894         interactive configuration session.
1895

rclone copyto

1897       Copy files from source to dest, skipping already copied.
1898
1899   Synopsis
1900       If  source:path  is  a file or directory then it copies it to a file or
1901       directory named dest:path.
1902
1903       This can be used to upload single files to  other  than  their  current
1904       name.   If the source is a directory then it acts exactly like the copy
1905       command.
1906
1907       So
1908
1909              rclone copyto src dst
1910
1911       where src and dst are rclone paths, either remote:path or  /path/to/lo‐
1912       cal or C:.
1913
1914       This will:
1915
1916              if src is file
1917                  copy it to dst, overwriting an existing file if it exists
1918              if src is directory
1919                  copy it to dst, overwriting existing files if they exist
1920                  see copy command for full details
1921
1922       This doesn't transfer unchanged files, testing by size and modification
1923       time or MD5SUM.  It doesn't delete files from the destination.
1924
1925       Note: Use the -P/--progress flag to view real-time transfer statistics
1926
1927              rclone copyto source:path dest:path [flags]
1928
1929   Options
1930                -h, --help   help for copyto
1931
1932       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1933       tions not listed here.
1934
1935   SEE ALSO
1936       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1937         commands, flags and backends.
1938

rclone copyurl

1940       Copy url content to dest.
1941
1942   Synopsis
1943       Download a URL's content and copy it to the destination without  saving
1944       it in temporary storage.
1945
1946       Setting  --auto-filename  will cause the file name to be retrieved from
1947       the from URL (after any redirections) and used in the destination path.
1948       With  --print-filename  in  addition,  the  resuling  file name will be
1949       printed.
1950
1951       Setting --no-clobber will prevent overwriting file on  the  destination
1952       if there is one with the same name.
1953
1954       Setting --stdout or making the output file name - will cause the output
1955       to be written to standard output.
1956
1957              rclone copyurl https://example.com dest:path [flags]
1958
1959   Options
1960                -a, --auto-filename    Get the file name from the URL and use it for destination file path
1961                -h, --help             help for copyurl
1962                    --no-clobber       Prevent overwriting file with same name
1963                -p, --print-filename   Print the resulting name from --auto-filename
1964                    --stdout           Write the output to stdout rather than a file
1965
1966       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1967       tions not listed here.
1968
1969   SEE ALSO
1970       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1971         commands, flags and backends.
1972

rclone cryptcheck

1974       Cryptcheck checks the integrity of a crypted remote.
1975
1976   Synopsis
1977       rclone cryptcheck checks a remote against a crypted  remote.   This  is
1978       the equivalent of running rclone check, but able to check the checksums
1979       of the crypted remote.
1980
1981       For it to work the underlying remote of the cryptedremote must  support
1982       some kind of checksum.
1983
1984       It  works by reading the nonce from each file on the cryptedremote: and
1985       using that to encrypt each file on the remote:.   It  then  checks  the
1986       checksum  of  the  underlying  file  on  the cryptedremote: against the
1987       checksum of the file it has just encrypted.
1988
1989       Use it like this
1990
1991              rclone cryptcheck /path/to/files encryptedremote:path
1992
1993       You can use it like this also, but that will  involve  downloading  all
1994       the files in remote:path.
1995
1996              rclone cryptcheck remote:path encryptedremote:path
1997
1998       After it has run it will log the status of the encryptedremote:.
1999
2000       If  you supply the --one-way flag, it will only check that files in the
2001       source match the files in the destination, not the  other  way  around.
2002       This  means  that  extra  files  in the destination that are not in the
2003       source will not be detected.
2004
2005       The --differ, --missing-on-dst, --missing-on-src, --match  and  --error
2006       flags  write  paths, one per line, to the file name (or stdout if it is
2007       -) supplied.  What they write is described in the help below.  For  ex‐
2008       ample  --differ  will  write  all  paths  which are present on both the
2009       source and destination but different.
2010
2011       The --combined flag will write a file (or stdout)  which  contains  all
2012       file paths with a symbol and then a space and then the path to tell you
2013       what happened to it.  These are reminiscent of diff files.
2014
2015       • = path means path was found in source and destination and was identi‐
2016         cal
2017
2018       • -  path means path was missing on the source, so only in the destina‐
2019         tion
2020
2021       • + path means path was missing on the  destination,  so  only  in  the
2022         source
2023
2024       • *  path  means path was present in source and destination but differ‐
2025         ent.
2026
2027       • ! path means there was an error reading  or  hashing  the  source  or
2028         dest.
2029
2030         rclone cryptcheck remote:path cryptedremote:path [flags]
2031
2032   Options
2033                    --combined string         Make a combined report of changes to this file
2034                    --differ string           Report all non-matching files to this file
2035                    --error string            Report all files with errors (hashing or reading) to this file
2036                -h, --help                    help for cryptcheck
2037                    --match string            Report all matching files to this file
2038                    --missing-on-dst string   Report all files missing from the destination to this file
2039                    --missing-on-src string   Report all files missing from the source to this file
2040                    --one-way                 Check one way only, source files must exist on remote
2041
2042       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2043       tions not listed here.
2044
2045   SEE ALSO
2046       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2047         commands, flags and backends.
2048

rclone cryptdecode

2050       Cryptdecode returns unencrypted file names.
2051
2052   Synopsis
2053       rclone  cryptdecode returns unencrypted file names when provided with a
2054       list of encrypted file names.  List limit is 10 items.
2055
2056       If you supply the --reverse flag, it will return encrypted file names.
2057
2058       use it like this
2059
2060              rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
2061
2062              rclone cryptdecode --reverse encryptedremote: filename1 filename2
2063
2064       Another way to accomplish this is by using the  rclone  backend  encode
2065       (or  decode)command.   See  the  documentation on the crypt overlay for
2066       more info.
2067
2068              rclone cryptdecode encryptedremote: encryptedfilename [flags]
2069
2070   Options
2071                -h, --help      help for cryptdecode
2072                    --reverse   Reverse cryptdecode, encrypts filenames
2073
2074       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2075       tions not listed here.
2076
2077   SEE ALSO
2078       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2079         commands, flags and backends.
2080

rclone deletefile

2082       Remove a single file from remote.
2083
2084   Synopsis
2085       Remove a single file from remote.  Unlike delete it cannot be  used  to
2086       remove a directory and it doesn't obey include/exclude filters - if the
2087       specified file exists, it will always be removed.
2088
2089              rclone deletefile remote:path [flags]
2090
2091   Options
2092                -h, --help   help for deletefile
2093
2094       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2095       tions not listed here.
2096
2097   SEE ALSO
2098       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2099         commands, flags and backends.
2100

rclone genautocomplete

2102       Output completion script for a given shell.
2103
2104   Synopsis
2105       Generates a shell completion script for rclone.   Run  with  --help  to
2106       list the supported shells.
2107
2108   Options
2109                -h, --help   help for genautocomplete
2110
2111       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2112       tions not listed here.
2113
2114   SEE ALSO
2115       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2116         commands, flags and backends.
2117
2118       • rclone  genautocomplete  bash (https://rclone.org/commands/rclone_ge
2119         nautocomplete_bash/) - Output bash completion script for rclone.
2120
2121       • rclone genautocomplete  fish  (https://rclone.org/commands/rclone_ge
2122         nautocomplete_fish/) - Output fish completion script for rclone.
2123
2124       • rclone genautocomplete zsh (https://rclone.org/commands/rclone_genau
2125         tocomplete_zsh/) - Output zsh completion script for rclone.
2126

rclone genautocomplete bash

2128       Output bash completion script for rclone.
2129
2130   Synopsis
2131       Generates a bash shell autocompletion script for rclone.
2132
2133       This writes to /etc/bash_completion.d/rclone by default so will  proba‐
2134       bly need to be run with sudo or as root, e.g.
2135
2136              sudo rclone genautocomplete bash
2137
2138       Logout  and  login  again  to use the autocompletion scripts, or source
2139       them directly
2140
2141              . /etc/bash_completion
2142
2143       If you supply a command line argument the script will be written there.
2144
2145       If output_file is "-", then the output will be written to stdout.
2146
2147              rclone genautocomplete bash [output_file] [flags]
2148
2149   Options
2150                -h, --help   help for bash
2151
2152       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2153       tions not listed here.
2154
2155   SEE ALSO
2156       • rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2157         complete/) - Output completion script for a given shell.
2158

rclone genautocomplete fish

2160       Output fish completion script for rclone.
2161
2162   Synopsis
2163       Generates a fish autocompletion script for rclone.
2164
2165       This writes to /etc/fish/completions/rclone.fish  by  default  so  will
2166       probably need to be run with sudo or as root, e.g.
2167
2168              sudo rclone genautocomplete fish
2169
2170       Logout  and  login  again  to use the autocompletion scripts, or source
2171       them directly
2172
2173              . /etc/fish/completions/rclone.fish
2174
2175       If you supply a command line argument the script will be written there.
2176
2177       If output_file is "-", then the output will be written to stdout.
2178
2179              rclone genautocomplete fish [output_file] [flags]
2180
2181   Options
2182                -h, --help   help for fish
2183
2184       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2185       tions not listed here.
2186
2187   SEE ALSO
2188       • rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2189         complete/) - Output completion script for a given shell.
2190

rclone genautocomplete zsh

2192       Output zsh completion script for rclone.
2193
2194   Synopsis
2195       Generates a zsh autocompletion script for rclone.
2196
2197       This writes to /usr/share/zsh/vendor-completions/_rclone by default  so
2198       will probably need to be run with sudo or as root, e.g.
2199
2200              sudo rclone genautocomplete zsh
2201
2202       Logout  and  login  again  to use the autocompletion scripts, or source
2203       them directly
2204
2205              autoload -U compinit && compinit
2206
2207       If you supply a command line argument the script will be written there.
2208
2209       If output_file is "-", then the output will be written to stdout.
2210
2211              rclone genautocomplete zsh [output_file] [flags]
2212
2213   Options
2214                -h, --help   help for zsh
2215
2216       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2217       tions not listed here.
2218
2219   SEE ALSO
2220       • rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2221         complete/) - Output completion script for a given shell.
2222

rclone gendocs

2224       Output markdown docs for rclone to the directory supplied.
2225
2226   Synopsis
2227       This produces markdown docs for the rclone commands  to  the  directory
2228       supplied.   These  are in a format suitable for hugo to render into the
2229       rclone.org website.
2230
2231              rclone gendocs output_directory [flags]
2232
2233   Options
2234                -h, --help   help for gendocs
2235
2236       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2237       tions not listed here.
2238
2239   SEE ALSO
2240       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2241         commands, flags and backends.
2242

rclone hashsum

2244       Produces a hashsum file for all the objects in the path.
2245
2246   Synopsis
2247       Produces a hash file for all the objects in the  path  using  the  hash
2248       named.  The output is in the same format as the standard md5sum/sha1sum
2249       tool.
2250
2251       By default, the hash is requested from the remote.  If the hash is  not
2252       supported  by  the remote, no hash will be returned.  With the download
2253       flag, the file will be downloaded from the remote  and  hashed  locally
2254       enabling any hash for any remote.
2255
2256       Run without a hash to see the list of all supported hashes, e.g.
2257
2258              $ rclone hashsum
2259              Supported hashes are:
2260                * MD5
2261                * SHA-1
2262                * DropboxHash
2263                * QuickXorHash
2264
2265       Then
2266
2267              $ rclone hashsum MD5 remote:path
2268
2269              rclone hashsum <hash> remote:path [flags]
2270
2271   Options
2272                    --base64               Output base64 encoded hashsum
2273                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
2274                -h, --help                 help for hashsum
2275                    --output-file string   Output hashsums to a file rather than the terminal
2276
2277       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2278       tions not listed here.
2279
2280   SEE ALSO
2281       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2282         commands, flags and backends.
2283
2285       Generate public link to file/folder.
2286
2287   Synopsis
2288       rclone  link will create, retrieve or remove a public link to the given
2289       file or folder.
2290
2291              rclone link remote:path/to/file
2292              rclone link remote:path/to/folder/
2293              rclone link --unlink remote:path/to/folder/
2294              rclone link --expire 1d remote:path/to/file
2295
2296       If you supply the --expire flag, it will set the expiration time other‐
2297       wise  it  will use the default (100 years).  Note not all backends sup‐
2298       port the --expire flag - if the backend doesn't  support  it  then  the
2299       link returned won't expire.
2300
2301       Use  the  --unlink  flag to remove existing public links to the file or
2302       folder.  Note not all backends support "--unlink"  flag  -  those  that
2303       don't will just ignore it.
2304
2305       If  successful, the last line of the output will contain the link.  Ex‐
2306       act capabilities depend on the remote, but the link will always by  de‐
2307       fault be created with the least constraints – e.g.  no expiry, no pass‐
2308       word protection, accessible without account.
2309
2310              rclone link remote:path [flags]
2311
2312   Options
2313                    --expire Duration   The amount of time that the link will be valid (default 100y)
2314                -h, --help              help for link
2315                    --unlink            Remove existing public link to file/folder
2316
2317       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2318       tions not listed here.
2319
2320   SEE ALSO
2321       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2322         commands, flags and backends.
2323

rclone listremotes

2325       List all the remotes in the config file.
2326
2327   Synopsis
2328       rclone listremotes lists all the  available  remotes  from  the  config
2329       file.
2330
2331       When uses with the -l flag it lists the types too.
2332
2333              rclone listremotes [flags]
2334
2335   Options
2336                -h, --help   help for listremotes
2337                    --long   Show the type as well as names.
2338
2339       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2340       tions not listed here.
2341
2342   SEE ALSO
2343       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2344         commands, flags and backends.
2345

rclone lsf

2347       List directories and objects in remote:path formatted for parsing.
2348
2349   Synopsis
2350       List the contents of the source path (directories and objects) to stan‐
2351       dard output in a form which is easy to parse by  scripts.   By  default
2352       this  will  just  be  the names of the objects and directories, one per
2353       line.  The directories will have a / suffix.
2354
2355       Eg
2356
2357              $ rclone lsf swift:bucket
2358              bevajer5jef
2359              canole
2360              diwogej7
2361              ferejej3gux/
2362              fubuwic
2363
2364       Use the --format option to control what gets listed.  By  default  this
2365       is  just the path, but you can use these parameters to control the out‐
2366       put:
2367
2368              p - path
2369              s - size
2370              t - modification time
2371              h - hash
2372              i - ID of object
2373              o - Original ID of underlying object
2374              m - MimeType of object if known
2375              e - encrypted name
2376              T - tier of storage if known, e.g. "Hot" or "Cool"
2377
2378       So if you wanted the path, size and modification time,  you  would  use
2379       --format "pst", or maybe --format "tsp" to put the path last.
2380
2381       Eg
2382
2383              $ rclone lsf  --format "tsp" swift:bucket
2384              2016-06-25 18:55:41;60295;bevajer5jef
2385              2016-06-25 18:55:43;90613;canole
2386              2016-06-25 18:55:43;94467;diwogej7
2387              2018-04-26 08:50:45;0;ferejej3gux/
2388              2016-06-25 18:55:40;37600;fubuwic
2389
2390       If  you specify "h" in the format you will get the MD5 hash by default,
2391       use the "--hash" flag to change which hash you want.   Note  that  this
2392       can  be returned as an empty string if it isn't available on the object
2393       (and for directories), "ERROR" if there was an error  reading  it  from
2394       the  object and "UNSUPPORTED" if that object does not support that hash
2395       type.
2396
2397       For example to emulate the md5sum command you can use
2398
2399              rclone lsf -R --hash MD5 --format hp --separator "  " --files-only .
2400
2401       Eg
2402
2403              $ rclone lsf -R --hash MD5 --format hp --separator "  " --files-only swift:bucket
2404              7908e352297f0f530b84a756f188baa3  bevajer5jef
2405              cd65ac234e6fea5925974a51cdd865cc  canole
2406              03b5341b4f234b9d984d03ad076bae91  diwogej7
2407              8fd37c3810dd660778137ac3a66cc06d  fubuwic
2408              99713e14a4c4ff553acaf1930fad985b  gixacuh7ku
2409
2410       (Though "rclone md5sum ." is an easier way of typing this.)
2411
2412       By default the separator is ";" this can be changed with the  --separa‐
2413       tor  flag.   Note that separators aren't escaped in the path so putting
2414       it last is a good strategy.
2415
2416       Eg
2417
2418              $ rclone lsf  --separator "," --format "tshp" swift:bucket
2419              2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
2420              2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
2421              2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
2422              2018-04-26 08:52:53,0,,ferejej3gux/
2423              2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
2424
2425       You can output in CSV standard format.  This will escape things in " if
2426       they contain ,
2427
2428       Eg
2429
2430              $ rclone lsf --csv --files-only --format ps remote:path
2431              test.log,22355
2432              test.sh,449
2433              "this file contains a comma, in the file name.txt",6
2434
2435       Note  that the --absolute parameter is useful for making lists of files
2436       to pass to an rclone copy with the --files-from-raw flag.
2437
2438       For example to find all the files modified  within  one  day  and  copy
2439       those only (without traversing the whole directory structure):
2440
2441              rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
2442              rclone copy --files-from-raw new_files /path/to/local remote:path
2443
2444       Any of the filtering options can be applied to this command.
2445
2446       There are several related list commands
2447
2448       • ls to list size and path of objects only
2449
2450       • lsl to list modification time, size and path of objects only
2451
2452       • lsd to list directories only
2453
2454       • lsf to list objects and directories in easy to parse format
2455
2456       • lsjson to list objects and directories in JSON format
2457
2458       ls,lsl,lsd  are  designed  to be human readable.  lsf is designed to be
2459       human and machine readable.  lsjson is designed to be machine readable.
2460
2461       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
2462       recursion.
2463
2464       The  other list commands lsd,lsf,lsjson do not recurse by default - use
2465       -R to make them recurse.
2466
2467       Listing a non existent directory will produce an error except  for  re‐
2468       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
2469       bucket based remotes).
2470
2471              rclone lsf remote:path [flags]
2472
2473   Options
2474                    --absolute           Put a leading / in front of path names.
2475                    --csv                Output in CSV format.
2476                -d, --dir-slash          Append a slash to directory names. (default true)
2477                    --dirs-only          Only list directories.
2478                    --files-only         Only list files.
2479                -F, --format string      Output format - see  help for details (default "p")
2480                    --hash h             Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default "MD5")
2481                -h, --help               help for lsf
2482                -R, --recursive          Recurse into the listing.
2483                -s, --separator string   Separator for the items in the format. (default ";")
2484
2485       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2486       tions not listed here.
2487
2488   SEE ALSO
2489       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2490         commands, flags and backends.
2491

rclone lsjson

2493       List directories and objects in the path in JSON format.
2494
2495   Synopsis
2496       List directories and objects in the path in JSON format.
2497
2498       The output is an array of Items, where each Item looks like this
2499
2500       { "Hashes" : {  "SHA-1"  :  "f572d396fae9206628714fb2ce00f72e94f2258f",
2501       "MD5"    :    "b1946ac92492d2347c6235b4d2611184",    "DropboxHash"    :
2502       "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"   },
2503       "ID":  "y2djkhiujf83u33",  "OrigID":  "UYOJVTUW00Q1RzTDA", "IsBucket" :
2504       false, "IsDir" : false, "MimeType" : "application/octet-stream",  "Mod‐
2505       Time"  :  "2017-05-31T16:15:57.034468261+01:00",  "Name"  : "file.txt",
2506       "Encrypted"   :   "v0qpsdq8anpci8n929v3uu9338",    "EncryptedPath"    :
2507       "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",         "Path"         :
2508       "full/path/goes/here/file.txt", "Size" : 6, "Tier" : "hot", }
2509
2510       If --hash is not specified the Hashes property won't be  emitted.   The
2511       types  of  hash  can be specified with the --hash-type parameter (which
2512       may be repeated).  If --hash-type is set then it implies --hash.
2513
2514       If --no-modtime is specified then ModTime  will  be  blank.   This  can
2515       speed things up on remotes where reading the ModTime takes an extra re‐
2516       quest (e.g.  s3, swift).
2517
2518       If --no-mimetype is specified then MimeType will be  blank.   This  can
2519       speed  things  up  on remotes where reading the MimeType takes an extra
2520       request (e.g.  s3, swift).
2521
2522       If --encrypted is not specified the Encrypted won't be emitted.
2523
2524       If --dirs-only is not specified files in addition  to  directories  are
2525       returned
2526
2527       If  --files-only  is not specified directories in addition to the files
2528       will be returned.
2529
2530       The Path field will only show folders below the remote path being list‐
2531       ed.   If "remote:path" contains the file "subfolder/file.txt", the Path
2532       for "file.txt" will be "subfolder/file.txt", not  "remote:path/subfold‐
2533       er/file.txt".   When  used  without --recursive the Path will always be
2534       the same as Name.
2535
2536       If the directory is a bucket in a bucket based backend, then "IsBucket"
2537       will be set to true.  This key won't be present unless it is "true".
2538
2539       The  time  is  in  RFC3339 format with up to nanosecond precision.  The
2540       number of decimal digits in the seconds will depend  on  the  precision
2541       that  the  remote  can  hold the times, so if times are accurate to the
2542       nearest millisecond (e.g.  Google Drive) then 3 digits will  always  be
2543       shown  ("2017-05-31T16:15:57.034+01:00") whereas if the times are accu‐
2544       rate to the nearest second (Dropbox, Box, WebDav, etc.) no digits  will
2545       be shown ("2017-05-31T16:15:57+01:00").
2546
2547       The  whole  output can be processed as a JSON blob, or alternatively it
2548       can be processed line by line as each item is written one to a line.
2549
2550       Any of the filtering options can be applied to this command.
2551
2552       There are several related list commands
2553
2554       • ls to list size and path of objects only
2555
2556       • lsl to list modification time, size and path of objects only
2557
2558       • lsd to list directories only
2559
2560       • lsf to list objects and directories in easy to parse format
2561
2562       • lsjson to list objects and directories in JSON format
2563
2564       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
2565       human and machine readable.  lsjson is designed to be machine readable.
2566
2567       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
2568       recursion.
2569
2570       The other list commands lsd,lsf,lsjson do not recurse by default -  use
2571       -R to make them recurse.
2572
2573       Listing  a  non existent directory will produce an error except for re‐
2574       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
2575       bucket based remotes).
2576
2577              rclone lsjson remote:path [flags]
2578
2579   Options
2580                    --dirs-only               Show only directories in the listing.
2581                -M, --encrypted               Show the encrypted names.
2582                    --files-only              Show only files in the listing.
2583                    --hash                    Include hashes in the output (may take longer).
2584                    --hash-type stringArray   Show only this hash type (may be repeated).
2585                -h, --help                    help for lsjson
2586                    --no-mimetype             Don't read the mime type (can speed things up).
2587                    --no-modtime              Don't read the modification time (can speed things up).
2588                    --original                Show the ID of the underlying Object.
2589                -R, --recursive               Recurse into the listing.
2590
2591       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2592       tions not listed here.
2593
2594   SEE ALSO
2595       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2596         commands, flags and backends.
2597

rclone mount

2599       Mount the remote as file system on a mountpoint.
2600
2601   Synopsis
2602       rclone  mount  allows Linux, FreeBSD, macOS and Windows to mount any of
2603       Rclone's cloud storage systems as a file system with FUSE.
2604
2605       First set up your remote using rclone  config.   Check  it  works  with
2606       rclone ls etc.
2607
2608       On  Linux and OSX, you can either run mount in foreground mode or back‐
2609       ground (daemon) mode.  Mount runs in foreground mode  by  default,  use
2610       the  --daemon  flag to specify background mode.  You can only run mount
2611       in foreground mode on Windows.
2612
2613       On Linux/macOS/FreeBSD start the mount like  this,  where  /path/to/lo‐
2614       cal/mount is an empty existing directory:
2615
2616              rclone mount remote:path/to/files /path/to/local/mount
2617
2618       On  Windows you can start a mount in different ways.  See below for de‐
2619       tails.  The following examples will mount to an automatically  assigned
2620       drive, to specific drive letter X:, to path C:\path\parent\mount (where
2621       parent directory or drive must exist, and mount must not exist, and  is
2622       not  supported  when mounting as a network drive), and the last example
2623       will mount as network share \\cloud\remote and map it to  an  automati‐
2624       cally assigned drive:
2625
2626              rclone mount remote:path/to/files *
2627              rclone mount remote:path/to/files X:
2628              rclone mount remote:path/to/files C:\path\parent\mount
2629              rclone mount remote:path/to/files \\cloud\remote
2630
2631       When  the  program  ends while in foreground mode, either via Ctrl+C or
2632       receiving a SIGINT or SIGTERM signal, the mount should be automatically
2633       stopped.
2634
2635       When  running  in  background mode the user will have to stop the mount
2636       manually:
2637
2638              # Linux
2639              fusermount -u /path/to/local/mount
2640              # OS X
2641              umount /path/to/local/mount
2642
2643       The umount operation can fail, for example when the mountpoint is busy.
2644       When  that  happens,  it is the user's responsibility to stop the mount
2645       manually.
2646
2647       The size of the mounted file system will be set according  to  informa‐
2648       tion  retrieved  from  the  remote,  the same as returned by the rclone
2649       about  (https://rclone.org/commands/rclone_about/)  command.    Remotes
2650       with unlimited storage may report the used size only, then an addition‐
2651       al 1PB of free space is  assumed.   If  the  remote  does  not  support
2652       (https://rclone.org/overview/#optional-features)  the  about feature at
2653       all, then 1PB is set as both the total and the free size.
2654
2655       Note: As of rclone 1.52.2, rclone mount now requires Go version 1.13 or
2656       newer  on  some  platforms  depending on the underlying FUSE library in
2657       use.
2658
2659   Installing on Windows
2660       To run rclone mount on Windows, you will need to download  and  install
2661       WinFsp (http://www.secfs.net/winfsp/).
2662
2663       WinFsp  (https://github.com/billziss-gh/winfsp)  is an open source Win‐
2664       dows File System Proxy which makes it easy to  write  user  space  file
2665       systems  for  Windows.  It provides a FUSE emulation layer which rclone
2666       uses combination with cgofuse (https://github.com/billziss-gh/cgofuse).
2667       Both  of  these packages are by Bill Zissimopoulos who was very helpful
2668       during the implementation of rclone mount for Windows.
2669
2670   Mounting modes on windows
2671       Unlike other operating systems, Microsoft Windows provides a  different
2672       filesystem  type  for network and fixed drives.  It optimises access on
2673       the assumption fixed disk drives are fast and reliable,  while  network
2674       drives  have  relatively  high latency and less reliability.  Some set‐
2675       tings can also be differentiated between the  two  types,  for  example
2676       that  Windows Explorer should just display icons and not create preview
2677       thumbnails for image and video files on network drives.
2678
2679       In most cases, rclone will mount the remote as  a  normal,  fixed  disk
2680       drive by default.  However, you can also choose to mount it as a remote
2681       network drive, often described as a network share.   If  you  mount  an
2682       rclone  remote using the default, fixed drive mode and experience unex‐
2683       pected program errors, freezes or other issues, consider mounting as  a
2684       network drive instead.
2685
2686       When  mounting  as a fixed disk drive you can either mount to an unused
2687       drive letter, or to a path representing a non-existent subdirectory  of
2688       an  existing parent directory or drive.  Using the special value * will
2689       tell rclone to automatically assign the next  available  drive  letter,
2690       starting with Z: and moving backward.  Examples:
2691
2692              rclone mount remote:path/to/files *
2693              rclone mount remote:path/to/files X:
2694              rclone mount remote:path/to/files C:\path\parent\mount
2695              rclone mount remote:path/to/files X:
2696
2697       Option --volname can be used to set a custom volume name for the mount‐
2698       ed file system.  The default is to use the remote name and path.
2699
2700       To mount as network drive, you can add option  --network-mode  to  your
2701       mount  command.   Mounting to a directory path is not supported in this
2702       mode, it is a limitation Windows imposes on junctions,  so  the  remote
2703       must always be mounted to a drive letter.
2704
2705              rclone mount remote:path/to/files X: --network-mode
2706
2707       A  volume name specified with --volname will be used to create the net‐
2708       work share path.  A complete UNC path, such as \\cloud\remote,  option‐
2709       ally  with  path  \\cloud\remote\madeup\path,  will be used as is.  Any
2710       other string will be used as the share part,  after  a  default  prefix
2711       \\server\.   If no volume name is specified then \\server\share will be
2712       used.  You must make sure the volume name is unique when you are mount‐
2713       ing  more  than  one  drive,  or else the mount command will fail.  The
2714       share name will treated as the volume label for the mapped drive, shown
2715       in  Windows Explorer etc, while the complete \\server\share will be re‐
2716       ported as the remote UNC path by net use etc, just like a  normal  net‐
2717       work drive mapping.
2718
2719       If  you specify a full network share UNC path with --volname, this will
2720       implicitely set the --network-mode option, so the following  two  exam‐
2721       ples have same result:
2722
2723              rclone mount remote:path/to/files X: --network-mode
2724              rclone mount remote:path/to/files X: --volname \\server\share
2725
2726       You  may  also specify the network share UNC path as the mountpoint it‐
2727       self.  Then rclone will automatically assign a drive  letter,  same  as
2728       with  * and use that as mountpoint, and instead use the UNC path speci‐
2729       fied as the volume name, as if it were specified with the --volname op‐
2730       tion.   This will also implicitely set the --network-mode option.  This
2731       means the following two examples have same result:
2732
2733              rclone mount remote:path/to/files \\cloud\remote
2734              rclone mount remote:path/to/files * --volname \\cloud\remote
2735
2736       There is yet another way to enable network mode, and to set  the  share
2737       path,  and that is to pass the "native" libfuse/WinFsp option directly:
2738       --fuse-flag --VolumePrefix=\server\share.  Note that the path  must  be
2739       with just a single backslash prefix in this case.
2740
2741       Note:  In previous versions of rclone this was the only supported meth‐
2742       od.
2743
2744       Read more about drive mapping (https://en.wikipedia.org/wiki/Drive_map
2745       ping)
2746
2747       See also Limitations section below.
2748
2749   Windows filesystem permissions
2750       The   FUSE   emulation  layer  on  Windows  must  convert  between  the
2751       POSIX-based permission model used in FUSE,  and  the  permission  model
2752       used in Windows, based on access-control lists (ACL).
2753
2754       The  mounted  filesystem  will  normally  get  three entries in its ac‐
2755       cess-control list (ACL), representing permissions for the POSIX permis‐
2756       sion  scopes: Owner, group and others.  By default, the owner and group
2757       will be taken from the current user, and the built-in group  "Everyone"
2758       will  be  used  to  represent others.  The user/group can be customized
2759       with FUSE options "UserName" and "GroupName", e.g.  -o UserName=user123
2760       -o GroupName="Authenticated Users".
2761
2762       The  permissions  on  each  entry  will  be  set  according  to options
2763       --dir-perms and --file-perms, which takes a value in traditional numer‐
2764       ic  notation (https://en.wikipedia.org/wiki/File-system_permissions#Nu‐
2765       meric_notation), where the default  corresponds  to  --file-perms  0666
2766       --dir-perms 0777.
2767
2768       Note that the mapping of permissions is not always trivial, and the re‐
2769       sult you see in Windows Explorer may not be exactly like you  expected.
2770       For example, when setting a value that includes write access, this will
2771       be mapped to individual permissions "write  attributes",  "write  data"
2772       and  "append  data", but not "write extended attributes".  Windows will
2773       then show this as basic permission "Special" instead  of  "Write",  be‐
2774       cause "Write" includes the "write extended attributes" permission.
2775
2776       If you set POSIX permissions for only allowing access to the owner, us‐
2777       ing --file-perms 0600 --dir-perms 0700, the user group and the built-in
2778       "Everyone"  group will still be given some special permissions, such as
2779       "read attributes" and "read permissions", in Windows.  This is done for
2780       compatibility  reasons, e.g.  to allow users without additional permis‐
2781       sions to be able to read basic metadata about files like in UNIX.   One
2782       case  that  may  arise  is that other programs (incorrectly) interprets
2783       this as the file being accessible by  everyone.   For  example  an  SSH
2784       client may warn about "unprotected private key file".
2785
2786       WinFsp  2021 (version 1.9) introduces a new FUSE option "FileSecurity",
2787       that allows the complete specification of file security descriptors us‐
2788       ing SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/secu
2789       rity-descriptor-string-format).  With this you can work  around  issues
2790       such  as  the mentioned "unprotected private key file" by specifying -o
2791       FileSecurity="D:P(A;;FA;;;OW)", for file all access (FA) to  the  owner
2792       (OW).
2793
2794   Windows caveats
2795       Note  that drives created as Administrator are not visible by other ac‐
2796       counts (including the account that was elevated as Administrator).   So
2797       if  you start a Windows drive from an Administrative Command Prompt and
2798       then try to access the same drive from Explorer (which does not run  as
2799       Administrator), you will not be able to see the new drive.
2800
2801       The easiest way around this is to start the drive from a normal command
2802       prompt.  It is also possible to start a drive from the  SYSTEM  account
2803       (using the WinFsp.Launcher infrastructure (https://github.com/billziss-
2804       gh/winfsp/wiki/WinFsp-Service-Architecture)) which creates  drives  ac‐
2805       cessible  for  everyone  on  the system or alternatively using the nssm
2806       service manager (https://nssm.cc/usage).
2807
2808   Limitations
2809       Without the use of --vfs-cache-mode this can only write  files  sequen‐
2810       tially,  it  can only seek when reading.  This means that many applica‐
2811       tions  won't  work  with  their  files  on  an  rclone  mount   without
2812       --vfs-cache-mode  writes  or  --vfs-cache-mode  full.  See the VFS File
2813       Caching section for more info.
2814
2815       The bucket based remotes (e.g.  Swift, S3, Google Compute Storage,  B2,
2816       Hubic) do not support the concept of empty directories, so empty direc‐
2817       tories will have a tendency to disappear once they fall out of the  di‐
2818       rectory cache.
2819
2820       Only supported on Linux, FreeBSD, OS X and Windows at the moment.
2821
2822   rclone mount vs rclone sync/copy
2823       File  systems  expect things to be 100% reliable, whereas cloud storage
2824       systems are a long way from 100% reliable.  The rclone  sync/copy  com‐
2825       mands  cope with this with lots of retries.  However rclone mount can't
2826       use retries in the same way without making local copies of the uploads.
2827       Look at the VFS File Caching for solutions to make mount more reliable.
2828
2829   Attribute caching
2830       You  can  use the flag --attr-timeout to set the time the kernel caches
2831       the attributes (size, modification time, etc.) for directory entries.
2832
2833       The default is 1s which caches files just long enough to avoid too many
2834       callbacks to rclone from the kernel.
2835
2836       In  theory  0s  should  be  the correct value for filesystems which can
2837       change outside the control of the kernel.  However this causes quite  a
2838       few    problems    such    as    rclone    using    too   much   memory
2839       (https://github.com/rclone/rclone/issues/2157),  rclone   not   serving
2840       files  to  samba (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-
2841       issue/5112)     and     excessive     time     listing      directories
2842       (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
2843
2844       The  kernel can cache the info about a file for the time given by --at‐
2845       tr-timeout.  You may see corruption if the remote file  changes  length
2846       during  this  window.   It will show up as either a truncated file or a
2847       file with garbage on the end.  With --attr-timeout 1s this is very  un‐
2848       likely  but not impossible.  The higher you set --attr-timeout the more
2849       likely it is.  The default setting of "1s" is the lowest setting  which
2850       mitigates the problems above.
2851
2852       If  you set it higher (10s or 1m say) then the kernel will call back to
2853       rclone less often making it  more  efficient,  however  there  is  more
2854       chance of the corruption issue above.
2855
2856       If  files  don't  change on the remote outside of the control of rclone
2857       then there is no chance of corruption.
2858
2859       This is the same as setting the attr_timeout option in mount.fuse.
2860
2861   Filters
2862       Note that all the rclone filters can be used to select a subset of  the
2863       files to be visible in the mount.
2864
2865   systemd
2866       When  running  rclone mount as a systemd service, it is possible to use
2867       Type=notify.  In this case the service will enter the started state af‐
2868       ter  the  mountpoint  has  been  successfully set up.  Units having the
2869       rclone mount service specified as a requirement will see all files  and
2870       folders immediately in this mode.
2871
2872   chunked reading
2873       --vfs-read-chunk-size  will enable reading the source objects in parts.
2874       This can reduce the used download quota for some remotes by  requesting
2875       only  chunks  from  the remote that are actually read at the cost of an
2876       increased number of requests.
2877
2878       When --vfs-read-chunk-size-limit is also  specified  and  greater  than
2879       --vfs-read-chunk-size,  the chunk size for each open file will get dou‐
2880       bled for each chunk read, until the specified value is reached.  A val‐
2881       ue  of  -1  will disable the limit and the chunk size will grow indefi‐
2882       nitely.
2883
2884       With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit  0  the
2885       following  parts  will  be  downloaded:  0-100M,  100M-200M, 200M-300M,
2886       300M-400M and so on.  When --vfs-read-chunk-size-limit 500M  is  speci‐
2887       fied,  the  result  would  be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
2888       1200M-1700M and so on.
2889
2890   VFS - Virtual File System
2891       This command uses the VFS layer.  This adapts the cloud storage objects
2892       that  rclone uses into something which looks much more like a disk fil‐
2893       ing system.
2894
2895       Cloud storage objects have lots of properties which  aren't  like  disk
2896       files  -  you  can't extend them or write to the middle of them, so the
2897       VFS layer has to deal with that.  Because there is no one right way  of
2898       doing this there are various options explained below.
2899
2900       The  VFS  layer  also  implements  a directory cache - this caches info
2901       about files and directories (but not the data) in memory.
2902
2903   VFS Directory Cache
2904       Using the --dir-cache-time flag, you can control how long  a  directory
2905       should  be  considered  up  to date and not refreshed from the backend.
2906       Changes made through the mount will appear  immediately  or  invalidate
2907       the cache.
2908
2909              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
2910              --poll-interval duration    Time to wait between polling for changes.
2911
2912       However,  changes  made directly on the cloud storage by the web inter‐
2913       face or a different copy of rclone will only be picked up once the  di‐
2914       rectory  cache  expires  if  the  backend  configured  does not support
2915       polling for changes.  If the backend supports polling, changes will  be
2916       picked up within the polling interval.
2917
2918       You  can  send  a SIGHUP signal to rclone for it to flush all directory
2919       caches, regardless of how old they are.  Assuming only one  rclone  in‐
2920       stance is running, you can reset the cache like this:
2921
2922              kill -SIGHUP $(pidof rclone)
2923
2924       If  you  configure  rclone with a remote control (/rc) then you can use
2925       rclone rc to flush the whole directory cache:
2926
2927              rclone rc vfs/forget
2928
2929       Or individual files or directories:
2930
2931              rclone rc vfs/forget file=path/to/file dir=path/to/dir
2932
2933   VFS File Buffering
2934       The --buffer-size flag determines the amount of memory,  that  will  be
2935       used to buffer data in advance.
2936
2937       Each  open file will try to keep the specified amount of data in memory
2938       at all times.  The buffered data is bound to one open file and won't be
2939       shared.
2940
2941       This flag is a upper limit for the used memory per open file.  The buf‐
2942       fer will only use memory for data that is downloaded but  not  not  yet
2943       read.   If  the  buffer is empty, only a small amount of memory will be
2944       used.
2945
2946       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
2947       fer-size * open files.
2948
2949   VFS File Caching
2950       These flags control the VFS file caching options.  File caching is nec‐
2951       essary to make the VFS layer appear compatible with a normal file  sys‐
2952       tem.  It can be disabled at the cost of some compatibility.
2953
2954       For  example  you'll need to enable VFS caching if you want to read and
2955       write simultaneously to a file.  See below for more details.
2956
2957       Note that the VFS cache is separate from the cache backend and you  may
2958       find that you need one or the other or both.
2959
2960              --cache-dir string                   Directory rclone will use for caching.
2961              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
2962              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
2963              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
2964              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
2965              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
2966
2967       If  run with -vv rclone will print the location of the file cache.  The
2968       files are stored in the user cache file area which is OS dependent  but
2969       can  be controlled with --cache-dir or setting the appropriate environ‐
2970       ment variable.
2971
2972       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
2973       higher the cache mode the more compatible rclone becomes at the cost of
2974       using disk space.
2975
2976       Note that files are written back to  the  remote  only  when  they  are
2977       closed  and  if they haven't been accessed for --vfs-write-back second.
2978       If rclone is quit or dies with files that haven't been uploaded,  these
2979       will be uploaded next time rclone is run with the same flags.
2980
2981       If  using --vfs-cache-max-size note that the cache may exceed this size
2982       for  two  reasons.   Firstly  because  it   is   only   checked   every
2983       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
2984       evicted from the cache.
2985
2986       You should not run two copies of rclone using the same VFS  cache  with
2987       the  same or overlapping remotes if using --vfs-cache-mode > off.  This
2988       can potentially cause data corruption if you do.  You can  work  around
2989       this  by  giving  each rclone its own cache hierarchy with --cache-dir.
2990       You don't need to worry about this if the remotes in use don't overlap.
2991
2992   --vfs-cache-mode off
2993       In this mode (the default) the cache will read directly from the remote
2994       and write directly to the remote without caching anything on disk.
2995
2996       This will mean some operations are not possible
2997
2998       • Files can't be opened for both read AND write
2999
3000       • Files opened for write can't be seeked
3001
3002       • Existing files opened for write must have O_TRUNC set
3003
3004       • Files open for read with O_TRUNC will be opened write only
3005
3006       • Files open for write only will behave as if O_TRUNC was supplied
3007
3008       • Open modes O_APPEND, O_TRUNC are ignored
3009
3010       • If an upload fails it can't be retried
3011
3012   --vfs-cache-mode minimal
3013       This  is  very  similar  to "off" except that files opened for read AND
3014       write will be buffered to disk.  This means that files opened for write
3015       will be a lot more compatible, but uses the minimal disk space.
3016
3017       These operations are not possible
3018
3019       • Files opened for write only can't be seeked
3020
3021       • Existing files opened for write must have O_TRUNC set
3022
3023       • Files opened for write only will ignore O_APPEND, O_TRUNC
3024
3025       • If an upload fails it can't be retried
3026
3027   --vfs-cache-mode writes
3028       In  this  mode  files opened for read only are still read directly from
3029       the remote, write only and read/write files are buffered to disk first.
3030
3031       This mode should support all normal file system operations.
3032
3033       If an upload fails it will be retried at exponentially  increasing  in‐
3034       tervals up to 1 minute.
3035
3036   --vfs-cache-mode full
3037       In  this mode all reads and writes are buffered to and from disk.  When
3038       data is read from the remote this is buffered to disk as well.
3039
3040       In this mode the files in the cache will be  sparse  files  and  rclone
3041       will keep track of which bits of the files it has downloaded.
3042
3043       So  if  an  application only reads the starts of each file, then rclone
3044       will only buffer the start of the file.  These files will appear to  be
3045       their  full  size in the cache, but they will be sparse files with only
3046       the data that has been downloaded present in them.
3047
3048       This mode should support all normal file system operations and is  oth‐
3049       erwise identical to --vfs-cache-mode writes.
3050
3051       When   reading   a   file   rclone   will   read   --buffer-size   plus
3052       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
3053       whereas the --vfs-read-ahead is buffered on disk.
3054
3055       When  using  this  mode it is recommended that --buffer-size is not set
3056       too big and --vfs-read-ahead is set large if required.
3057
3058       IMPORTANT not all file systems support  sparse  files.   In  particular
3059       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
3060       ry is on a filesystem which doesn't support sparse files  and  it  will
3061       log an ERROR message if one is detected.
3062
3063   VFS Performance
3064       These  flags may be used to enable/disable features of the VFS for per‐
3065       formance or other reasons.
3066
3067       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
3068       (or  use  --use-server-modtime for a slightly different effect) as each
3069       read of the modification time takes a transaction.
3070
3071              --no-checksum     Don't compare checksums on up/download.
3072              --no-modtime      Don't read/write the modification time (can speed things up).
3073              --no-seek         Don't allow seeking in files.
3074              --read-only       Mount read-only.
3075
3076       When rclone reads files from a remote it reads them  in  chunks.   This
3077       means that rather than requesting the whole file rclone reads the chunk
3078       specified.  This is advantageous because some cloud  providers  account
3079       for reads being all the data requested, not all the data delivered.
3080
3081       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
3082       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
3083       less it is set to "off" in which case there will be no limit.
3084
3085              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
3086              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
3087
3088       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
3089       than seeking rclone will wait a short time for the in sequence read  or
3090       write  to come in.  These flags only come into effect when not using an
3091       on disk cache file.
3092
3093              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
3094              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
3095
3096       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
3097       full),  the  global flag --transfers can be set to adjust the number of
3098       parallel uploads of modified files from cache (the related global  flag
3099       --checkers have no effect on mount).
3100
3101              --transfers int  Number of file transfers to run in parallel. (default 4)
3102
3103   VFS Case Sensitivity
3104       Linux  file  systems  are  case-sensitive: two files can differ only by
3105       case, and the exact case must be used when opening a file.
3106
3107       File systems in modern Windows are case-insensitive  but  case-preserv‐
3108       ing:  although  existing  files can be opened using any case, the exact
3109       case used to create the file is preserved and available for programs to
3110       query.  It is not allowed for two files in the same directory to differ
3111       only by case.
3112
3113       Usually file systems on macOS are case-insensitive.  It is possible  to
3114       make macOS file systems case-sensitive but that is not the default
3115
3116       The --vfs-case-insensitive mount flag controls how rclone handles these
3117       two cases.  If its value is "false", rclone passes file  names  to  the
3118       mounted file system as-is.  If the flag is "true" (or appears without a
3119       value on command line), rclone may perform a "fixup" as  explained  be‐
3120       low.
3121
3122       The  user may specify a file name to open/delete/rename/etc with a case
3123       different than what is stored on mounted file system.  If  an  argument
3124       refers to an existing file with exactly the same name, then the case of
3125       the existing file on the disk will be used.  However, if  a  file  name
3126       with  exactly  the  same name is not found but a name differing only by
3127       case exists, rclone will transparently fixup the name.  This fixup hap‐
3128       pens only when an existing file is requested.  Case sensitivity of file
3129       names created anew by rclone is controlled  by  an  underlying  mounted
3130       file system.
3131
3132       Note  that case sensitivity of the operating system running rclone (the
3133       target) may differ from case sensitivity of a file  system  mounted  by
3134       rclone (the source).  The flag controls whether "fixup" is performed to
3135       satisfy the target.
3136
3137       If the flag is not provided on the command line, then its default value
3138       depends  on  the  operating system where rclone runs: "true" on Windows
3139       and macOS, "false" otherwise.  If the flag is provided without a value,
3140       then it is "true".
3141
3142   Alternate report of used bytes
3143       Some backends, most notably S3, do not report the amount of bytes used.
3144       If you need this information to be available when  running  df  on  the
3145       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
3146       flag set, instead of relying on the backend to report this information,
3147       rclone  will  scan  the whole remote similar to rclone size and compute
3148       the total used space itself.
3149
3150       WARNING. Contrary to rclone size, this flag ignores filters so that the
3151       result  is  accurate.   However,  this is very inefficient and may cost
3152       lots of API calls resulting in extra charges.  Use it as a last  resort
3153       and only with caching.
3154
3155              rclone mount remote:path /path/to/mountpoint [flags]
3156
3157   Options
3158                    --allow-non-empty                        Allow mounting over a non-empty directory. Not supported on Windows.
3159                    --allow-other                            Allow access to other users. Not supported on Windows.
3160                    --allow-root                             Allow access to root user. Not supported on Windows.
3161                    --async-read                             Use asynchronous reads. Not supported on Windows. (default true)
3162                    --attr-timeout duration                  Time for which file/directory attributes are cached. (default 1s)
3163                    --daemon                                 Run mount as a daemon (background mode). Not supported on Windows.
3164                    --daemon-timeout duration                Time limit for rclone to respond to kernel. Not supported on Windows.
3165                    --debug-fuse                             Debug the FUSE internals - needs -v.
3166                    --default-permissions                    Makes kernel enforce access control based on the file mode. Not supported on Windows.
3167                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
3168                    --dir-perms FileMode                     Directory permissions (default 0777)
3169                    --file-perms FileMode                    File permissions (default 0666)
3170                    --fuse-flag stringArray                  Flags or arguments to be passed direct to libfuse/WinFsp. Repeat if required.
3171                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
3172                -h, --help                                   help for mount
3173                    --max-read-ahead SizeSuffix              The number of bytes that can be prefetched for sequential reads. Not supported on Windows. (default 128k)
3174                    --network-mode                           Mount as remote network drive, instead of fixed disk drive. Supported on Windows only
3175                    --no-checksum                            Don't compare checksums on up/download.
3176                    --no-modtime                             Don't read/write the modification time (can speed things up).
3177                    --no-seek                                Don't allow seeking in files.
3178                    --noappledouble                          Ignore Apple Double (._) and .DS_Store files. Supported on OSX only. (default true)
3179                    --noapplexattr                           Ignore all "com.apple.*" extended attributes. Supported on OSX only.
3180                -o, --option stringArray                     Option for libfuse/WinFsp. Repeat if required.
3181                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
3182                    --read-only                              Mount read-only.
3183                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
3184                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows.
3185                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
3186                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
3187                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
3188                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
3189                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
3190                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
3191                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
3192                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
3193                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
3194                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size.
3195                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
3196                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
3197                    --volname string                         Set the volume name. Supported on Windows and OSX only.
3198                    --write-back-cache                       Makes kernel buffer writes before sending them to rclone. Without this, writethrough caching is used. Not supported on Windows.
3199
3200       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3201       tions not listed here.
3202
3203   SEE ALSO
3204       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3205         commands, flags and backends.
3206

rclone moveto

3208       Move file or directory from source to dest.
3209
3210   Synopsis
3211       If source:path is a file or directory then it moves it to a file or di‐
3212       rectory named dest:path.
3213
3214       This can be used to rename files or upload single files to  other  than
3215       their existing name.  If the source is a directory then it acts exactly
3216       like the move command.
3217
3218       So
3219
3220              rclone moveto src dst
3221
3222       where src and dst are rclone paths, either remote:path or  /path/to/lo‐
3223       cal or C:.
3224
3225       This will:
3226
3227              if src is file
3228                  move it to dst, overwriting an existing file if it exists
3229              if src is directory
3230                  move it to dst, overwriting existing files if they exist
3231                  see move command for full details
3232
3233       This doesn't transfer unchanged files, testing by size and modification
3234       time or MD5SUM.  src will be deleted on successful transfer.
3235
3236       Important: Since  this  can  cause  data  loss,  test  first  with  the
3237       --dry-run or the --interactive/-i flag.
3238
3239       Note: Use the -P/--progress flag to view real-time transfer statistics.
3240
3241              rclone moveto source:path dest:path [flags]
3242
3243   Options
3244                -h, --help   help for moveto
3245
3246       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3247       tions not listed here.
3248
3249   SEE ALSO
3250       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3251         commands, flags and backends.
3252

rclone ncdu

3254       Explore a remote with a text based user interface.
3255
3256   Synopsis
3257       This  displays a text based user interface allowing the navigation of a
3258       remote.  It is most useful for answering the question - "What is  using
3259       all my disk space?".
3260
3261       To  make  the user interface it first scans the entire remote given and
3262       builds an in memory representation.  rclone ncdu  can  be  used  during
3263       this  scanning  phase  and  you  will  see it building up the directory
3264       structure as it goes along.
3265
3266       Here are the keys - press '?' to toggle the help on and off
3267
3268               ↑,↓ or k,j to Move
3269               →,l to enter
3270               ←,h to return
3271               c toggle counts
3272               g toggle graph
3273               a toggle average size in directory
3274               n,s,C,A sort by name,size,count,average size
3275               d delete file/directory
3276               y copy current path to clipboard
3277               Y display current path
3278               ^L refresh screen
3279               ? to toggle help on and off
3280               q/ESC/c-C to quit
3281
3282       This an homage to the ncdu tool  (https://dev.yorhel.nl/ncdu)  but  for
3283       rclone  remotes.   It  is missing lots of features at the moment but is
3284       useful as it stands.
3285
3286       Note that it might take some time to delete big files/folders.  The  UI
3287       won't respond in the meantime since the deletion is done synchronously.
3288
3289              rclone ncdu remote:path [flags]
3290
3291   Options
3292                -h, --help   help for ncdu
3293
3294       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3295       tions not listed here.
3296
3297   SEE ALSO
3298       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3299         commands, flags and backends.
3300

rclone obscure

3302       Obscure password for use in the rclone config file.
3303
3304   Synopsis
3305       In  the rclone config file, human readable passwords are obscured.  Ob‐
3306       scuring them is done by encrypting them and writing them out in base64.
3307       This  is  not  a secure way of encrypting these passwords as rclone can
3308       decrypt them - it is to prevent "eyedropping" - namely someone seeing a
3309       password in the rclone config file by accident.
3310
3311       Many  equally important things (like access tokens) are not obscured in
3312       the config file.  However it is very hard to shoulder surf a 64 charac‐
3313       ter hex token.
3314
3315       This command can also accept a password through STDIN instead of an ar‐
3316       gument by passing a hyphen as an argument.  This  will  use  the  first
3317       line of STDIN as the password not including the trailing newline.
3318
3319       echo "secretpassword" | rclone obscure -
3320
3321       If  there  is  no data on STDIN to read, rclone obscure will default to
3322       obfuscating the hyphen itself.
3323
3324       If you want to encrypt the config file then please use config file  en‐
3325       cryption  -  see rclone config (https://rclone.org/commands/rclone_con
3326       fig/) for more info.
3327
3328              rclone obscure password [flags]
3329
3330   Options
3331                -h, --help   help for obscure
3332
3333       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3334       tions not listed here.
3335
3336   SEE ALSO
3337       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3338         commands, flags and backends.
3339

rclone rc

3341       Run a command against a running rclone.
3342
3343   Synopsis
3344       This runs a command against a running rclone.  Use the  --url  flag  to
3345       specify an non default URL to connect on.  This can be either a ":port"
3346       which is taken to mean "http://localhost:port" or a  "host:port"  which
3347       is taken to mean "http://host:port"
3348
3349       A username and password can be passed in with --user and --pass.
3350
3351       Note  that --rc-addr, --rc-user, --rc-pass will be read also for --url,
3352       --user, --pass.
3353
3354       Arguments should be passed in as parameter=value.
3355
3356       The result will be returned as a JSON object by default.
3357
3358       The --json parameter can be used to pass in a JSON blob as an input in‐
3359       stead  of key=value arguments.  This is the only way of passing in more
3360       complicated values.
3361
3362       The -o/--opt option can be used to set a key "opt" with key, value  op‐
3363       tions  in  the  form "-o key=value" or "-o key".  It can be repeated as
3364       many times as required.  This is useful for rc commands which take  the
3365       "opt" parameter which by convention is a dictionary of strings.
3366
3367              -o key=value -o key2
3368
3369       Will place this in the "opt" value
3370
3371              {"key":"value", "key2","")
3372
3373       The  -a/--arg option can be used to set strings in the "arg" value.  It
3374       can be repeated as many times as required.  This is useful for rc  com‐
3375       mands  which  take the "arg" parameter which by convention is a list of
3376       strings.
3377
3378              -a value -a value2
3379
3380       Will place this in the "arg" value
3381
3382              ["value", "value2"]
3383
3384       Use --loopback to connect to the rclone instance running  "rclone  rc".
3385       This  is  very  useful  for  testing  commands without having to run an
3386       rclone rc server, e.g.:
3387
3388              rclone rc --loopback operations/about fs=/
3389
3390       Use "rclone rc" to see a list of all possible commands.
3391
3392              rclone rc commands parameter [flags]
3393
3394   Options
3395                -a, --arg stringArray   Argument placed in the "arg" array.
3396                -h, --help              help for rc
3397                    --json string       Input JSON - use instead of key=value args.
3398                    --loopback          If set connect to this rclone instance not via HTTP.
3399                    --no-output         If set, don't output the JSON result.
3400                -o, --opt stringArray   Option in the form name=value or name placed in the "opt" array.
3401                    --pass string       Password to use to connect to rclone remote control.
3402                    --url string        URL to connect to rclone remote control. (default "http://localhost:5572/")
3403                    --user string       Username to use to rclone remote control.
3404
3405       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3406       tions not listed here.
3407
3408   SEE ALSO
3409       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3410         commands, flags and backends.
3411

rclone rcat

3413       Copies standard input to file on remote.
3414
3415   Synopsis
3416       rclone rcat reads from standard input (stdin) and copies it to a single
3417       remote file.
3418
3419              echo "hello world" | rclone rcat remote:path/to/file
3420              ffmpeg - | rclone rcat remote:path/to/file
3421
3422       If the remote file already exists, it will be overwritten.
3423
3424       rcat  will try to upload small files in a single request, which is usu‐
3425       ally more efficient than the streaming/chunked upload endpoints,  which
3426       use multiple requests.  Exact behaviour depends on the remote.  What is
3427       considered a small file may be set  through  --streaming-upload-cutoff.
3428       Uploading  only  starts after the cutoff is reached or if the file ends
3429       before that.  The data must fit into RAM.  The cutoff needs to be small
3430       enough to adhere the limits of your remote, please see there.  General‐
3431       ly speaking, setting this cutoff too high will  decrease  your  perfor‐
3432       mance.
3433
3434       Note  that  the  upload can also not be retried because the data is not
3435       kept around until the upload succeeds.  If you need to transfer  a  lot
3436       of  data,  you're better off caching locally and then rclone move it to
3437       the destination.
3438
3439              rclone rcat remote:path [flags]
3440
3441   Options
3442                -h, --help   help for rcat
3443
3444       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3445       tions not listed here.
3446
3447   SEE ALSO
3448       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3449         commands, flags and backends.
3450

rclone rcd

3452       Run rclone listening to remote control commands only.
3453
3454   Synopsis
3455       This runs rclone so that it only listens to remote control commands.
3456
3457       This is useful if you are controlling rclone via the rc API.
3458
3459       If you pass in a path to a directory, rclone will serve that  directory
3460       for  GET  requests  on the URL passed in.  It will also open the URL in
3461       the browser when rclone is run.
3462
3463       See the rc documentation (https://rclone.org/rc/) for more info on  the
3464       rc flags.
3465
3466              rclone rcd <path to files to serve>* [flags]
3467
3468   Options
3469                -h, --help   help for rcd
3470
3471       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3472       tions not listed here.
3473
3474   SEE ALSO
3475       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3476         commands, flags and backends.
3477

rclone rmdirs

3479       Remove empty directories under the path.
3480
3481   Synopsis
3482       This  recursively  removes any empty directories (including directories
3483       that only contain empty directories), that it  finds  under  the  path.
3484       The  root  path  itself will also be removed if it is empty, unless you
3485       supply the --leave-root flag.
3486
3487       Use command rmdir to delete just the empty directory given by path, not
3488       recurse.
3489
3490       This  is  useful  for  tidying up remotes that rclone has left a lot of
3491       empty directories in.  For example the delete command will delete files
3492       but leave the directory structure (unless used with option --rmdirs).
3493
3494       To delete a path and any objects in it, use purge command.
3495
3496              rclone rmdirs remote:path [flags]
3497
3498   Options
3499                -h, --help         help for rmdirs
3500                    --leave-root   Do not remove root directory if empty
3501
3502       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3503       tions not listed here.
3504
3505   SEE ALSO
3506       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3507         commands, flags and backends.
3508

rclone selfupdate

3510       Update the rclone binary.
3511
3512   Synopsis
3513       This  command  downloads  the latest release of rclone and replaces the
3514       currently running binary.  The download is verified with a hashsum  and
3515       cryptographically signed signature.
3516
3517       If  used  without  flags  (or with implied --stable flag), this command
3518       will install the latest stable release.  However, some  issues  may  be
3519       fixed  (or  features  added)  only in the latest beta release.  In such
3520       cases you should run the command with the  --beta  flag,  i.e.   rclone
3521       selfupdate  --beta.  You can check in advance what version would be in‐
3522       stalled by adding the --check flag, then repeat the command without  it
3523       when you are satisfied.
3524
3525       Sometimes  the  rclone team may recommend you a concrete beta or stable
3526       rclone release to troubleshoot your issue or add a bleeding  edge  fea‐
3527       ture.   The  --version  VER flag, if given, will update to the concrete
3528       version instead of the latest one.  If you omit micro version from  VER
3529       (for example 1.53), the latest matching micro version will be used.
3530
3531       Upon successful update rclone will print a message that contains a pre‐
3532       vious version number.  You will need it if you later decide  to  revert
3533       your  update  for  some  reason.  Then you'll have to note the previous
3534       version and run the following command: rclone selfupdate [--beta]  OLD‐
3535       VER.   If  the  old  version contains only dots and digits (for example
3536       v1.54.0) then it's a stable release so you won't need the --beta  flag.
3537       Beta  releases  have  an  additional information similar to v1.54.0-be‐
3538       ta.5111.06f1c0c61.  (if you are a developer and  use  a  locally  built
3539       rclone, the version number will end with -DEV, you will have to rebuild
3540       it as it obviously can't be distributed).
3541
3542       If you previously installed rclone via a package manager,  the  package
3543       may include local documentation or configure services.  You may wish to
3544       update with the flag --package deb or --package rpm (whichever is  cor‐
3545       rect  for  your OS) to update these too.  This command with the default
3546       --package zip will update only the rclone executable so the local manu‐
3547       al may become inaccurate after it.
3548
3549       The  rclone  mount  command (https://rclone.org/commands/rclone_mount/)
3550       may or may not support extended FUSE options depending on the build and
3551       OS.   selfupdate  will refuse to update if the capability would be dis‐
3552       carded.
3553
3554       Note: Windows forbids deletion of a  currently  running  executable  so
3555       this  command  will  rename the old executable to 'rclone.old.exe' upon
3556       success.
3557
3558       Please note that this command was not available before  rclone  version
3559       1.55.   If  it  fails for you with the message unknown command "selfup‐
3560       date" then you will need to update manually following the  install  in‐
3561       structions located at https://rclone.org/install/
3562
3563              rclone selfupdate [flags]
3564
3565   Options
3566                    --beta             Install beta release.
3567                    --check            Check for latest release, do not download.
3568                -h, --help             help for selfupdate
3569                    --output string    Save the downloaded binary at a given path (default: replace running binary)
3570                    --package string   Package format: zip|deb|rpm (default: zip)
3571                    --stable           Install stable release (this is the default)
3572                    --version string   Install the given rclone version (default: latest)
3573
3574       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3575       tions not listed here.
3576
3577   SEE ALSO
3578       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3579         commands, flags and backends.
3580

rclone serve

3582       Serve a remote over a protocol.
3583
3584   Synopsis
3585       rclone  serve  is  used  to serve a remote over a given protocol.  This
3586       command requires the use of a subcommand to specify the protocol, e.g.
3587
3588              rclone serve http remote:
3589
3590       Each subcommand has its own options which you can see in their help.
3591
3592              rclone serve <protocol> [opts] <remote> [flags]
3593
3594   Options
3595                -h, --help   help for serve
3596
3597       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3598       tions not listed here.
3599
3600   SEE ALSO
3601       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3602         commands, flags and backends.
3603
3604       • rclone serve dlna (https://rclone.org/commands/rclone_serve_dlna/)  -
3605         Serve remote:path over DLNA
3606
3607       • rclone  serve  ftp  (https://rclone.org/commands/rclone_serve_ftp/) -
3608         Serve remote:path over FTP.
3609
3610       • rclone serve http (https://rclone.org/commands/rclone_serve_http/)  -
3611         Serve the remote over HTTP.
3612
3613       • rclone          serve         restic         (https://rclone.org/com
3614         mands/rclone_serve_restic/) - Serve the remote for restic's REST API.
3615
3616       • rclone serve sftp (https://rclone.org/commands/rclone_serve_sftp/)  -
3617         Serve the remote over SFTP.
3618
3619       • rclone  serve  webdav  (https://rclone.org/commands/rclone_serve_web
3620         dav/) - Serve remote:path over webdav.
3621

rclone serve dlna

3623       Serve remote:path over DLNA
3624
3625   Synopsis
3626       rclone serve dlna is a DLNA media server for media stored in an  rclone
3627       remote.   Many devices, such as the Xbox and PlayStation, can automati‐
3628       cally discover this server in the LAN and  play  audio/video  from  it.
3629       VLC  is  also  supported.  Service discovery uses UDP multicast packets
3630       (SSDP) and will thus only work on LANs.
3631
3632       Rclone will list all files present in  the  remote,  without  filtering
3633       based  on  media formats or file extensions.  Additionally, there is no
3634       media transcoding support.  This means that  some  players  might  show
3635       files that they are not able to play back correctly.
3636
3637   Server options
3638       Use  --addr to specify which IP address and port the server should lis‐
3639       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
3640
3641       Use --name to choose the friendly server  name,  which  is  by  default
3642       "rclone (hostname)".
3643
3644       Use --log-trace in conjunction with -vv to enable additional debug log‐
3645       ging of all UPNP traffic.
3646
3647   VFS - Virtual File System
3648       This command uses the VFS layer.  This adapts the cloud storage objects
3649       that  rclone uses into something which looks much more like a disk fil‐
3650       ing system.
3651
3652       Cloud storage objects have lots of properties which  aren't  like  disk
3653       files  -  you  can't extend them or write to the middle of them, so the
3654       VFS layer has to deal with that.  Because there is no one right way  of
3655       doing this there are various options explained below.
3656
3657       The  VFS  layer  also  implements  a directory cache - this caches info
3658       about files and directories (but not the data) in memory.
3659
3660   VFS Directory Cache
3661       Using the --dir-cache-time flag, you can control how long  a  directory
3662       should  be  considered  up  to date and not refreshed from the backend.
3663       Changes made through the mount will appear  immediately  or  invalidate
3664       the cache.
3665
3666              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
3667              --poll-interval duration    Time to wait between polling for changes.
3668
3669       However,  changes  made directly on the cloud storage by the web inter‐
3670       face or a different copy of rclone will only be picked up once the  di‐
3671       rectory  cache  expires  if  the  backend  configured  does not support
3672       polling for changes.  If the backend supports polling, changes will  be
3673       picked up within the polling interval.
3674
3675       You  can  send  a SIGHUP signal to rclone for it to flush all directory
3676       caches, regardless of how old they are.  Assuming only one  rclone  in‐
3677       stance is running, you can reset the cache like this:
3678
3679              kill -SIGHUP $(pidof rclone)
3680
3681       If  you  configure  rclone with a remote control (/rc) then you can use
3682       rclone rc to flush the whole directory cache:
3683
3684              rclone rc vfs/forget
3685
3686       Or individual files or directories:
3687
3688              rclone rc vfs/forget file=path/to/file dir=path/to/dir
3689
3690   VFS File Buffering
3691       The --buffer-size flag determines the amount of memory,  that  will  be
3692       used to buffer data in advance.
3693
3694       Each  open file will try to keep the specified amount of data in memory
3695       at all times.  The buffered data is bound to one open file and won't be
3696       shared.
3697
3698       This flag is a upper limit for the used memory per open file.  The buf‐
3699       fer will only use memory for data that is downloaded but  not  not  yet
3700       read.   If  the  buffer is empty, only a small amount of memory will be
3701       used.
3702
3703       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
3704       fer-size * open files.
3705
3706   VFS File Caching
3707       These flags control the VFS file caching options.  File caching is nec‐
3708       essary to make the VFS layer appear compatible with a normal file  sys‐
3709       tem.  It can be disabled at the cost of some compatibility.
3710
3711       For  example  you'll need to enable VFS caching if you want to read and
3712       write simultaneously to a file.  See below for more details.
3713
3714       Note that the VFS cache is separate from the cache backend and you  may
3715       find that you need one or the other or both.
3716
3717              --cache-dir string                   Directory rclone will use for caching.
3718              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
3719              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
3720              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
3721              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
3722              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
3723
3724       If  run with -vv rclone will print the location of the file cache.  The
3725       files are stored in the user cache file area which is OS dependent  but
3726       can  be controlled with --cache-dir or setting the appropriate environ‐
3727       ment variable.
3728
3729       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
3730       higher the cache mode the more compatible rclone becomes at the cost of
3731       using disk space.
3732
3733       Note that files are written back to  the  remote  only  when  they  are
3734       closed  and  if they haven't been accessed for --vfs-write-back second.
3735       If rclone is quit or dies with files that haven't been uploaded,  these
3736       will be uploaded next time rclone is run with the same flags.
3737
3738       If  using --vfs-cache-max-size note that the cache may exceed this size
3739       for  two  reasons.   Firstly  because  it   is   only   checked   every
3740       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
3741       evicted from the cache.
3742
3743       You should not run two copies of rclone using the same VFS  cache  with
3744       the  same or overlapping remotes if using --vfs-cache-mode > off.  This
3745       can potentially cause data corruption if you do.  You can  work  around
3746       this  by  giving  each rclone its own cache hierarchy with --cache-dir.
3747       You don't need to worry about this if the remotes in use don't overlap.
3748
3749   --vfs-cache-mode off
3750       In this mode (the default) the cache will read directly from the remote
3751       and write directly to the remote without caching anything on disk.
3752
3753       This will mean some operations are not possible
3754
3755       • Files can't be opened for both read AND write
3756
3757       • Files opened for write can't be seeked
3758
3759       • Existing files opened for write must have O_TRUNC set
3760
3761       • Files open for read with O_TRUNC will be opened write only
3762
3763       • Files open for write only will behave as if O_TRUNC was supplied
3764
3765       • Open modes O_APPEND, O_TRUNC are ignored
3766
3767       • If an upload fails it can't be retried
3768
3769   --vfs-cache-mode minimal
3770       This  is  very  similar  to "off" except that files opened for read AND
3771       write will be buffered to disk.  This means that files opened for write
3772       will be a lot more compatible, but uses the minimal disk space.
3773
3774       These operations are not possible
3775
3776       • Files opened for write only can't be seeked
3777
3778       • Existing files opened for write must have O_TRUNC set
3779
3780       • Files opened for write only will ignore O_APPEND, O_TRUNC
3781
3782       • If an upload fails it can't be retried
3783
3784   --vfs-cache-mode writes
3785       In  this  mode  files opened for read only are still read directly from
3786       the remote, write only and read/write files are buffered to disk first.
3787
3788       This mode should support all normal file system operations.
3789
3790       If an upload fails it will be retried at exponentially  increasing  in‐
3791       tervals up to 1 minute.
3792
3793   --vfs-cache-mode full
3794       In  this mode all reads and writes are buffered to and from disk.  When
3795       data is read from the remote this is buffered to disk as well.
3796
3797       In this mode the files in the cache will be  sparse  files  and  rclone
3798       will keep track of which bits of the files it has downloaded.
3799
3800       So  if  an  application only reads the starts of each file, then rclone
3801       will only buffer the start of the file.  These files will appear to  be
3802       their  full  size in the cache, but they will be sparse files with only
3803       the data that has been downloaded present in them.
3804
3805       This mode should support all normal file system operations and is  oth‐
3806       erwise identical to --vfs-cache-mode writes.
3807
3808       When   reading   a   file   rclone   will   read   --buffer-size   plus
3809       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
3810       whereas the --vfs-read-ahead is buffered on disk.
3811
3812       When  using  this  mode it is recommended that --buffer-size is not set
3813       too big and --vfs-read-ahead is set large if required.
3814
3815       IMPORTANT not all file systems support  sparse  files.   In  particular
3816       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
3817       ry is on a filesystem which doesn't support sparse files  and  it  will
3818       log an ERROR message if one is detected.
3819
3820   VFS Performance
3821       These  flags may be used to enable/disable features of the VFS for per‐
3822       formance or other reasons.
3823
3824       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
3825       (or  use  --use-server-modtime for a slightly different effect) as each
3826       read of the modification time takes a transaction.
3827
3828              --no-checksum     Don't compare checksums on up/download.
3829              --no-modtime      Don't read/write the modification time (can speed things up).
3830              --no-seek         Don't allow seeking in files.
3831              --read-only       Mount read-only.
3832
3833       When rclone reads files from a remote it reads them  in  chunks.   This
3834       means that rather than requesting the whole file rclone reads the chunk
3835       specified.  This is advantageous because some cloud  providers  account
3836       for reads being all the data requested, not all the data delivered.
3837
3838       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
3839       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
3840       less it is set to "off" in which case there will be no limit.
3841
3842              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
3843              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
3844
3845       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
3846       than seeking rclone will wait a short time for the in sequence read  or
3847       write  to come in.  These flags only come into effect when not using an
3848       on disk cache file.
3849
3850              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
3851              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
3852
3853       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
3854       full),  the  global flag --transfers can be set to adjust the number of
3855       parallel uploads of modified files from cache (the related global  flag
3856       --checkers have no effect on mount).
3857
3858              --transfers int  Number of file transfers to run in parallel. (default 4)
3859
3860   VFS Case Sensitivity
3861       Linux  file  systems  are  case-sensitive: two files can differ only by
3862       case, and the exact case must be used when opening a file.
3863
3864       File systems in modern Windows are case-insensitive  but  case-preserv‐
3865       ing:  although  existing  files can be opened using any case, the exact
3866       case used to create the file is preserved and available for programs to
3867       query.  It is not allowed for two files in the same directory to differ
3868       only by case.
3869
3870       Usually file systems on macOS are case-insensitive.  It is possible  to
3871       make macOS file systems case-sensitive but that is not the default
3872
3873       The --vfs-case-insensitive mount flag controls how rclone handles these
3874       two cases.  If its value is "false", rclone passes file  names  to  the
3875       mounted file system as-is.  If the flag is "true" (or appears without a
3876       value on command line), rclone may perform a "fixup" as  explained  be‐
3877       low.
3878
3879       The  user may specify a file name to open/delete/rename/etc with a case
3880       different than what is stored on mounted file system.  If  an  argument
3881       refers to an existing file with exactly the same name, then the case of
3882       the existing file on the disk will be used.  However, if  a  file  name
3883       with  exactly  the  same name is not found but a name differing only by
3884       case exists, rclone will transparently fixup the name.  This fixup hap‐
3885       pens only when an existing file is requested.  Case sensitivity of file
3886       names created anew by rclone is controlled  by  an  underlying  mounted
3887       file system.
3888
3889       Note  that case sensitivity of the operating system running rclone (the
3890       target) may differ from case sensitivity of a file  system  mounted  by
3891       rclone (the source).  The flag controls whether "fixup" is performed to
3892       satisfy the target.
3893
3894       If the flag is not provided on the command line, then its default value
3895       depends  on  the  operating system where rclone runs: "true" on Windows
3896       and macOS, "false" otherwise.  If the flag is provided without a value,
3897       then it is "true".
3898
3899   Alternate report of used bytes
3900       Some backends, most notably S3, do not report the amount of bytes used.
3901       If you need this information to be available when  running  df  on  the
3902       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
3903       flag set, instead of relying on the backend to report this information,
3904       rclone  will  scan  the whole remote similar to rclone size and compute
3905       the total used space itself.
3906
3907       WARNING. Contrary to rclone size, this flag ignores filters so that the
3908       result  is  accurate.   However,  this is very inefficient and may cost
3909       lots of API calls resulting in extra charges.  Use it as a last  resort
3910       and only with caching.
3911
3912              rclone serve dlna remote:path [flags]
3913
3914   Options
3915                    --addr string                            ip:port or :port to bind the DLNA http server to. (default ":7879")
3916                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
3917                    --dir-perms FileMode                     Directory permissions (default 0777)
3918                    --file-perms FileMode                    File permissions (default 0666)
3919                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
3920                -h, --help                                   help for dlna
3921                    --log-trace                              enable trace logging of SOAP traffic
3922                    --name string                            name of DLNA server
3923                    --no-checksum                            Don't compare checksums on up/download.
3924                    --no-modtime                             Don't read/write the modification time (can speed things up).
3925                    --no-seek                                Don't allow seeking in files.
3926                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
3927                    --read-only                              Mount read-only.
3928                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
3929                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
3930                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
3931                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
3932                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
3933                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
3934                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
3935                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
3936                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
3937                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
3938                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
3939                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size.
3940                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
3941                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
3942
3943       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3944       tions not listed here.
3945
3946   SEE ALSO
3947       • rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
3948         remote over a protocol.
3949

rclone serve ftp

3951       Serve remote:path over FTP.
3952
3953   Synopsis
3954       rclone serve ftp implements a basic ftp server to serve the remote over
3955       FTP protocol.  This can be viewed with a ftp client or you can  make  a
3956       remote of type ftp to read and write it.
3957
3958   Server options
3959       Use  --addr to specify which IP address and port the server should lis‐
3960       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
3961       By  default  it  only listens on localhost.  You can use port :0 to let
3962       the OS choose an available port.
3963
3964       If you set --addr to listen on a public or LAN  accessible  IP  address
3965       then using Authentication is advised - see the next section for info.
3966
3967   Authentication
3968       By default this will serve files without needing a login.
3969
3970       You  can  set a single username and password with the --user and --pass
3971       flags.
3972
3973   VFS - Virtual File System
3974       This command uses the VFS layer.  This adapts the cloud storage objects
3975       that  rclone uses into something which looks much more like a disk fil‐
3976       ing system.
3977
3978       Cloud storage objects have lots of properties which  aren't  like  disk
3979       files  -  you  can't extend them or write to the middle of them, so the
3980       VFS layer has to deal with that.  Because there is no one right way  of
3981       doing this there are various options explained below.
3982
3983       The  VFS  layer  also  implements  a directory cache - this caches info
3984       about files and directories (but not the data) in memory.
3985
3986   VFS Directory Cache
3987       Using the --dir-cache-time flag, you can control how long  a  directory
3988       should  be  considered  up  to date and not refreshed from the backend.
3989       Changes made through the mount will appear  immediately  or  invalidate
3990       the cache.
3991
3992              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
3993              --poll-interval duration    Time to wait between polling for changes.
3994
3995       However,  changes  made directly on the cloud storage by the web inter‐
3996       face or a different copy of rclone will only be picked up once the  di‐
3997       rectory  cache  expires  if  the  backend  configured  does not support
3998       polling for changes.  If the backend supports polling, changes will  be
3999       picked up within the polling interval.
4000
4001       You  can  send  a SIGHUP signal to rclone for it to flush all directory
4002       caches, regardless of how old they are.  Assuming only one  rclone  in‐
4003       stance is running, you can reset the cache like this:
4004
4005              kill -SIGHUP $(pidof rclone)
4006
4007       If  you  configure  rclone with a remote control (/rc) then you can use
4008       rclone rc to flush the whole directory cache:
4009
4010              rclone rc vfs/forget
4011
4012       Or individual files or directories:
4013
4014              rclone rc vfs/forget file=path/to/file dir=path/to/dir
4015
4016   VFS File Buffering
4017       The --buffer-size flag determines the amount of memory,  that  will  be
4018       used to buffer data in advance.
4019
4020       Each  open file will try to keep the specified amount of data in memory
4021       at all times.  The buffered data is bound to one open file and won't be
4022       shared.
4023
4024       This flag is a upper limit for the used memory per open file.  The buf‐
4025       fer will only use memory for data that is downloaded but  not  not  yet
4026       read.   If  the  buffer is empty, only a small amount of memory will be
4027       used.
4028
4029       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
4030       fer-size * open files.
4031
4032   VFS File Caching
4033       These flags control the VFS file caching options.  File caching is nec‐
4034       essary to make the VFS layer appear compatible with a normal file  sys‐
4035       tem.  It can be disabled at the cost of some compatibility.
4036
4037       For  example  you'll need to enable VFS caching if you want to read and
4038       write simultaneously to a file.  See below for more details.
4039
4040       Note that the VFS cache is separate from the cache backend and you  may
4041       find that you need one or the other or both.
4042
4043              --cache-dir string                   Directory rclone will use for caching.
4044              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
4045              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
4046              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
4047              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
4048              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
4049
4050       If  run with -vv rclone will print the location of the file cache.  The
4051       files are stored in the user cache file area which is OS dependent  but
4052       can  be controlled with --cache-dir or setting the appropriate environ‐
4053       ment variable.
4054
4055       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
4056       higher the cache mode the more compatible rclone becomes at the cost of
4057       using disk space.
4058
4059       Note that files are written back to  the  remote  only  when  they  are
4060       closed  and  if they haven't been accessed for --vfs-write-back second.
4061       If rclone is quit or dies with files that haven't been uploaded,  these
4062       will be uploaded next time rclone is run with the same flags.
4063
4064       If  using --vfs-cache-max-size note that the cache may exceed this size
4065       for  two  reasons.   Firstly  because  it   is   only   checked   every
4066       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
4067       evicted from the cache.
4068
4069       You should not run two copies of rclone using the same VFS  cache  with
4070       the  same or overlapping remotes if using --vfs-cache-mode > off.  This
4071       can potentially cause data corruption if you do.  You can  work  around
4072       this  by  giving  each rclone its own cache hierarchy with --cache-dir.
4073       You don't need to worry about this if the remotes in use don't overlap.
4074
4075   --vfs-cache-mode off
4076       In this mode (the default) the cache will read directly from the remote
4077       and write directly to the remote without caching anything on disk.
4078
4079       This will mean some operations are not possible
4080
4081       • Files can't be opened for both read AND write
4082
4083       • Files opened for write can't be seeked
4084
4085       • Existing files opened for write must have O_TRUNC set
4086
4087       • Files open for read with O_TRUNC will be opened write only
4088
4089       • Files open for write only will behave as if O_TRUNC was supplied
4090
4091       • Open modes O_APPEND, O_TRUNC are ignored
4092
4093       • If an upload fails it can't be retried
4094
4095   --vfs-cache-mode minimal
4096       This  is  very  similar  to "off" except that files opened for read AND
4097       write will be buffered to disk.  This means that files opened for write
4098       will be a lot more compatible, but uses the minimal disk space.
4099
4100       These operations are not possible
4101
4102       • Files opened for write only can't be seeked
4103
4104       • Existing files opened for write must have O_TRUNC set
4105
4106       • Files opened for write only will ignore O_APPEND, O_TRUNC
4107
4108       • If an upload fails it can't be retried
4109
4110   --vfs-cache-mode writes
4111       In  this  mode  files opened for read only are still read directly from
4112       the remote, write only and read/write files are buffered to disk first.
4113
4114       This mode should support all normal file system operations.
4115
4116       If an upload fails it will be retried at exponentially  increasing  in‐
4117       tervals up to 1 minute.
4118
4119   --vfs-cache-mode full
4120       In  this mode all reads and writes are buffered to and from disk.  When
4121       data is read from the remote this is buffered to disk as well.
4122
4123       In this mode the files in the cache will be  sparse  files  and  rclone
4124       will keep track of which bits of the files it has downloaded.
4125
4126       So  if  an  application only reads the starts of each file, then rclone
4127       will only buffer the start of the file.  These files will appear to  be
4128       their  full  size in the cache, but they will be sparse files with only
4129       the data that has been downloaded present in them.
4130
4131       This mode should support all normal file system operations and is  oth‐
4132       erwise identical to --vfs-cache-mode writes.
4133
4134       When   reading   a   file   rclone   will   read   --buffer-size   plus
4135       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
4136       whereas the --vfs-read-ahead is buffered on disk.
4137
4138       When  using  this  mode it is recommended that --buffer-size is not set
4139       too big and --vfs-read-ahead is set large if required.
4140
4141       IMPORTANT not all file systems support  sparse  files.   In  particular
4142       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
4143       ry is on a filesystem which doesn't support sparse files  and  it  will
4144       log an ERROR message if one is detected.
4145
4146   VFS Performance
4147       These  flags may be used to enable/disable features of the VFS for per‐
4148       formance or other reasons.
4149
4150       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
4151       (or  use  --use-server-modtime for a slightly different effect) as each
4152       read of the modification time takes a transaction.
4153
4154              --no-checksum     Don't compare checksums on up/download.
4155              --no-modtime      Don't read/write the modification time (can speed things up).
4156              --no-seek         Don't allow seeking in files.
4157              --read-only       Mount read-only.
4158
4159       When rclone reads files from a remote it reads them  in  chunks.   This
4160       means that rather than requesting the whole file rclone reads the chunk
4161       specified.  This is advantageous because some cloud  providers  account
4162       for reads being all the data requested, not all the data delivered.
4163
4164       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
4165       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
4166       less it is set to "off" in which case there will be no limit.
4167
4168              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
4169              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
4170
4171       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
4172       than seeking rclone will wait a short time for the in sequence read  or
4173       write  to come in.  These flags only come into effect when not using an
4174       on disk cache file.
4175
4176              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
4177              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
4178
4179       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
4180       full),  the  global flag --transfers can be set to adjust the number of
4181       parallel uploads of modified files from cache (the related global  flag
4182       --checkers have no effect on mount).
4183
4184              --transfers int  Number of file transfers to run in parallel. (default 4)
4185
4186   VFS Case Sensitivity
4187       Linux  file  systems  are  case-sensitive: two files can differ only by
4188       case, and the exact case must be used when opening a file.
4189
4190       File systems in modern Windows are case-insensitive  but  case-preserv‐
4191       ing:  although  existing  files can be opened using any case, the exact
4192       case used to create the file is preserved and available for programs to
4193       query.  It is not allowed for two files in the same directory to differ
4194       only by case.
4195
4196       Usually file systems on macOS are case-insensitive.  It is possible  to
4197       make macOS file systems case-sensitive but that is not the default
4198
4199       The --vfs-case-insensitive mount flag controls how rclone handles these
4200       two cases.  If its value is "false", rclone passes file  names  to  the
4201       mounted file system as-is.  If the flag is "true" (or appears without a
4202       value on command line), rclone may perform a "fixup" as  explained  be‐
4203       low.
4204
4205       The  user may specify a file name to open/delete/rename/etc with a case
4206       different than what is stored on mounted file system.  If  an  argument
4207       refers to an existing file with exactly the same name, then the case of
4208       the existing file on the disk will be used.  However, if  a  file  name
4209       with  exactly  the  same name is not found but a name differing only by
4210       case exists, rclone will transparently fixup the name.  This fixup hap‐
4211       pens only when an existing file is requested.  Case sensitivity of file
4212       names created anew by rclone is controlled  by  an  underlying  mounted
4213       file system.
4214
4215       Note  that case sensitivity of the operating system running rclone (the
4216       target) may differ from case sensitivity of a file  system  mounted  by
4217       rclone (the source).  The flag controls whether "fixup" is performed to
4218       satisfy the target.
4219
4220       If the flag is not provided on the command line, then its default value
4221       depends  on  the  operating system where rclone runs: "true" on Windows
4222       and macOS, "false" otherwise.  If the flag is provided without a value,
4223       then it is "true".
4224
4225   Alternate report of used bytes
4226       Some backends, most notably S3, do not report the amount of bytes used.
4227       If you need this information to be available when  running  df  on  the
4228       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
4229       flag set, instead of relying on the backend to report this information,
4230       rclone  will  scan  the whole remote similar to rclone size and compute
4231       the total used space itself.
4232
4233       WARNING. Contrary to rclone size, this flag ignores filters so that the
4234       result  is  accurate.   However,  this is very inefficient and may cost
4235       lots of API calls resulting in extra charges.  Use it as a last  resort
4236       and only with caching.
4237
4238   Auth Proxy
4239       If  you  supply the parameter --auth-proxy /path/to/program then rclone
4240       will use that program to generate backends on the fly  which  then  are
4241       used  to authenticate incoming requests.  This uses a simple JSON based
4242       protocol with input on STDIN and output on STDOUT.
4243
4244       PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used  togeth‐
4245       er, if --auth-proxy is set the authorized keys option will be ignored.
4246
4247       There       is      an      example      program      bin/test_proxy.py
4248       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
4249       rclone source code.
4250
4251       The  program's  job  is  to  take a user and pass on the input and turn
4252       those into the config for a backend on STDOUT  in  JSON  format.   This
4253       config  will  have any default parameters for the backend added, but it
4254       won't use configuration from environment variables or command line  op‐
4255       tions - it is the job of the proxy program to make a complete config.
4256
4257       This  config generated must have this extra parameter - _root - root to
4258       use for the backend
4259
4260       And it may have this parameter - _obscure - comma separated strings for
4261       parameters to obscure
4262
4263       If  password  authentication was used by the client, input to the proxy
4264       process (on STDIN) would look similar to this:
4265
4266              {
4267                  "user": "me",
4268                  "pass": "mypassword"
4269              }
4270
4271       If public-key authentication was used by the client, input to the proxy
4272       process (on STDIN) would look similar to this:
4273
4274              {
4275                  "user": "me",
4276                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
4277              }
4278
4279       And as an example return this on STDOUT
4280
4281              {
4282                  "type": "sftp",
4283                  "_root": "",
4284                  "_obscure": "pass",
4285                  "user": "me",
4286                  "pass": "mypassword",
4287                  "host": "sftp.example.com"
4288              }
4289
4290       This  would  mean  that an SFTP backend would be created on the fly for
4291       the user and pass/public_key returned in the output to the host  given.
4292       Note  that  since _obscure is set to pass, rclone will obscure the pass
4293       parameter before creating the backend (which is required for sftp back‐
4294       ends).
4295
4296       The program can manipulate the supplied user in any way, for example to
4297       make proxy to many different sftp backends, you could make the user  be
4298       user@example.com and then set the host to example.com in the output and
4299       the user to user.  For security you'd probably  want  to  restrict  the
4300       host to a limited list.
4301
4302       Note  that an internal cache is keyed on user so only use that for con‐
4303       figuration, don't use pass or public_key.  This also means  that  if  a
4304       user's  password or public-key is changed the cache will need to expire
4305       (which takes 5 mins) before it takes effect.
4306
4307       This can be used to build general purpose proxies to any kind of  back‐
4308       end that rclone supports.
4309
4310              rclone serve ftp remote:path [flags]
4311
4312   Options
4313                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:2121")
4314                    --auth-proxy string                      A program to use to create the backend from the auth.
4315                    --cert string                            TLS PEM key (concatenation of certificate and CA certificate)
4316                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
4317                    --dir-perms FileMode                     Directory permissions (default 0777)
4318                    --file-perms FileMode                    File permissions (default 0666)
4319                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
4320                -h, --help                                   help for ftp
4321                    --key string                             TLS PEM Private key
4322                    --no-checksum                            Don't compare checksums on up/download.
4323                    --no-modtime                             Don't read/write the modification time (can speed things up).
4324                    --no-seek                                Don't allow seeking in files.
4325                    --pass string                            Password for authentication. (empty value allow every password)
4326                    --passive-port string                    Passive port range to use. (default "30000-32000")
4327                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
4328                    --public-ip string                       Public IP address to advertise for passive connections.
4329                    --read-only                              Mount read-only.
4330                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
4331                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
4332                    --user string                            User name for authentication. (default "anonymous")
4333                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
4334                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
4335                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
4336                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
4337                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
4338                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
4339                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
4340                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
4341                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
4342                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size.
4343                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
4344                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
4345
4346       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4347       tions not listed here.
4348
4349   SEE ALSO
4350       • rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
4351         remote over a protocol.
4352

rclone serve http

4354       Serve the remote over HTTP.
4355
4356   Synopsis
4357       rclone  serve  http  implements  a basic web server to serve the remote
4358       over HTTP.  This can be viewed in a web browser or you can make  a  re‐
4359       mote of type http read from it.
4360
4361       You  can  use  the filter flags (e.g.  --include, --exclude) to control
4362       what is served.
4363
4364       The server will log errors.  Use -v to see access logs.
4365
4366       --bwlimit will be respected for file transfers.  Use --stats to control
4367       the stats printing.
4368
4369   Server options
4370       Use  --addr to specify which IP address and port the server should lis‐
4371       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
4372       By  default  it  only listens on localhost.  You can use port :0 to let
4373       the OS choose an available port.
4374
4375       If you set --addr to listen on a public or LAN  accessible  IP  address
4376       then using Authentication is advised - see the next section for info.
4377
4378       --server-read-timeout and --server-write-timeout can be used to control
4379       the timeouts on the server.  Note that this is the  total  time  for  a
4380       transfer.
4381
4382       --max-header-bytes controls the maximum number of bytes the server will
4383       accept in the HTTP header.
4384
4385       --baseurl controls the URL prefix that rclone serves from.  By  default
4386       rclone  will serve from the root.  If you used --baseurl "/rclone" then
4387       rclone would serve from a URL starting with "/rclone/".  This is useful
4388       if  you wish to proxy rclone serve.  Rclone automatically inserts lead‐
4389       ing and trailing "/" on --baseurl,  so  --baseurl  "rclone",  --baseurl
4390       "/rclone" and --baseurl "/rclone/" are all treated identically.
4391
4392       --template  allows  a user to specify a custom markup template for http
4393       and webdav serve functions.  The server exports the following markup to
4394       be used within the template to server pages:
4395
4396       Parameter                             Description
4397       ──────────────────────────────────────────────────────────────────────────
4398       .Name                                 The full path of a file/directory.
4399       .Title                                Directory listing of .Name
4400
4401       .Sort                                 The  current  sort  used.   This is
4402                                             changeable via ?sort= parameter
4403                                             Sort                       Options:
4404                                             namedirfirst,name,size,time    (de‐
4405                                             fault namedirfirst)
4406       .Order                                The current ordering used.  This is
4407                                             changeable via ?order= parameter
4408                                             Order  Options:  asc,desc  (default
4409                                             asc)
4410       .Query                                Currently unused.
4411       .Breadcrumb                           Allows for creating a relative nav‐
4412                                             igation
4413       -- .Link                              The  relative  to  the root link of
4414                                             the Text.
4415       -- .Text                              The Name of the directory.
4416       .Entries                              Information   about   a    specific
4417                                             file/directory.
4418       -- .URL                               The 'url' of an entry.
4419       -- .Leaf                              Currently same as 'URL' but intend‐
4420                                             ed to be 'just' the name.
4421       -- .IsDir                             Boolean for if an entry is a direc‐
4422                                             tory or not.
4423       -- .Size                              Size in Bytes of the entry.
4424       -- .ModTime                           The UTC timestamp of an entry.
4425
4426   Authentication
4427       By default this will serve files without needing a login.
4428
4429       You  can  either  use an htpasswd file which can take lots of users, or
4430       set a single username and password with the --user and --pass flags.
4431
4432       Use --htpasswd /path/to/htpasswd to provide an htpasswd file.  This  is
4433       in  standard  apache format and supports MD5, SHA1 and BCrypt for basic
4434       authentication.  Bcrypt is recommended.
4435
4436       To create an htpasswd file:
4437
4438              touch htpasswd
4439              htpasswd -B htpasswd user
4440              htpasswd -B htpasswd anotherUser
4441
4442       The password file can be updated while rclone is running.
4443
4444       Use --realm to set the authentication realm.
4445
4446   SSL/TLS
4447       By default this will serve over http.  If you want you can  serve  over
4448       https.   You  will  need  to supply the --cert and --key flags.  If you
4449       wish to do client side certificate validation then  you  will  need  to
4450       supply --client-ca also.
4451
4452       --cert should be either a PEM encoded certificate or a concatenation of
4453       that with the CA certificate.  --key should be the PEM encoded  private
4454       key  and  --client-ca  should be the PEM encoded client certificate au‐
4455       thority certificate.
4456
4457   VFS - Virtual File System
4458       This command uses the VFS layer.  This adapts the cloud storage objects
4459       that  rclone uses into something which looks much more like a disk fil‐
4460       ing system.
4461
4462       Cloud storage objects have lots of properties which  aren't  like  disk
4463       files  -  you  can't extend them or write to the middle of them, so the
4464       VFS layer has to deal with that.  Because there is no one right way  of
4465       doing this there are various options explained below.
4466
4467       The  VFS  layer  also  implements  a directory cache - this caches info
4468       about files and directories (but not the data) in memory.
4469
4470   VFS Directory Cache
4471       Using the --dir-cache-time flag, you can control how long  a  directory
4472       should  be  considered  up  to date and not refreshed from the backend.
4473       Changes made through the mount will appear  immediately  or  invalidate
4474       the cache.
4475
4476              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
4477              --poll-interval duration    Time to wait between polling for changes.
4478
4479       However,  changes  made directly on the cloud storage by the web inter‐
4480       face or a different copy of rclone will only be picked up once the  di‐
4481       rectory  cache  expires  if  the  backend  configured  does not support
4482       polling for changes.  If the backend supports polling, changes will  be
4483       picked up within the polling interval.
4484
4485       You  can  send  a SIGHUP signal to rclone for it to flush all directory
4486       caches, regardless of how old they are.  Assuming only one  rclone  in‐
4487       stance is running, you can reset the cache like this:
4488
4489              kill -SIGHUP $(pidof rclone)
4490
4491       If  you  configure  rclone with a remote control (/rc) then you can use
4492       rclone rc to flush the whole directory cache:
4493
4494              rclone rc vfs/forget
4495
4496       Or individual files or directories:
4497
4498              rclone rc vfs/forget file=path/to/file dir=path/to/dir
4499
4500   VFS File Buffering
4501       The --buffer-size flag determines the amount of memory,  that  will  be
4502       used to buffer data in advance.
4503
4504       Each  open file will try to keep the specified amount of data in memory
4505       at all times.  The buffered data is bound to one open file and won't be
4506       shared.
4507
4508       This flag is a upper limit for the used memory per open file.  The buf‐
4509       fer will only use memory for data that is downloaded but  not  not  yet
4510       read.   If  the  buffer is empty, only a small amount of memory will be
4511       used.
4512
4513       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
4514       fer-size * open files.
4515
4516   VFS File Caching
4517       These flags control the VFS file caching options.  File caching is nec‐
4518       essary to make the VFS layer appear compatible with a normal file  sys‐
4519       tem.  It can be disabled at the cost of some compatibility.
4520
4521       For  example  you'll need to enable VFS caching if you want to read and
4522       write simultaneously to a file.  See below for more details.
4523
4524       Note that the VFS cache is separate from the cache backend and you  may
4525       find that you need one or the other or both.
4526
4527              --cache-dir string                   Directory rclone will use for caching.
4528              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
4529              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
4530              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
4531              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
4532              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
4533
4534       If  run with -vv rclone will print the location of the file cache.  The
4535       files are stored in the user cache file area which is OS dependent  but
4536       can  be controlled with --cache-dir or setting the appropriate environ‐
4537       ment variable.
4538
4539       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
4540       higher the cache mode the more compatible rclone becomes at the cost of
4541       using disk space.
4542
4543       Note that files are written back to  the  remote  only  when  they  are
4544       closed  and  if they haven't been accessed for --vfs-write-back second.
4545       If rclone is quit or dies with files that haven't been uploaded,  these
4546       will be uploaded next time rclone is run with the same flags.
4547
4548       If  using --vfs-cache-max-size note that the cache may exceed this size
4549       for  two  reasons.   Firstly  because  it   is   only   checked   every
4550       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
4551       evicted from the cache.
4552
4553       You should not run two copies of rclone using the same VFS  cache  with
4554       the  same or overlapping remotes if using --vfs-cache-mode > off.  This
4555       can potentially cause data corruption if you do.  You can  work  around
4556       this  by  giving  each rclone its own cache hierarchy with --cache-dir.
4557       You don't need to worry about this if the remotes in use don't overlap.
4558
4559   --vfs-cache-mode off
4560       In this mode (the default) the cache will read directly from the remote
4561       and write directly to the remote without caching anything on disk.
4562
4563       This will mean some operations are not possible
4564
4565       • Files can't be opened for both read AND write
4566
4567       • Files opened for write can't be seeked
4568
4569       • Existing files opened for write must have O_TRUNC set
4570
4571       • Files open for read with O_TRUNC will be opened write only
4572
4573       • Files open for write only will behave as if O_TRUNC was supplied
4574
4575       • Open modes O_APPEND, O_TRUNC are ignored
4576
4577       • If an upload fails it can't be retried
4578
4579   --vfs-cache-mode minimal
4580       This  is  very  similar  to "off" except that files opened for read AND
4581       write will be buffered to disk.  This means that files opened for write
4582       will be a lot more compatible, but uses the minimal disk space.
4583
4584       These operations are not possible
4585
4586       • Files opened for write only can't be seeked
4587
4588       • Existing files opened for write must have O_TRUNC set
4589
4590       • Files opened for write only will ignore O_APPEND, O_TRUNC
4591
4592       • If an upload fails it can't be retried
4593
4594   --vfs-cache-mode writes
4595       In  this  mode  files opened for read only are still read directly from
4596       the remote, write only and read/write files are buffered to disk first.
4597
4598       This mode should support all normal file system operations.
4599
4600       If an upload fails it will be retried at exponentially  increasing  in‐
4601       tervals up to 1 minute.
4602
4603   --vfs-cache-mode full
4604       In  this mode all reads and writes are buffered to and from disk.  When
4605       data is read from the remote this is buffered to disk as well.
4606
4607       In this mode the files in the cache will be  sparse  files  and  rclone
4608       will keep track of which bits of the files it has downloaded.
4609
4610       So  if  an  application only reads the starts of each file, then rclone
4611       will only buffer the start of the file.  These files will appear to  be
4612       their  full  size in the cache, but they will be sparse files with only
4613       the data that has been downloaded present in them.
4614
4615       This mode should support all normal file system operations and is  oth‐
4616       erwise identical to --vfs-cache-mode writes.
4617
4618       When   reading   a   file   rclone   will   read   --buffer-size   plus
4619       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
4620       whereas the --vfs-read-ahead is buffered on disk.
4621
4622       When  using  this  mode it is recommended that --buffer-size is not set
4623       too big and --vfs-read-ahead is set large if required.
4624
4625       IMPORTANT not all file systems support  sparse  files.   In  particular
4626       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
4627       ry is on a filesystem which doesn't support sparse files  and  it  will
4628       log an ERROR message if one is detected.
4629
4630   VFS Performance
4631       These  flags may be used to enable/disable features of the VFS for per‐
4632       formance or other reasons.
4633
4634       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
4635       (or  use  --use-server-modtime for a slightly different effect) as each
4636       read of the modification time takes a transaction.
4637
4638              --no-checksum     Don't compare checksums on up/download.
4639              --no-modtime      Don't read/write the modification time (can speed things up).
4640              --no-seek         Don't allow seeking in files.
4641              --read-only       Mount read-only.
4642
4643       When rclone reads files from a remote it reads them  in  chunks.   This
4644       means that rather than requesting the whole file rclone reads the chunk
4645       specified.  This is advantageous because some cloud  providers  account
4646       for reads being all the data requested, not all the data delivered.
4647
4648       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
4649       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
4650       less it is set to "off" in which case there will be no limit.
4651
4652              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
4653              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
4654
4655       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
4656       than seeking rclone will wait a short time for the in sequence read  or
4657       write  to come in.  These flags only come into effect when not using an
4658       on disk cache file.
4659
4660              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
4661              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
4662
4663       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
4664       full),  the  global flag --transfers can be set to adjust the number of
4665       parallel uploads of modified files from cache (the related global  flag
4666       --checkers have no effect on mount).
4667
4668              --transfers int  Number of file transfers to run in parallel. (default 4)
4669
4670   VFS Case Sensitivity
4671       Linux  file  systems  are  case-sensitive: two files can differ only by
4672       case, and the exact case must be used when opening a file.
4673
4674       File systems in modern Windows are case-insensitive  but  case-preserv‐
4675       ing:  although  existing  files can be opened using any case, the exact
4676       case used to create the file is preserved and available for programs to
4677       query.  It is not allowed for two files in the same directory to differ
4678       only by case.
4679
4680       Usually file systems on macOS are case-insensitive.  It is possible  to
4681       make macOS file systems case-sensitive but that is not the default
4682
4683       The --vfs-case-insensitive mount flag controls how rclone handles these
4684       two cases.  If its value is "false", rclone passes file  names  to  the
4685       mounted file system as-is.  If the flag is "true" (or appears without a
4686       value on command line), rclone may perform a "fixup" as  explained  be‐
4687       low.
4688
4689       The  user may specify a file name to open/delete/rename/etc with a case
4690       different than what is stored on mounted file system.  If  an  argument
4691       refers to an existing file with exactly the same name, then the case of
4692       the existing file on the disk will be used.  However, if  a  file  name
4693       with  exactly  the  same name is not found but a name differing only by
4694       case exists, rclone will transparently fixup the name.  This fixup hap‐
4695       pens only when an existing file is requested.  Case sensitivity of file
4696       names created anew by rclone is controlled  by  an  underlying  mounted
4697       file system.
4698
4699       Note  that case sensitivity of the operating system running rclone (the
4700       target) may differ from case sensitivity of a file  system  mounted  by
4701       rclone (the source).  The flag controls whether "fixup" is performed to
4702       satisfy the target.
4703
4704       If the flag is not provided on the command line, then its default value
4705       depends  on  the  operating system where rclone runs: "true" on Windows
4706       and macOS, "false" otherwise.  If the flag is provided without a value,
4707       then it is "true".
4708
4709   Alternate report of used bytes
4710       Some backends, most notably S3, do not report the amount of bytes used.
4711       If you need this information to be available when  running  df  on  the
4712       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
4713       flag set, instead of relying on the backend to report this information,
4714       rclone  will  scan  the whole remote similar to rclone size and compute
4715       the total used space itself.
4716
4717       WARNING. Contrary to rclone size, this flag ignores filters so that the
4718       result  is  accurate.   However,  this is very inefficient and may cost
4719       lots of API calls resulting in extra charges.  Use it as a last  resort
4720       and only with caching.
4721
4722              rclone serve http remote:path [flags]
4723
4724   Options
4725                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:8080")
4726                    --baseurl string                         Prefix for URLs - leave blank for root.
4727                    --cert string                            SSL PEM key (concatenation of certificate and CA certificate)
4728                    --client-ca string                       Client certificate authority to verify clients with
4729                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
4730                    --dir-perms FileMode                     Directory permissions (default 0777)
4731                    --file-perms FileMode                    File permissions (default 0666)
4732                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
4733                -h, --help                                   help for http
4734                    --htpasswd string                        htpasswd file - if not provided no authentication is done
4735                    --key string                             SSL PEM Private key
4736                    --max-header-bytes int                   Maximum size of request header (default 4096)
4737                    --no-checksum                            Don't compare checksums on up/download.
4738                    --no-modtime                             Don't read/write the modification time (can speed things up).
4739                    --no-seek                                Don't allow seeking in files.
4740                    --pass string                            Password for authentication.
4741                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
4742                    --read-only                              Mount read-only.
4743                    --realm string                           realm for authentication (default "rclone")
4744                    --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
4745                    --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
4746                    --template string                        User Specified Template.
4747                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
4748                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
4749                    --user string                            User name for authentication.
4750                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
4751                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
4752                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
4753                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
4754                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
4755                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
4756                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
4757                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
4758                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
4759                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size.
4760                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
4761                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
4762
4763       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4764       tions not listed here.
4765
4766   SEE ALSO
4767       • rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
4768         remote over a protocol.
4769

rclone serve restic

4771       Serve the remote for restic's REST API.
4772
4773   Synopsis
4774       rclone  serve  restic  implements  restic's REST backend API over HTTP.
4775       This allows restic to use rclone as a data storage mechanism for  cloud
4776       providers that restic does not support directly.
4777
4778       Restic  (https://restic.net/) is a command line program for doing back‐
4779       ups.
4780
4781       The server will log errors.  Use -v to see access logs.
4782
4783       --bwlimit will be respected for file transfers.  Use --stats to control
4784       the stats printing.
4785
4786   Setting up rclone for use by restic
4787       First    set   up   a   remote   for   your   chosen   cloud   provider
4788       (https://rclone.org/docs/#configure).
4789
4790       Once you have set up the remote, check it is working with, for  example
4791       "rclone  lsd  remote:".  You may have called the remote something other
4792       than "remote:" - just substitute whatever you called it in the  follow‐
4793       ing instructions.
4794
4795       Now start the rclone restic server
4796
4797              rclone serve restic -v remote:backup
4798
4799       Where you can replace "backup" in the above by whatever path in the re‐
4800       mote you wish to use.
4801
4802       By default this will serve on "localhost:8080" you can change this with
4803       use of the "--addr" flag.
4804
4805       You might wish to start this server on boot.
4806
4807       Adding  --cache-objects=false will cause rclone to stop caching objects
4808       returned from the List call.   Caching  is  normally  desirable  as  it
4809       speeds  up downloading objects, saves transactions and uses very little
4810       memory.
4811
4812   Setting up restic to use rclone
4813       Now you can follow the  restic  instructions  (http://restic.readthedo
4814       cs.io/en/latest/030_preparing_a_new_repo.html#rest-server)  on  setting
4815       up restic.
4816
4817       Note that you will need restic 0.8.2  or  later  to  interoperate  with
4818       rclone.
4819
4820       For  the example above you will want to use "http://localhost:8080/" as
4821       the URL for the REST server.
4822
4823       For example:
4824
4825              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
4826              $ export RESTIC_PASSWORD=yourpassword
4827              $ restic init
4828              created restic backend 8b1a4b56ae at rest:http://localhost:8080/
4829
4830              Please note that knowledge of your password is required to access
4831              the repository. Losing your password means that your data is
4832              irrecoverably lost.
4833              $ restic backup /path/to/files/to/backup
4834              scan [/path/to/files/to/backup]
4835              scanned 189 directories, 312 files in 0:00
4836              [0:00] 100.00%  38.128 MiB / 38.128 MiB  501 / 501 items  0 errors  ETA 0:00
4837              duration: 0:00
4838              snapshot 45c8fdd8 saved
4839
4840   Multiple repositories
4841       Note that you can use the endpoint to host multiple  repositories.   Do
4842       this by adding a directory name or path after the URL.  Note that these
4843       must end with /.  Eg
4844
4845              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
4846              # backup user1 stuff
4847              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
4848              # backup user2 stuff
4849
4850   Private repositories
4851       The "--private-repos" flag can be used to limit users  to  repositories
4852       starting with a path of /<username>/.
4853
4854   Server options
4855       Use  --addr to specify which IP address and port the server should lis‐
4856       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
4857       By  default  it  only listens on localhost.  You can use port :0 to let
4858       the OS choose an available port.
4859
4860       If you set --addr to listen on a public or LAN  accessible  IP  address
4861       then using Authentication is advised - see the next section for info.
4862
4863       --server-read-timeout and --server-write-timeout can be used to control
4864       the timeouts on the server.  Note that this is the  total  time  for  a
4865       transfer.
4866
4867       --max-header-bytes controls the maximum number of bytes the server will
4868       accept in the HTTP header.
4869
4870       --baseurl controls the URL prefix that rclone serves from.  By  default
4871       rclone  will serve from the root.  If you used --baseurl "/rclone" then
4872       rclone would serve from a URL starting with "/rclone/".  This is useful
4873       if  you wish to proxy rclone serve.  Rclone automatically inserts lead‐
4874       ing and trailing "/" on --baseurl,  so  --baseurl  "rclone",  --baseurl
4875       "/rclone" and --baseurl "/rclone/" are all treated identically.
4876
4877       --template  allows  a user to specify a custom markup template for http
4878       and webdav serve functions.  The server exports the following markup to
4879       be used within the template to server pages:
4880
4881       Parameter                             Description
4882       ──────────────────────────────────────────────────────────────────────────
4883       .Name                                 The full path of a file/directory.
4884       .Title                                Directory listing of .Name
4885       .Sort                                 The  current  sort  used.   This is
4886                                             changeable via ?sort= parameter
4887                                             Sort                       Options:
4888                                             namedirfirst,name,size,time    (de‐
4889                                             fault namedirfirst)
4890       .Order                                The current ordering used.  This is
4891                                             changeable via ?order= parameter
4892                                             Order  Options:  asc,desc  (default
4893                                             asc)
4894       .Query                                Currently unused.
4895       .Breadcrumb                           Allows for creating a relative nav‐
4896                                             igation
4897       -- .Link                              The  relative  to  the root link of
4898                                             the Text.
4899       -- .Text                              The Name of the directory.
4900       .Entries                              Information   about   a    specific
4901                                             file/directory.
4902       -- .URL                               The 'url' of an entry.
4903       -- .Leaf                              Currently same as 'URL' but intend‐
4904                                             ed to be 'just' the name.
4905       -- .IsDir                             Boolean for if an entry is a direc‐
4906                                             tory or not.
4907       -- .Size                              Size in Bytes of the entry.
4908       -- .ModTime                           The UTC timestamp of an entry.
4909
4910   Authentication
4911       By default this will serve files without needing a login.
4912
4913       You  can  either  use an htpasswd file which can take lots of users, or
4914       set a single username and password with the --user and --pass flags.
4915
4916       Use --htpasswd /path/to/htpasswd to provide an htpasswd file.  This  is
4917       in  standard  apache format and supports MD5, SHA1 and BCrypt for basic
4918       authentication.  Bcrypt is recommended.
4919
4920       To create an htpasswd file:
4921
4922              touch htpasswd
4923              htpasswd -B htpasswd user
4924              htpasswd -B htpasswd anotherUser
4925
4926       The password file can be updated while rclone is running.
4927
4928       Use --realm to set the authentication realm.
4929
4930   SSL/TLS
4931       By default this will serve over http.  If you want you can  serve  over
4932       https.   You  will  need  to supply the --cert and --key flags.  If you
4933       wish to do client side certificate validation then  you  will  need  to
4934       supply --client-ca also.
4935
4936       --cert should be either a PEM encoded certificate or a concatenation of
4937       that with the CA certificate.  --key should be the PEM encoded  private
4938       key  and  --client-ca  should be the PEM encoded client certificate au‐
4939       thority certificate.
4940
4941              rclone serve restic remote:path [flags]
4942
4943   Options
4944                    --addr string                     IPaddress:Port or :Port to bind server to. (default "localhost:8080")
4945                    --append-only                     disallow deletion of repository data
4946                    --baseurl string                  Prefix for URLs - leave blank for root.
4947                    --cache-objects                   cache listed objects (default true)
4948                    --cert string                     SSL PEM key (concatenation of certificate and CA certificate)
4949                    --client-ca string                Client certificate authority to verify clients with
4950                -h, --help                            help for restic
4951                    --htpasswd string                 htpasswd file - if not provided no authentication is done
4952                    --key string                      SSL PEM Private key
4953                    --max-header-bytes int            Maximum size of request header (default 4096)
4954                    --pass string                     Password for authentication.
4955                    --private-repos                   users can only access their private repo
4956                    --realm string                    realm for authentication (default "rclone")
4957                    --server-read-timeout duration    Timeout for server reading data (default 1h0m0s)
4958                    --server-write-timeout duration   Timeout for server writing data (default 1h0m0s)
4959                    --stdio                           run an HTTP2 server on stdin/stdout
4960                    --template string                 User Specified Template.
4961                    --user string                     User name for authentication.
4962
4963       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4964       tions not listed here.
4965
4966   SEE ALSO
4967       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
4968         remote over a protocol.
4969

rclone serve sftp

4971       Serve the remote over SFTP.
4972
4973   Synopsis
4974       rclone serve sftp implements an SFTP server to serve  the  remote  over
4975       SFTP.  This can be used with an SFTP client or you can make a remote of
4976       type sftp to use with it.
4977
4978       You can use the filter flags (e.g.  --include,  --exclude)  to  control
4979       what is served.
4980
4981       The server will log errors.  Use -v to see access logs.
4982
4983       --bwlimit will be respected for file transfers.  Use --stats to control
4984       the stats printing.
4985
4986       You must provide  some  means  of  authentication,  either  with  --us‐
4987       er/--pass,  an  authorized  keys  file  (specify location with --autho‐
4988       rized-keys - the default is the same as ssh), an --auth-proxy,  or  set
4989       the --no-auth flag for no authentication when logging in.
4990
4991       Note that this also implements a small number of shell commands so that
4992       it can provide md5sum/sha1sum/df information for the rclone sftp  back‐
4993       end.   This  means  that is can support SHA1SUMs, MD5SUMs and the about
4994       command when paired with the rclone sftp backend.
4995
4996       If you don't supply a --key then rclone will generate one and cache  it
4997       for later use.
4998
4999       By  default  the  server binds to localhost:2022 - if you want it to be
5000       reachable externally then supply "--addr :2022" for example.
5001
5002       Note that the default of "--vfs-cache-mode off" is fine for the  rclone
5003       sftp backend, but it may not be with other SFTP clients.
5004
5005   VFS - Virtual File System
5006       This command uses the VFS layer.  This adapts the cloud storage objects
5007       that rclone uses into something which looks much more like a disk  fil‐
5008       ing system.
5009
5010       Cloud  storage  objects  have lots of properties which aren't like disk
5011       files - you can't extend them or write to the middle of  them,  so  the
5012       VFS  layer has to deal with that.  Because there is no one right way of
5013       doing this there are various options explained below.
5014
5015       The VFS layer also implements a directory  cache  -  this  caches  info
5016       about files and directories (but not the data) in memory.
5017
5018   VFS Directory Cache
5019       Using  the  --dir-cache-time flag, you can control how long a directory
5020       should be considered up to date and not  refreshed  from  the  backend.
5021       Changes  made  through  the mount will appear immediately or invalidate
5022       the cache.
5023
5024              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
5025              --poll-interval duration    Time to wait between polling for changes.
5026
5027       However, changes made directly on the cloud storage by the  web  inter‐
5028       face  or a different copy of rclone will only be picked up once the di‐
5029       rectory cache expires  if  the  backend  configured  does  not  support
5030       polling  for changes.  If the backend supports polling, changes will be
5031       picked up within the polling interval.
5032
5033       You can send a SIGHUP signal to rclone for it to  flush  all  directory
5034       caches,  regardless  of how old they are.  Assuming only one rclone in‐
5035       stance is running, you can reset the cache like this:
5036
5037              kill -SIGHUP $(pidof rclone)
5038
5039       If you configure rclone with a remote control (/rc) then  you  can  use
5040       rclone rc to flush the whole directory cache:
5041
5042              rclone rc vfs/forget
5043
5044       Or individual files or directories:
5045
5046              rclone rc vfs/forget file=path/to/file dir=path/to/dir
5047
5048   VFS File Buffering
5049       The  --buffer-size  flag  determines the amount of memory, that will be
5050       used to buffer data in advance.
5051
5052       Each open file will try to keep the specified amount of data in  memory
5053       at all times.  The buffered data is bound to one open file and won't be
5054       shared.
5055
5056       This flag is a upper limit for the used memory per open file.  The buf‐
5057       fer  will  only  use memory for data that is downloaded but not not yet
5058       read.  If the buffer is empty, only a small amount of  memory  will  be
5059       used.
5060
5061       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
5062       fer-size * open files.
5063
5064   VFS File Caching
5065       These flags control the VFS file caching options.  File caching is nec‐
5066       essary  to make the VFS layer appear compatible with a normal file sys‐
5067       tem.  It can be disabled at the cost of some compatibility.
5068
5069       For example you'll need to enable VFS caching if you want to  read  and
5070       write simultaneously to a file.  See below for more details.
5071
5072       Note  that the VFS cache is separate from the cache backend and you may
5073       find that you need one or the other or both.
5074
5075              --cache-dir string                   Directory rclone will use for caching.
5076              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
5077              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
5078              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
5079              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
5080              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
5081
5082       If run with -vv rclone will print the location of the file cache.   The
5083       files  are stored in the user cache file area which is OS dependent but
5084       can be controlled with --cache-dir or setting the appropriate  environ‐
5085       ment variable.
5086
5087       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
5088       higher the cache mode the more compatible rclone becomes at the cost of
5089       using disk space.
5090
5091       Note  that  files  are  written  back  to the remote only when they are
5092       closed and if they haven't been accessed for  --vfs-write-back  second.
5093       If  rclone is quit or dies with files that haven't been uploaded, these
5094       will be uploaded next time rclone is run with the same flags.
5095
5096       If using --vfs-cache-max-size note that the cache may exceed this  size
5097       for   two   reasons.    Firstly   because  it  is  only  checked  every
5098       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
5099       evicted from the cache.
5100
5101       You  should  not run two copies of rclone using the same VFS cache with
5102       the same or overlapping remotes if using --vfs-cache-mode > off.   This
5103       can  potentially  cause data corruption if you do.  You can work around
5104       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
5105       You don't need to worry about this if the remotes in use don't overlap.
5106
5107   --vfs-cache-mode off
5108       In this mode (the default) the cache will read directly from the remote
5109       and write directly to the remote without caching anything on disk.
5110
5111       This will mean some operations are not possible
5112
5113       • Files can't be opened for both read AND write
5114
5115       • Files opened for write can't be seeked
5116
5117       • Existing files opened for write must have O_TRUNC set
5118
5119       • Files open for read with O_TRUNC will be opened write only
5120
5121       • Files open for write only will behave as if O_TRUNC was supplied
5122
5123       • Open modes O_APPEND, O_TRUNC are ignored
5124
5125       • If an upload fails it can't be retried
5126
5127   --vfs-cache-mode minimal
5128       This is very similar to "off" except that files  opened  for  read  AND
5129       write will be buffered to disk.  This means that files opened for write
5130       will be a lot more compatible, but uses the minimal disk space.
5131
5132       These operations are not possible
5133
5134       • Files opened for write only can't be seeked
5135
5136       • Existing files opened for write must have O_TRUNC set
5137
5138       • Files opened for write only will ignore O_APPEND, O_TRUNC
5139
5140       • If an upload fails it can't be retried
5141
5142   --vfs-cache-mode writes
5143       In this mode files opened for read only are still  read  directly  from
5144       the remote, write only and read/write files are buffered to disk first.
5145
5146       This mode should support all normal file system operations.
5147
5148       If  an  upload fails it will be retried at exponentially increasing in‐
5149       tervals up to 1 minute.
5150
5151   --vfs-cache-mode full
5152       In this mode all reads and writes are buffered to and from disk.   When
5153       data is read from the remote this is buffered to disk as well.
5154
5155       In  this  mode  the  files in the cache will be sparse files and rclone
5156       will keep track of which bits of the files it has downloaded.
5157
5158       So if an application only reads the starts of each  file,  then  rclone
5159       will  only buffer the start of the file.  These files will appear to be
5160       their full size in the cache, but they will be sparse files  with  only
5161       the data that has been downloaded present in them.
5162
5163       This  mode should support all normal file system operations and is oth‐
5164       erwise identical to --vfs-cache-mode writes.
5165
5166       When   reading   a   file   rclone   will   read   --buffer-size   plus
5167       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
5168       whereas the --vfs-read-ahead is buffered on disk.
5169
5170       When using this mode it is recommended that --buffer-size  is  not  set
5171       too big and --vfs-read-ahead is set large if required.
5172
5173       IMPORTANT  not  all  file  systems support sparse files.  In particular
5174       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
5175       ry  is  on  a filesystem which doesn't support sparse files and it will
5176       log an ERROR message if one is detected.
5177
5178   VFS Performance
5179       These flags may be used to enable/disable features of the VFS for  per‐
5180       formance or other reasons.
5181
5182       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
5183       (or use --use-server-modtime for a slightly different effect)  as  each
5184       read of the modification time takes a transaction.
5185
5186              --no-checksum     Don't compare checksums on up/download.
5187              --no-modtime      Don't read/write the modification time (can speed things up).
5188              --no-seek         Don't allow seeking in files.
5189              --read-only       Mount read-only.
5190
5191       When  rclone  reads  files from a remote it reads them in chunks.  This
5192       means that rather than requesting the whole file rclone reads the chunk
5193       specified.   This  is advantageous because some cloud providers account
5194       for reads being all the data requested, not all the data delivered.
5195
5196       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
5197       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
5198       less it is set to "off" in which case there will be no limit.
5199
5200              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
5201              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
5202
5203       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
5204       than  seeking rclone will wait a short time for the in sequence read or
5205       write to come in.  These flags only come into effect when not using  an
5206       on disk cache file.
5207
5208              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
5209              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
5210
5211       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
5212       full), the global flag --transfers can be set to adjust the  number  of
5213       parallel  uploads of modified files from cache (the related global flag
5214       --checkers have no effect on mount).
5215
5216              --transfers int  Number of file transfers to run in parallel. (default 4)
5217
5218   VFS Case Sensitivity
5219       Linux file systems are case-sensitive: two files  can  differ  only  by
5220       case, and the exact case must be used when opening a file.
5221
5222       File  systems  in modern Windows are case-insensitive but case-preserv‐
5223       ing: although existing files can be opened using any  case,  the  exact
5224       case used to create the file is preserved and available for programs to
5225       query.  It is not allowed for two files in the same directory to differ
5226       only by case.
5227
5228       Usually  file systems on macOS are case-insensitive.  It is possible to
5229       make macOS file systems case-sensitive but that is not the default
5230
5231       The --vfs-case-insensitive mount flag controls how rclone handles these
5232       two  cases.   If  its value is "false", rclone passes file names to the
5233       mounted file system as-is.  If the flag is "true" (or appears without a
5234       value  on  command line), rclone may perform a "fixup" as explained be‐
5235       low.
5236
5237       The user may specify a file name to open/delete/rename/etc with a  case
5238       different  than  what is stored on mounted file system.  If an argument
5239       refers to an existing file with exactly the same name, then the case of
5240       the  existing  file  on the disk will be used.  However, if a file name
5241       with exactly the same name is not found but a name  differing  only  by
5242       case exists, rclone will transparently fixup the name.  This fixup hap‐
5243       pens only when an existing file is requested.  Case sensitivity of file
5244       names  created  anew  by  rclone is controlled by an underlying mounted
5245       file system.
5246
5247       Note that case sensitivity of the operating system running rclone  (the
5248       target)  may  differ  from case sensitivity of a file system mounted by
5249       rclone (the source).  The flag controls whether "fixup" is performed to
5250       satisfy the target.
5251
5252       If the flag is not provided on the command line, then its default value
5253       depends on the operating system where rclone runs:  "true"  on  Windows
5254       and macOS, "false" otherwise.  If the flag is provided without a value,
5255       then it is "true".
5256
5257   Alternate report of used bytes
5258       Some backends, most notably S3, do not report the amount of bytes used.
5259       If  you  need  this  information to be available when running df on the
5260       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
5261       flag set, instead of relying on the backend to report this information,
5262       rclone will scan the whole remote similar to rclone  size  and  compute
5263       the total used space itself.
5264
5265       WARNING. Contrary to rclone size, this flag ignores filters so that the
5266       result is accurate.  However, this is very  inefficient  and  may  cost
5267       lots  of API calls resulting in extra charges.  Use it as a last resort
5268       and only with caching.
5269
5270   Auth Proxy
5271       If you supply the parameter --auth-proxy /path/to/program  then  rclone
5272       will  use  that  program to generate backends on the fly which then are
5273       used to authenticate incoming requests.  This uses a simple JSON  based
5274       protocol with input on STDIN and output on STDOUT.
5275
5276       PLEASE  NOTE: --auth-proxy and --authorized-keys cannot be used togeth‐
5277       er, if --auth-proxy is set the authorized keys option will be ignored.
5278
5279       There      is      an      example      program       bin/test_proxy.py
5280       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
5281       rclone source code.
5282
5283       The program's job is to take a user and pass  on  the  input  and  turn
5284       those  into  the  config  for a backend on STDOUT in JSON format.  This
5285       config will have any default parameters for the backend added,  but  it
5286       won't  use configuration from environment variables or command line op‐
5287       tions - it is the job of the proxy program to make a complete config.
5288
5289       This config generated must have this extra parameter - _root - root  to
5290       use for the backend
5291
5292       And it may have this parameter - _obscure - comma separated strings for
5293       parameters to obscure
5294
5295       If password authentication was used by the client, input to  the  proxy
5296       process (on STDIN) would look similar to this:
5297
5298              {
5299                  "user": "me",
5300                  "pass": "mypassword"
5301              }
5302
5303       If public-key authentication was used by the client, input to the proxy
5304       process (on STDIN) would look similar to this:
5305
5306              {
5307                  "user": "me",
5308                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
5309              }
5310
5311       And as an example return this on STDOUT
5312
5313              {
5314                  "type": "sftp",
5315                  "_root": "",
5316                  "_obscure": "pass",
5317                  "user": "me",
5318                  "pass": "mypassword",
5319                  "host": "sftp.example.com"
5320              }
5321
5322       This would mean that an SFTP backend would be created on  the  fly  for
5323       the  user and pass/public_key returned in the output to the host given.
5324       Note that since _obscure is set to pass, rclone will obscure  the  pass
5325       parameter before creating the backend (which is required for sftp back‐
5326       ends).
5327
5328       The program can manipulate the supplied user in any way, for example to
5329       make  proxy to many different sftp backends, you could make the user be
5330       user@example.com and then set the host to example.com in the output and
5331       the  user  to  user.   For security you'd probably want to restrict the
5332       host to a limited list.
5333
5334       Note that an internal cache is keyed on user so only use that for  con‐
5335       figuration,  don't  use  pass or public_key.  This also means that if a
5336       user's password or public-key is changed the cache will need to  expire
5337       (which takes 5 mins) before it takes effect.
5338
5339       This  can be used to build general purpose proxies to any kind of back‐
5340       end that rclone supports.
5341
5342              rclone serve sftp remote:path [flags]
5343
5344   Options
5345                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:2022")
5346                    --auth-proxy string                      A program to use to create the backend from the auth.
5347                    --authorized-keys string                 Authorized keys file (default "~/.ssh/authorized_keys")
5348                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
5349                    --dir-perms FileMode                     Directory permissions (default 0777)
5350                    --file-perms FileMode                    File permissions (default 0666)
5351                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
5352                -h, --help                                   help for sftp
5353                    --key stringArray                        SSH private host key file (Can be multi-valued, leave blank to auto generate)
5354                    --no-auth                                Allow connections with no authentication if set.
5355                    --no-checksum                            Don't compare checksums on up/download.
5356                    --no-modtime                             Don't read/write the modification time (can speed things up).
5357                    --no-seek                                Don't allow seeking in files.
5358                    --pass string                            Password for authentication.
5359                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
5360                    --read-only                              Mount read-only.
5361                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
5362                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
5363                    --user string                            User name for authentication.
5364                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
5365                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
5366                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5367                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
5368                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
5369                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
5370                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
5371                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
5372                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
5373                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size.
5374                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
5375                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
5376
5377       See the global flags page (https://rclone.org/flags/)  for  global  op‐
5378       tions not listed here.
5379
5380   SEE ALSO
5381       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
5382         remote over a protocol.
5383

rclone serve webdav

5385       Serve remote:path over webdav.
5386
5387   Synopsis
5388       rclone serve webdav implements a basic webdav server to serve  the  re‐
5389       mote over HTTP via the webdav protocol.  This can be viewed with a web‐
5390       dav client, through a web browser, or you can make  a  remote  of  type
5391       webdav to read and write it.
5392
5393   Webdav options
5394   --etag-hash
5395       This  controls  the  ETag  header.   Without this flag the ETag will be
5396       based on the ModTime and Size of the object.
5397
5398       If this flag is set to "auto" then rclone will choose  the  first  sup‐
5399       ported hash on the backend or you can use a named hash such as "MD5" or
5400       "SHA-1".
5401
5402       Use "rclone hashsum" to see the full list.
5403
5404   Server options
5405       Use --addr to specify which IP address and port the server should  lis‐
5406       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
5407       By default it only listens on localhost.  You can use port  :0  to  let
5408       the OS choose an available port.
5409
5410       If  you  set  --addr to listen on a public or LAN accessible IP address
5411       then using Authentication is advised - see the next section for info.
5412
5413       --server-read-timeout and --server-write-timeout can be used to control
5414       the  timeouts  on  the  server.  Note that this is the total time for a
5415       transfer.
5416
5417       --max-header-bytes controls the maximum number of bytes the server will
5418       accept in the HTTP header.
5419
5420       --baseurl  controls the URL prefix that rclone serves from.  By default
5421       rclone will serve from the root.  If you used --baseurl "/rclone"  then
5422       rclone would serve from a URL starting with "/rclone/".  This is useful
5423       if you wish to proxy rclone serve.  Rclone automatically inserts  lead‐
5424       ing  and  trailing  "/"  on --baseurl, so --baseurl "rclone", --baseurl
5425       "/rclone" and --baseurl "/rclone/" are all treated identically.
5426
5427       --template allows a user to specify a custom markup template  for  http
5428       and webdav serve functions.  The server exports the following markup to
5429       be used within the template to server pages:
5430
5431       Parameter                             Description
5432       ──────────────────────────────────────────────────────────────────────────
5433       .Name                                 The full path of a file/directory.
5434       .Title                                Directory listing of .Name
5435       .Sort                                 The current  sort  used.   This  is
5436                                             changeable via ?sort= parameter
5437                                             Sort                       Options:
5438                                             namedirfirst,name,size,time    (de‐
5439                                             fault namedirfirst)
5440       .Order                                The current ordering used.  This is
5441                                             changeable via ?order= parameter
5442                                             Order  Options:  asc,desc  (default
5443                                             asc)
5444       .Query                                Currently unused.
5445       .Breadcrumb                           Allows for creating a relative nav‐
5446                                             igation
5447       -- .Link                              The relative to the  root  link  of
5448                                             the Text.
5449       -- .Text                              The Name of the directory.
5450       .Entries                              Information    about   a   specific
5451                                             file/directory.
5452       -- .URL                               The 'url' of an entry.
5453       -- .Leaf                              Currently same as 'URL' but intend‐
5454                                             ed to be 'just' the name.
5455       -- .IsDir                             Boolean for if an entry is a direc‐
5456                                             tory or not.
5457       -- .Size                              Size in Bytes of the entry.
5458       -- .ModTime                           The UTC timestamp of an entry.
5459
5460   Authentication
5461       By default this will serve files without needing a login.
5462
5463       You can either use an htpasswd file which can take lots  of  users,  or
5464       set a single username and password with the --user and --pass flags.
5465
5466       Use  --htpasswd /path/to/htpasswd to provide an htpasswd file.  This is
5467       in standard apache format and supports MD5, SHA1 and BCrypt  for  basic
5468       authentication.  Bcrypt is recommended.
5469
5470       To create an htpasswd file:
5471
5472              touch htpasswd
5473              htpasswd -B htpasswd user
5474              htpasswd -B htpasswd anotherUser
5475
5476       The password file can be updated while rclone is running.
5477
5478       Use --realm to set the authentication realm.
5479
5480   SSL/TLS
5481       By  default  this will serve over http.  If you want you can serve over
5482       https.  You will need to supply the --cert and  --key  flags.   If  you
5483       wish  to  do  client  side certificate validation then you will need to
5484       supply --client-ca also.
5485
5486       --cert should be either a PEM encoded certificate or a concatenation of
5487       that  with the CA certificate.  --key should be the PEM encoded private
5488       key and --client-ca should be the PEM encoded  client  certificate  au‐
5489       thority certificate.
5490
5491   VFS - Virtual File System
5492       This command uses the VFS layer.  This adapts the cloud storage objects
5493       that rclone uses into something which looks much more like a disk  fil‐
5494       ing system.
5495
5496       Cloud  storage  objects  have lots of properties which aren't like disk
5497       files - you can't extend them or write to the middle of  them,  so  the
5498       VFS  layer has to deal with that.  Because there is no one right way of
5499       doing this there are various options explained below.
5500
5501       The VFS layer also implements a directory  cache  -  this  caches  info
5502       about files and directories (but not the data) in memory.
5503
5504   VFS Directory Cache
5505       Using  the  --dir-cache-time flag, you can control how long a directory
5506       should be considered up to date and not  refreshed  from  the  backend.
5507       Changes  made  through  the mount will appear immediately or invalidate
5508       the cache.
5509
5510              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
5511              --poll-interval duration    Time to wait between polling for changes.
5512
5513       However, changes made directly on the cloud storage by the  web  inter‐
5514       face  or a different copy of rclone will only be picked up once the di‐
5515       rectory cache expires  if  the  backend  configured  does  not  support
5516       polling  for changes.  If the backend supports polling, changes will be
5517       picked up within the polling interval.
5518
5519       You can send a SIGHUP signal to rclone for it to  flush  all  directory
5520       caches,  regardless  of how old they are.  Assuming only one rclone in‐
5521       stance is running, you can reset the cache like this:
5522
5523              kill -SIGHUP $(pidof rclone)
5524
5525       If you configure rclone with a remote control (/rc) then  you  can  use
5526       rclone rc to flush the whole directory cache:
5527
5528              rclone rc vfs/forget
5529
5530       Or individual files or directories:
5531
5532              rclone rc vfs/forget file=path/to/file dir=path/to/dir
5533
5534   VFS File Buffering
5535       The  --buffer-size  flag  determines the amount of memory, that will be
5536       used to buffer data in advance.
5537
5538       Each open file will try to keep the specified amount of data in  memory
5539       at all times.  The buffered data is bound to one open file and won't be
5540       shared.
5541
5542       This flag is a upper limit for the used memory per open file.  The buf‐
5543       fer  will  only  use memory for data that is downloaded but not not yet
5544       read.  If the buffer is empty, only a small amount of  memory  will  be
5545       used.
5546
5547       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
5548       fer-size * open files.
5549
5550   VFS File Caching
5551       These flags control the VFS file caching options.  File caching is nec‐
5552       essary  to make the VFS layer appear compatible with a normal file sys‐
5553       tem.  It can be disabled at the cost of some compatibility.
5554
5555       For example you'll need to enable VFS caching if you want to  read  and
5556       write simultaneously to a file.  See below for more details.
5557
5558       Note  that the VFS cache is separate from the cache backend and you may
5559       find that you need one or the other or both.
5560
5561              --cache-dir string                   Directory rclone will use for caching.
5562              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
5563              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
5564              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
5565              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
5566              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
5567
5568       If run with -vv rclone will print the location of the file cache.   The
5569       files  are stored in the user cache file area which is OS dependent but
5570       can be controlled with --cache-dir or setting the appropriate  environ‐
5571       ment variable.
5572
5573       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
5574       higher the cache mode the more compatible rclone becomes at the cost of
5575       using disk space.
5576
5577       Note  that  files  are  written  back  to the remote only when they are
5578       closed and if they haven't been accessed for  --vfs-write-back  second.
5579       If  rclone is quit or dies with files that haven't been uploaded, these
5580       will be uploaded next time rclone is run with the same flags.
5581
5582       If using --vfs-cache-max-size note that the cache may exceed this  size
5583       for   two   reasons.    Firstly   because  it  is  only  checked  every
5584       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
5585       evicted from the cache.
5586
5587       You  should  not run two copies of rclone using the same VFS cache with
5588       the same or overlapping remotes if using --vfs-cache-mode > off.   This
5589       can  potentially  cause data corruption if you do.  You can work around
5590       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
5591       You don't need to worry about this if the remotes in use don't overlap.
5592
5593   --vfs-cache-mode off
5594       In this mode (the default) the cache will read directly from the remote
5595       and write directly to the remote without caching anything on disk.
5596
5597       This will mean some operations are not possible
5598
5599       • Files can't be opened for both read AND write
5600
5601       • Files opened for write can't be seeked
5602
5603       • Existing files opened for write must have O_TRUNC set
5604
5605       • Files open for read with O_TRUNC will be opened write only
5606
5607       • Files open for write only will behave as if O_TRUNC was supplied
5608
5609       • Open modes O_APPEND, O_TRUNC are ignored
5610
5611       • If an upload fails it can't be retried
5612
5613   --vfs-cache-mode minimal
5614       This is very similar to "off" except that files  opened  for  read  AND
5615       write will be buffered to disk.  This means that files opened for write
5616       will be a lot more compatible, but uses the minimal disk space.
5617
5618       These operations are not possible
5619
5620       • Files opened for write only can't be seeked
5621
5622       • Existing files opened for write must have O_TRUNC set
5623
5624       • Files opened for write only will ignore O_APPEND, O_TRUNC
5625
5626       • If an upload fails it can't be retried
5627
5628   --vfs-cache-mode writes
5629       In this mode files opened for read only are still  read  directly  from
5630       the remote, write only and read/write files are buffered to disk first.
5631
5632       This mode should support all normal file system operations.
5633
5634       If  an  upload fails it will be retried at exponentially increasing in‐
5635       tervals up to 1 minute.
5636
5637   --vfs-cache-mode full
5638       In this mode all reads and writes are buffered to and from disk.   When
5639       data is read from the remote this is buffered to disk as well.
5640
5641       In  this  mode  the  files in the cache will be sparse files and rclone
5642       will keep track of which bits of the files it has downloaded.
5643
5644       So if an application only reads the starts of each  file,  then  rclone
5645       will  only buffer the start of the file.  These files will appear to be
5646       their full size in the cache, but they will be sparse files  with  only
5647       the data that has been downloaded present in them.
5648
5649       This  mode should support all normal file system operations and is oth‐
5650       erwise identical to --vfs-cache-mode writes.
5651
5652       When   reading   a   file   rclone   will   read   --buffer-size   plus
5653       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
5654       whereas the --vfs-read-ahead is buffered on disk.
5655
5656       When using this mode it is recommended that --buffer-size  is  not  set
5657       too big and --vfs-read-ahead is set large if required.
5658
5659       IMPORTANT  not  all  file  systems support sparse files.  In particular
5660       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
5661       ry  is  on  a filesystem which doesn't support sparse files and it will
5662       log an ERROR message if one is detected.
5663
5664   VFS Performance
5665       These flags may be used to enable/disable features of the VFS for  per‐
5666       formance or other reasons.
5667
5668       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
5669       (or use --use-server-modtime for a slightly different effect)  as  each
5670       read of the modification time takes a transaction.
5671
5672              --no-checksum     Don't compare checksums on up/download.
5673              --no-modtime      Don't read/write the modification time (can speed things up).
5674              --no-seek         Don't allow seeking in files.
5675              --read-only       Mount read-only.
5676
5677       When  rclone  reads  files from a remote it reads them in chunks.  This
5678       means that rather than requesting the whole file rclone reads the chunk
5679       specified.   This  is advantageous because some cloud providers account
5680       for reads being all the data requested, not all the data delivered.
5681
5682       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
5683       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
5684       less it is set to "off" in which case there will be no limit.
5685
5686              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
5687              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
5688
5689       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
5690       than  seeking rclone will wait a short time for the in sequence read or
5691       write to come in.  These flags only come into effect when not using  an
5692       on disk cache file.
5693
5694              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
5695              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
5696
5697       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
5698       full), the global flag --transfers can be set to adjust the  number  of
5699       parallel  uploads of modified files from cache (the related global flag
5700       --checkers have no effect on mount).
5701
5702              --transfers int  Number of file transfers to run in parallel. (default 4)
5703
5704   VFS Case Sensitivity
5705       Linux file systems are case-sensitive: two files  can  differ  only  by
5706       case, and the exact case must be used when opening a file.
5707
5708       File  systems  in modern Windows are case-insensitive but case-preserv‐
5709       ing: although existing files can be opened using any  case,  the  exact
5710       case used to create the file is preserved and available for programs to
5711       query.  It is not allowed for two files in the same directory to differ
5712       only by case.
5713
5714       Usually  file systems on macOS are case-insensitive.  It is possible to
5715       make macOS file systems case-sensitive but that is not the default
5716
5717       The --vfs-case-insensitive mount flag controls how rclone handles these
5718       two  cases.   If  its value is "false", rclone passes file names to the
5719       mounted file system as-is.  If the flag is "true" (or appears without a
5720       value  on  command line), rclone may perform a "fixup" as explained be‐
5721       low.
5722
5723       The user may specify a file name to open/delete/rename/etc with a  case
5724       different  than  what is stored on mounted file system.  If an argument
5725       refers to an existing file with exactly the same name, then the case of
5726       the  existing  file  on the disk will be used.  However, if a file name
5727       with exactly the same name is not found but a name  differing  only  by
5728       case exists, rclone will transparently fixup the name.  This fixup hap‐
5729       pens only when an existing file is requested.  Case sensitivity of file
5730       names  created  anew  by  rclone is controlled by an underlying mounted
5731       file system.
5732
5733       Note that case sensitivity of the operating system running rclone  (the
5734       target)  may  differ  from case sensitivity of a file system mounted by
5735       rclone (the source).  The flag controls whether "fixup" is performed to
5736       satisfy the target.
5737
5738       If the flag is not provided on the command line, then its default value
5739       depends on the operating system where rclone runs:  "true"  on  Windows
5740       and macOS, "false" otherwise.  If the flag is provided without a value,
5741       then it is "true".
5742
5743   Alternate report of used bytes
5744       Some backends, most notably S3, do not report the amount of bytes used.
5745       If  you  need  this  information to be available when running df on the
5746       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
5747       flag set, instead of relying on the backend to report this information,
5748       rclone will scan the whole remote similar to rclone  size  and  compute
5749       the total used space itself.
5750
5751       WARNING. Contrary to rclone size, this flag ignores filters so that the
5752       result is accurate.  However, this is very  inefficient  and  may  cost
5753       lots  of API calls resulting in extra charges.  Use it as a last resort
5754       and only with caching.
5755
5756   Auth Proxy
5757       If you supply the parameter --auth-proxy /path/to/program  then  rclone
5758       will  use  that  program to generate backends on the fly which then are
5759       used to authenticate incoming requests.  This uses a simple JSON  based
5760       protocol with input on STDIN and output on STDOUT.
5761
5762       PLEASE  NOTE: --auth-proxy and --authorized-keys cannot be used togeth‐
5763       er, if --auth-proxy is set the authorized keys option will be ignored.
5764
5765       There      is      an      example      program       bin/test_proxy.py
5766       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
5767       rclone source code.
5768
5769       The program's job is to take a user and pass  on  the  input  and  turn
5770       those  into  the  config  for a backend on STDOUT in JSON format.  This
5771       config will have any default parameters for the backend added,  but  it
5772       won't  use configuration from environment variables or command line op‐
5773       tions - it is the job of the proxy program to make a complete config.
5774
5775       This config generated must have this extra parameter - _root - root  to
5776       use for the backend
5777
5778       And it may have this parameter - _obscure - comma separated strings for
5779       parameters to obscure
5780
5781       If password authentication was used by the client, input to  the  proxy
5782       process (on STDIN) would look similar to this:
5783
5784              {
5785                  "user": "me",
5786                  "pass": "mypassword"
5787              }
5788
5789       If public-key authentication was used by the client, input to the proxy
5790       process (on STDIN) would look similar to this:
5791
5792              {
5793                  "user": "me",
5794                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
5795              }
5796
5797       And as an example return this on STDOUT
5798
5799              {
5800                  "type": "sftp",
5801                  "_root": "",
5802                  "_obscure": "pass",
5803                  "user": "me",
5804                  "pass": "mypassword",
5805                  "host": "sftp.example.com"
5806              }
5807
5808       This would mean that an SFTP backend would be created on  the  fly  for
5809       the  user and pass/public_key returned in the output to the host given.
5810       Note that since _obscure is set to pass, rclone will obscure  the  pass
5811       parameter before creating the backend (which is required for sftp back‐
5812       ends).
5813
5814       The program can manipulate the supplied user in any way, for example to
5815       make  proxy to many different sftp backends, you could make the user be
5816       user@example.com and then set the host to example.com in the output and
5817       the  user  to  user.   For security you'd probably want to restrict the
5818       host to a limited list.
5819
5820       Note that an internal cache is keyed on user so only use that for  con‐
5821       figuration,  don't  use  pass or public_key.  This also means that if a
5822       user's password or public-key is changed the cache will need to  expire
5823       (which takes 5 mins) before it takes effect.
5824
5825       This  can be used to build general purpose proxies to any kind of back‐
5826       end that rclone supports.
5827
5828              rclone serve webdav remote:path [flags]
5829
5830   Options
5831                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:8080")
5832                    --auth-proxy string                      A program to use to create the backend from the auth.
5833                    --baseurl string                         Prefix for URLs - leave blank for root.
5834                    --cert string                            SSL PEM key (concatenation of certificate and CA certificate)
5835                    --client-ca string                       Client certificate authority to verify clients with
5836                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
5837                    --dir-perms FileMode                     Directory permissions (default 0777)
5838                    --disable-dir-list                       Disable HTML directory list on GET request for a directory
5839                    --etag-hash string                       Which hash to use for the ETag, or auto or blank for off
5840                    --file-perms FileMode                    File permissions (default 0666)
5841                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
5842                -h, --help                                   help for webdav
5843                    --htpasswd string                        htpasswd file - if not provided no authentication is done
5844                    --key string                             SSL PEM Private key
5845                    --max-header-bytes int                   Maximum size of request header (default 4096)
5846                    --no-checksum                            Don't compare checksums on up/download.
5847                    --no-modtime                             Don't read/write the modification time (can speed things up).
5848                    --no-seek                                Don't allow seeking in files.
5849                    --pass string                            Password for authentication.
5850                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
5851                    --read-only                              Mount read-only.
5852                    --realm string                           realm for authentication (default "rclone")
5853                    --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
5854                    --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
5855                    --template string                        User Specified Template.
5856                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
5857                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
5858                    --user string                            User name for authentication.
5859                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
5860                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
5861                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5862                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
5863                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
5864                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
5865                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
5866                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
5867                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
5868                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size.
5869                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
5870                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
5871
5872       See the global flags page (https://rclone.org/flags/)  for  global  op‐
5873       tions not listed here.
5874
5875   SEE ALSO
5876       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
5877         remote over a protocol.
5878

rclone settier

5880       Changes storage class/tier of objects in remote.
5881
5882   Synopsis
5883       rclone settier changes storage tier or class at  remote  if  supported.
5884       Few  cloud  storage  services provides different storage classes on ob‐
5885       jects, for example AWS S3 and Glacier, Azure Blob storage -  Hot,  Cool
5886       and Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline
5887       etc.
5888
5889       Note that, certain tier changes make objects not  available  to  access
5890       immediately.   For  example  tiering  to  archive in azure blob storage
5891       makes objects in frozen state, user can  restore  by  setting  tier  to
5892       Hot/Cool, similarly S3 to Glacier makes object inaccessible.true
5893
5894       You can use it to tier single object
5895
5896              rclone settier Cool remote:path/file
5897
5898       Or use rclone filters to set tier on only specific files
5899
5900              rclone --include "*.txt" settier Hot remote:path/dir
5901
5902       Or  just  provide  remote  directory and all files in directory will be
5903       tiered
5904
5905              rclone settier tier remote:path/dir
5906
5907              rclone settier tier remote:path [flags]
5908
5909   Options
5910                -h, --help   help for settier
5911
5912       See the global flags page (https://rclone.org/flags/)  for  global  op‐
5913       tions not listed here.
5914
5915   SEE ALSO
5916       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
5917         commands, flags and backends.
5918

rclone test

5920       Run a test command
5921
5922   Synopsis
5923       Rclone test is used to run test commands.
5924
5925       Select which test comand you want with the subcommand, eg
5926
5927              rclone test memory remote:
5928
5929       Each subcommand has its own options which you can see in their help.
5930
5931       NB Be careful running these commands, they may  do  strange  things  so
5932       reading their documentation first is recommended.
5933
5934   Options
5935                -h, --help   help for test
5936
5937       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5938       tions not listed here.
5939
5940   SEE ALSO
5941       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
5942         commands, flags and backends.
5943
5944       • rclone  test  histogram (https://rclone.org/commands/rclone_test_his
5945         togram/) - Makes a histogram of file name characters.
5946
5947       • rclone test  info  (https://rclone.org/commands/rclone_test_info/)  -
5948         Discovers file name or other limitations for paths.
5949
5950       • rclone  test makefiles (https://rclone.org/commands/rclone_test_make
5951         files/) - Make a random file hierarchy in
5952
5953       • rclone test memory  (https://rclone.org/commands/rclone_test_memory/)
5954         -  Load  all the objects at remote:path into memory and report memory
5955         stats.
5956

rclone test histogram

5958       Makes a histogram of file name characters.
5959
5960   Synopsis
5961       This command outputs JSON which shows the histogram of characters  used
5962       in filenames in the remote:path specified.
5963
5964       The  data doesn't contain any identifying information but is useful for
5965       the rclone developers when developing filename compression.
5966
5967              rclone test histogram [remote:path] [flags]
5968
5969   Options
5970                -h, --help   help for histogram
5971
5972       See the global flags page (https://rclone.org/flags/)  for  global  op‐
5973       tions not listed here.
5974
5975   SEE ALSO
5976       • rclone  test  (https://rclone.org/commands/rclone_test/) - Run a test
5977         command
5978

rclone test info

5980       Discovers file name or other limitations for paths.
5981
5982   Synopsis
5983       rclone info discovers what filenames and upload methods are possible to
5984       write  to  the  paths  passed in and how long they can be.  It can take
5985       some time.  It will write test files into the  remote:path  passed  in.
5986       It outputs a bit of go code for each one.
5987
5988       NB this can create undeletable files and other hazards - use with care
5989
5990              rclone test info [remote:path]+ [flags]
5991
5992   Options
5993                    --all                    Run all tests.
5994                    --check-control          Check control characters.
5995                    --check-length           Check max filename length.
5996                    --check-normalization    Check UTF-8 Normalization.
5997                    --check-streaming        Check uploads with indeterminate file size.
5998                -h, --help                   help for info
5999                    --upload-wait duration   Wait after writing a file.
6000                    --write-json string      Write results to file.
6001
6002       See  the  global  flags page (https://rclone.org/flags/) for global op‐
6003       tions not listed here.
6004
6005   SEE ALSO
6006       • rclone test (https://rclone.org/commands/rclone_test/) - Run  a  test
6007         command
6008

rclone test makefiles

6010       Make a random file hierarchy in
6011
6012              rclone test makefiles <dir> [flags]
6013
6014   Options
6015                    --files int                  Number of files to create (default 1000)
6016                    --files-per-directory int    Average number of files per directory (default 10)
6017                -h, --help                       help for makefiles
6018                    --max-file-size SizeSuffix   Maximum size of files to create (default 100)
6019                    --max-name-length int        Maximum size of file names (default 12)
6020                    --min-file-size SizeSuffix   Minimum size of file to create
6021                    --min-name-length int        Minimum size of file names (default 4)
6022
6023       See  the  global  flags page (https://rclone.org/flags/) for global op‐
6024       tions not listed here.
6025
6026   SEE ALSO
6027       • rclone test (https://rclone.org/commands/rclone_test/) - Run  a  test
6028         command
6029

rclone test memory

6031       Load  all  the  objects  at  remote:path  into memory and report memory
6032       stats.
6033
6034              rclone test memory remote:path [flags]
6035
6036   Options
6037                -h, --help   help for memory
6038
6039       See the global flags page (https://rclone.org/flags/)  for  global  op‐
6040       tions not listed here.
6041
6042   SEE ALSO
6043       • rclone  test  (https://rclone.org/commands/rclone_test/) - Run a test
6044         command
6045

rclone touch

6047       Create new file or change file modification time.
6048
6049   Synopsis
6050       Set the modification time on object(s) as specified by  remote:path  to
6051       have the current time.
6052
6053       If  remote:path does not exist then a zero sized object will be created
6054       unless the --no-create flag is provided.
6055
6056       If --timestamp is used then it will set the modification time  to  that
6057       time instead of the current time.  Times may be specified as one of:
6058
6059       • 'YYMMDD' - e.g.  17.10.30
6060
6061       • 'YYYY-MM-DDTHH:MM:SS' - e.g.  2006-01-02T15:04:05
6062
6063       • 'YYYY-MM-DDTHH:MM:SS.SSS' - e.g.  2006-01-02T15:04:05.123456789
6064
6065       Note  that  --timestamp  is  in UTC if you want local time then add the
6066       --localtime flag.
6067
6068              rclone touch remote:path [flags]
6069
6070   Options
6071                -h, --help               help for touch
6072                    --localtime          Use localtime for timestamp, not UTC.
6073                -C, --no-create          Do not create the file if it does not exist.
6074                -t, --timestamp string   Use specified time instead of the current time of day.
6075
6076       See the global flags page (https://rclone.org/flags/)  for  global  op‐
6077       tions not listed here.
6078
6079   SEE ALSO
6080       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
6081         commands, flags and backends.
6082

rclone tree

6084       List the contents of the remote in a tree like fashion.
6085
6086   Synopsis
6087       rclone tree lists the contents of a remote in a similar way to the unix
6088       tree command.
6089
6090       For example
6091
6092              $ rclone tree remote:path
6093              /
6094              ├── file1
6095              ├── file2
6096              ├── file3
6097              └── subdir
6098                  ├── file4
6099                  └── file5
6100
6101              1 directories, 5 files
6102
6103       You  can  use  any of the filtering options with the tree command (e.g.
6104       --include and --exclude).  You can also use --fast-list.
6105
6106       The tree command has many options for controlling the listing which are
6107       compatible with the tree command.  Note that not all of them have short
6108       options as they conflict with rclone's short options.
6109
6110              rclone tree remote:path [flags]
6111
6112   Options
6113                -a, --all             All files are listed (list . files too).
6114                -C, --color           Turn colorization on always.
6115                -d, --dirs-only       List directories only.
6116                    --dirsfirst       List directories before files (-U disables).
6117                    --full-path       Print the full path prefix for each file.
6118                -h, --help            help for tree
6119                    --human           Print the size in a more human readable way.
6120                    --level int       Descend only level directories deep.
6121                -D, --modtime         Print the date of last modification.
6122                    --noindent        Don't print indentation lines.
6123                    --noreport        Turn off file/directory count at end of tree listing.
6124                -o, --output string   Output to file instead of stdout.
6125                -p, --protections     Print the protections for each file.
6126                -Q, --quote           Quote filenames with double quotes.
6127                -s, --size            Print the size in bytes of each file.
6128                    --sort string     Select sort: name,version,size,mtime,ctime.
6129                    --sort-ctime      Sort files by last status change time.
6130                -t, --sort-modtime    Sort files by last modification time.
6131                -r, --sort-reverse    Reverse the order of the sort.
6132                -U, --unsorted        Leave files unsorted.
6133                    --version         Sort files alphanumerically by version.
6134
6135       See the global flags page (https://rclone.org/flags/)  for  global  op‐
6136       tions not listed here.
6137
6138   SEE ALSO
6139       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
6140         commands, flags and backends.
6141
6142   Copying single files
6143       rclone normally syncs or copies directories.  However,  if  the  source
6144       remote points to a file, rclone will just copy that file.  The destina‐
6145       tion remote must point to a directory -  rclone  will  give  the  error
6146       Failed  to create file system for "remote:file": is a file not a direc‐
6147       tory if it isn't.
6148
6149       For example, suppose you have a remote with a file in called  test.jpg,
6150       then you could copy just that file like this
6151
6152              rclone copy remote:test.jpg /tmp/download
6153
6154       The file test.jpg will be placed inside /tmp/download.
6155
6156       This is equivalent to specifying
6157
6158              rclone copy --files-from /tmp/files remote: /tmp/download
6159
6160       Where /tmp/files contains the single line
6161
6162              test.jpg
6163
6164       It  is recommended to use copy when copying individual files, not sync.
6165       They have pretty much the same effect but copy will use a lot less mem‐
6166       ory.
6167
6168   Syntax of remote paths
6169       The syntax of the paths passed to the rclone command are as follows.
6170
6171   /path/to/dir
6172       This refers to the local file system.
6173
6174       On  Windows  \  may be used instead of / in local paths only, non local
6175       paths must use /.  See local filesystem (https://rclone.org/local/#win‐
6176       dows-paths) documentation for more about Windows-specific paths.
6177
6178       These  paths  needn't  start with a leading / - if they don't then they
6179       will be relative to the current directory.
6180
6181   remote:path/to/dir
6182       This refers to a directory path/to/dir on remote:  as  defined  in  the
6183       config file (configured with rclone config).
6184
6185   remote:/path/to/dir
6186       On  most  backends  this  is  refers  to  the  same  directory  as  re‐
6187       mote:path/to/dir and that format should be preferred.  On a very  small
6188       number  of remotes (FTP, SFTP, Dropbox for business) this will refer to
6189       a different directory.  On these, paths without a leading / will  refer
6190       to  your  "home" directory and paths with a leading / will refer to the
6191       root.
6192
6193   :backend:path/to/dir
6194       This is an advanced form for creating  remotes  on  the  fly.   backend
6195       should be the name or prefix of a backend (the type in the config file)
6196       and all the configuration for the backend should  be  provided  on  the
6197       command line (or in environment variables).
6198
6199       Here are some examples:
6200
6201              rclone lsd --http-url https://pub.rclone.org :http:
6202
6203       To list all the directories in the root of https://pub.rclone.org/.
6204
6205              rclone lsf --http-url https://example.com :http:path/to/dir
6206
6207       To list files and directories in https://example.com/path/to/dir/
6208
6209              rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir
6210
6211       To  copy  files  and  directories in https://example.com/path/to/dir to
6212       /tmp/dir.
6213
6214              rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir
6215
6216       To copy files and directories from example.com in the relative directo‐
6217       ry path/to/dir to /tmp/dir using sftp.
6218
6219   Connection strings
6220       The  above  examples can also be written using a connection string syn‐
6221       tax, so instead of providing the arguments as command  line  parameters
6222       --http-url  https://pub.rclone.org they are provided as part of the re‐
6223       mote specification as a kind of connection string.
6224
6225              rclone lsd ":http,url='https://pub.rclone.org':"
6226              rclone lsf ":http,url='https://example.com':path/to/dir"
6227              rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir
6228              rclone copy :sftp,host=example.com:path/to/dir /tmp/dir
6229
6230       These can apply to modify existing remotes as well as  create  new  re‐
6231       motes with the on the fly syntax.  This example is equivalent to adding
6232       the --drive-shared-with-me parameter to the remote gdrive:.
6233
6234              rclone lsf "gdrive,shared_with_me:path/to/dir"
6235
6236       The major advantage to using the connection string style syntax is that
6237       it  only applies the the remote, not to all the remotes of that type of
6238       the command line.  A common confusion is this attempt to  copy  a  file
6239       shared  on google drive to the normal drive which does not work because
6240       the --drive-shared-with-me flag applies to both the source and the des‐
6241       tination.
6242
6243              rclone copy --drive-shared-with-me gdrive:shared-file.txt gdrive:
6244
6245       However using the connection string syntax, this does work.
6246
6247              rclone copy "gdrive,shared_with_me:shared-file.txt" gdrive:
6248
6249       The connection strings have the following syntax
6250
6251              remote,parameter=value,parameter2=value2:path/to/dir
6252              :backend,parameter=value,parameter2=value2:path/to/dir
6253
6254       If  the parameter has a : or , then it must be placed in quotes " or ',
6255       so
6256
6257              remote,parameter="colon:value",parameter2="comma,value":path/to/dir
6258              :backend,parameter='colon:value',parameter2='comma,value':path/to/dir
6259
6260       If a quoted value needs to include that quote, then it should  be  dou‐
6261       bled, so
6262
6263              remote,parameter="with""quote",parameter2='with''quote':path/to/dir
6264
6265       This will make parameter be with"quote and parameter2 be with'quote.
6266
6267       If you leave off the =parameter then rclone will substitute =true which
6268       works very well with flags.  For example to use s3  configured  in  the
6269       environment you could use:
6270
6271              rclone lsd :s3,env_auth:
6272
6273       Which is equivalent to
6274
6275              rclone lsd :s3,env_auth=true:
6276
6277       Note  that on the command line you might need to surround these connec‐
6278       tion strings with " or ' to stop the  shell  interpreting  any  special
6279       characters within them.
6280
6281       If  you  are  a  shell master then you'll know which strings are OK and
6282       which aren't, but if you aren't sure then enclose them in " and  use  '
6283       as the inside quote.  This syntax works on all OSes.
6284
6285              rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir
6286
6287       On  Linux/macOS  some characters are still interpreted inside " strings
6288       in the shell (notably \ and $ and ") so if your strings  contain  those
6289       you  can swap the roles of " and ' thus.  (This syntax does not work on
6290       Windows.)
6291
6292              rclone copy ':http,url="https://example.com":path/to/dir' /tmp/dir
6293
6294   Connection strings, config and logging
6295       If you supply extra configuration to a backend by  command  line  flag,
6296       environment variable or connection string then rclone will add a suffix
6297       based on the hash of the config to the name of the remote, eg
6298
6299              rclone -vv lsf --s3-chunk-size 20M s3:
6300
6301       Has the log message
6302
6303              DEBUG : s3: detected overridden config - adding "{Srj1p}" suffix to name
6304
6305       This is so rclone can tell the modified remote apart from  the  unmodi‐
6306       fied remote when caching the backends.
6307
6308       This should only be noticeable in the logs.
6309
6310       This means that on the fly backends such as
6311
6312              rclone -vv lsf :s3,env_auth:
6313
6314       Will get their own names
6315
6316              DEBUG : :s3: detected overridden config - adding "{YTu53}" suffix to name
6317
6318   Valid remote names
6319       • Remote names may only contain 0-9, A-Z ,a-z ,_ , - and space.
6320
6321       • Remote names may not start with -.
6322
6323   Quoting and the shell
6324       When  you  are typing commands to your computer you are using something
6325       called the command line shell.  This interprets various  characters  in
6326       an OS specific way.
6327
6328       Here  are  some  gotchas which may help users unfamiliar with the shell
6329       rules
6330
6331   Linux / OSX
6332       If your names have spaces or shell metacharacters (e.g.  *, ?, $, ', ",
6333       etc.) then you must quote them.  Use single quotes ' by default.
6334
6335              rclone copy 'Important files?' remote:backup
6336
6337       If you want to send a ' you will need to use ", e.g.
6338
6339              rclone copy "O'Reilly Reviews" remote:backup
6340
6341       The  rules  for  quoting metacharacters are complicated and if you want
6342       the full details you'll have to consult the manual page for your shell.
6343
6344   Windows
6345       If your names have spaces in you need to put them in ", e.g.
6346
6347              rclone copy "E:\folder name\folder name\folder name" remote:backup
6348
6349       If you are using the root directory on its own then don't quote it (see
6350       #464 (https://github.com/rclone/rclone/issues/464) for why), e.g.
6351
6352              rclone copy E:\ remote:backup
6353
6354   Copying files or directories with : in the names
6355       rclone  uses  : to mark a remote name.  This is, however, a valid file‐
6356       name component in non-Windows OSes.  The remote name parser  will  only
6357       search for a : up to the first / so if you need to act on a file or di‐
6358       rectory like this then use the full path starting with a /, or  use  ./
6359       as a current directory prefix.
6360
6361       So to sync a directory called sync:me to a remote called remote: use
6362
6363              rclone sync -i ./sync:me remote:path
6364
6365       or
6366
6367              rclone sync -i /full/path/to/sync:me remote:path
6368
6369   Server Side Copy
6370       Most  remotes (but not all - see the overview (https://rclone.org/over
6371       view/#optional-features)) support server-side copy.
6372
6373       This means if you want to copy one folder to another then rclone  won't
6374       download  all the files and re-upload them; it will instruct the server
6375       to copy them in place.
6376
6377       Eg
6378
6379              rclone copy s3:oldbucket s3:newbucket
6380
6381       Will copy the contents of oldbucket to  newbucket  without  downloading
6382       and re-uploading.
6383
6384       Remotes  which  don't support server-side copy will download and re-up‐
6385       load in this case.
6386
6387       Server side copies are used with sync and copy and will  be  identified
6388       in  the log when using the -v flag.  The move command may also use them
6389       if remote doesn't support server-side move directly.  This is  done  by
6390       issuing  a  server-side copy then a delete which is much quicker than a
6391       download and re-upload.
6392
6393       Server side copies will only be attempted if the remote names  are  the
6394       same.
6395
6396       This can be used when scripting to make aged backups efficiently, e.g.
6397
6398              rclone sync -i remote:current-backup remote:previous-backup
6399              rclone sync -i /path/to/files remote:current-backup
6400
6401   Options
6402       Rclone has a number of options to control its behaviour.
6403
6404       Options  that  take  parameters can have the values passed in two ways,
6405       --option=value or --option value.  However boolean (true/false) options
6406       behave slightly differently to the other options in that --boolean sets
6407       the option to true and the absence of the flag sets it to false.  It is
6408       also  possible to specify --boolean=false or --boolean=true.  Note that
6409       --boolean false is not valid - this is  parsed  as  --boolean  and  the
6410       false is parsed as an extra command line argument for rclone.
6411
6412       Options  which use TIME use the go time parser.  A duration string is a
6413       possibly signed sequence of decimal numbers, each with  optional  frac‐
6414       tion  and  a  unit  suffix, such as "300ms", "-1.5h" or "2h45m".  Valid
6415       time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
6416
6417       Options which use SIZE use kByte by default.  However, a  suffix  of  b
6418       for bytes, k for kBytes, M for MBytes, G for GBytes, T for TBytes and P
6419       for PBytes may be used.  These are the binary units,  e.g.   1,  2**10,
6420       2**20, 2**30 respectively.
6421
6422   --backup-dir=DIR
6423       When using sync, copy or move any files which would have been overwrit‐
6424       ten or deleted are moved in their original hierarchy into this directo‐
6425       ry.
6426
6427       If  --suffix is set, then the moved files will have the suffix added to
6428       them.  If there is a file with the same path (after the suffix has been
6429       added) in DIR, then it will be overwritten.
6430
6431       The  remote  in  use must support server-side move or copy and you must
6432       use the same remote as the destination of the sync.  The backup  direc‐
6433       tory must not overlap the destination directory.
6434
6435       For example
6436
6437              rclone sync -i /path/to/local remote:current --backup-dir remote:old
6438
6439       will  sync  /path/to/local  to  remote:current, but for any files which
6440       would have been updated or deleted will be stored in remote:old.
6441
6442       If running rclone from a script you might want to use today's  date  as
6443       the  directory  name  passed to --backup-dir to store the old files, or
6444       you might want to pass --suffix with today's date.
6445
6446       See --compare-dest and --copy-dest.
6447
6448   --bind string
6449       Local address to bind to for outgoing connections.  This can be an IPv4
6450       address  (1.2.3.4),  an IPv6 address (1234::789A) or host name.  If the
6451       host name doesn't resolve or resolves to more than one  IP  address  it
6452       will give an error.
6453
6454   --bwlimit=BANDWIDTH_SPEC
6455       This option controls the bandwidth limit.  For example
6456
6457              --bwlimit 10M
6458
6459       would  mean  limit the upload and download bandwidth to 10 MByte/s.  NB
6460       this is bytes per second not bits per second.  To use a  single  limit,
6461       specify  the  desired  bandwidth  in kBytes/s, or use a suffix b|k|M|G.
6462       The default is 0 which means to not limit bandwidth.
6463
6464       The upload and download  bandwidth  can  be  specified  seperately,  as
6465       --bwlimit UP:DOWN, so
6466
6467              --bwlimit 10M:100k
6468
6469       would  mean  limit  the upload bandwidth to 10 MByte/s and the download
6470       bandwidth to 100 kByte/s.  Either limit can be "off" meaning no  limit,
6471       so to just limit the upload bandwidth you would use
6472
6473              --bwlimit 10M:off
6474
6475       this  would  limit  the  upload bandwidth to 10MByte/s but the download
6476       bandwidth would be unlimited.
6477
6478       When specified as above the bandwidth limits last for the  duration  of
6479       run of the rclone binary.
6480
6481       It  is  also  possible  to  specify a "timetable" of limits, which will
6482       cause certain limits to be applied at  certain  times.   To  specify  a
6483       timetable,   format   your  entries  as  WEEKDAY-HH:MM,BANDWIDTH  WEEK‐
6484       DAY-HH:MM,BANDWIDTH... where: WEEKDAY is optional element.
6485
6486       • BANDWIDTH can be a single number, e.g.100k or a pair of  numbers  for
6487         upload:download, e.g.10M:1M.
6488
6489       • WEEKDAY  can  be  written as the whole word or only using the first 3
6490         characters.  It is optional.
6491
6492       • HH:MM is an hour from 00:00 to 23:59.
6493
6494       An example of a typical timetable to avoid link saturation during  day‐
6495       time working hours could be:
6496
6497       --bwlimit "08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off"
6498
6499       In this example, the transfer bandwidth will be set to 512kBytes/sec at
6500       8am every day.  At noon, it will rise to 10MByte/s, and  drop  back  to
6501       512kBytes/sec  at  1pm.   At  6pm,  the  bandwidth limit will be set to
6502       30MByte/s, and at 11pm it will be  completely  disabled  (full  speed).
6503       Anything between 11pm and 8am will remain unlimited.
6504
6505       An example of timetable with WEEKDAY could be:
6506
6507       --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
6508
6509       It  means  that, the transfer bandwidth will be set to 512kBytes/sec on
6510       Monday.  It will rise to 10MByte/s before the end of Friday.  At  10:00
6511       on  Saturday  it will be set to 1MByte/s.  From 20:00 on Sunday it will
6512       be unlimited.
6513
6514       Timeslots without WEEKDAY are extended to the whole week.  So this  ex‐
6515       ample:
6516
6517       --bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
6518
6519       Is equivalent to this:
6520
6521       --bwlimit    "Mon-00:00,512Mon-12:00,1M    Tue-12:00,1M    Wed-12:00,1M
6522       Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off"
6523
6524       Bandwidth limit apply to the data transfer for all backends.  For  most
6525       backends  the  directory listing bandwidth is also included (exceptions
6526       being the non HTTP backends, ftp, sftp and tardigrade).
6527
6528       Note that the units are Bytes/s, not Bits/s.  Typically connections are
6529       measured  in  Bits/s  - to convert divide by 8.  For example, let's say
6530       you have a 10 Mbit/s connection and you wish rclone to use half of it -
6531       5  Mbit/s.   This  is  5/8  = 0.625MByte/s so you would use a --bwlimit
6532       0.625M parameter for rclone.
6533
6534       On Unix systems (Linux, macOS, ...) the bandwidth limiter can  be  tog‐
6535       gled  by sending a SIGUSR2 signal to rclone.  This allows to remove the
6536       limitations of a long running rclone transfer and to restore it back to
6537       the value specified with --bwlimit quickly when needed.  Assuming there
6538       is only one rclone instance running, you can toggle  the  limiter  like
6539       this:
6540
6541              kill -SIGUSR2 $(pidof rclone)
6542
6543       If  you  configure  rclone with a remote control (/rc) then you can use
6544       change the bwlimit dynamically:
6545
6546              rclone rc core/bwlimit rate=1M
6547
6548   --bwlimit-file=BANDWIDTH_SPEC
6549       This option controls per file bandwidth limit.  For the options see the
6550       --bwlimit flag.
6551
6552       For example use this to allow no transfers to be faster than 1MByte/s
6553
6554              --bwlimit-file 1M
6555
6556       This can be used in conjunction with --bwlimit.
6557
6558       Note  that  if a schedule is provided the file will use the schedule in
6559       effect at the start of the transfer.
6560
6561   --buffer-size=SIZE
6562       Use this sized buffer to speed up file transfers.  Each --transfer will
6563       use this much memory for buffering.
6564
6565       When using mount or cmount each open file descriptor will use this much
6566       memory  for  buffering.    See   the   mount   (https://rclone.org/com
6567       mands/rclone_mount/#file-buffering) documentation for more details.
6568
6569       Set to 0 to disable the buffering for the minimum memory usage.
6570
6571       Note  that  the  memory  allocation of the buffers is influenced by the
6572       --use-mmap flag.
6573
6574   --check-first
6575       If this flag is set then in a sync, copy or move, rclone  will  do  all
6576       the checks to see whether files need to be transferred before doing any
6577       of the transfers.  Normally rclone would  start  running  transfers  as
6578       soon as possible.
6579
6580       This flag can be useful on IO limited systems where transfers interfere
6581       with checking.
6582
6583       It can also be useful to ensure perfect ordering when using --order-by.
6584
6585       Using this flag can use more memory as it effectively sets  --max-back‐
6586       log to infinite.  This means that all the info on the objects to trans‐
6587       fer is held in memory before the transfers start.
6588
6589   --checkers=N
6590       The number of checkers to run in parallel.  Checkers  do  the  equality
6591       checking  of  files during a sync.  For some storage systems (e.g.  S3,
6592       Swift, Dropbox) this can take a significant amount of time so they  are
6593       run in parallel.
6594
6595       The default is to run 8 checkers in parallel.
6596
6597   -c, --checksum
6598       Normally rclone will look at modification time and size of files to see
6599       if they are equal.  If you set this flag then  rclone  will  check  the
6600       file hash and size to determine if files are equal.
6601
6602       This  is  useful  when the remote doesn't support setting modified time
6603       and a more accurate sync is desired than just checking the file size.
6604
6605       This is very useful when transferring between remotes which  store  the
6606       same  hash  type  on the object, e.g.  Drive and Swift.  For details of
6607       which remotes support which hash type see the  table  in  the  overview
6608       section (https://rclone.org/overview/).
6609
6610       Eg  rclone  --checksum  sync  s3:/bucket  swift:/bucket  would run much
6611       quicker than without the --checksum flag.
6612
6613       When using this flag, rclone won't update mtimes  of  remote  files  if
6614       they are incorrect as it would normally.
6615
6616   --compare-dest=DIR
6617       When  using sync, copy or move DIR is checked in addition to the desti‐
6618       nation for files.  If a file identical to the source is found that file
6619       is NOT copied from source.  This is useful to copy just files that have
6620       changed since the last backup.
6621
6622       You must use the same remote as the destination of the sync.  The  com‐
6623       pare directory must not overlap the destination directory.
6624
6625       See --copy-dest and --backup-dir.
6626
6627   --config=CONFIG_FILE
6628       Specify the location of the rclone configuration file.
6629
6630       Normally  the  config  file  is in your home directory as a file called
6631       .config/rclone/rclone.conf (or .rclone.conf if created  with  an  older
6632       version).    If  $XDG_CONFIG_HOME  is  set  it  will  be  at  $XDG_CON‐
6633       FIG_HOME/rclone/rclone.conf.
6634
6635       If there is a file rclone.conf in the same directory as the rclone exe‐
6636       cutable  it  will be preferred.  This file must be created manually for
6637       Rclone to use it, it will never be created automatically.
6638
6639       If you run rclone config file you will see where the  default  location
6640       is for you.
6641
6642       Use  this  flag  to  override  the config location, e.g.  rclone --con‐
6643       fig=".myconfig" config.
6644
6645       If the location is set to empty string "" or the  special  value  /not‐
6646       found,  or  the  os null device represented by value NUL on Windows and
6647       /dev/null on Unix systems, then rclone will keep  the  config  file  in
6648       memory only.
6649
6650       The    file   format   is   basic   INI   (https://en.wikipedia.org/wi
6651       ki/INI_file#Format): Sections of text, led by a  [section]  header  and
6652       followed by key=value entries on separate lines.  In rclone each remote
6653       is represented by its own section, where the section name  defines  the
6654       name  of  the  remote.  Options are specified as the key=value entries,
6655       where the key is the option name without the --backend- prefix, in low‐
6656       ercase and with _ instead of -.  E.g.  option --mega-hard-delete corre‐
6657       sponds to key hard_delete.  Only backend options can be  specified.   A
6658       special,   and   required,  key  type  identifies  the  storage  system
6659       (https://rclone.org/overview/), where the value is the internal  lower‐
6660       case  name  as  returned by command rclone help backends.  Comments are
6661       indicated by ; or # at the beginning of a line.
6662
6663       Example:
6664
6665              [megaremote]
6666              type = mega
6667              user = you@example.com
6668              pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH
6669
6670       Note  that   passwords   are   in   obscured   (https://rclone.org/com
6671       mands/rclone_obscure/)  form.   Also,  many  storage  systems  uses to‐
6672       ken-based authentication instead of passwords, and this requires  addi‐
6673       tional  steps.  It is easier, and safer, to use the interactive command
6674       rclone config instead of manually editing the configuration file.
6675
6676       The configuration file will typically contain  login  information,  and
6677       should  therefore  have restricted permissions so that only the current
6678       user can read it.  Rclone tries to ensure this when it writes the file.
6679       You may also choose to encrypt the file.
6680
6681       When  token-based  authentication are used, the configuration file must
6682       be writable, because rclone needs to update the tokens inside it.
6683
6684   --contimeout=TIME
6685       Set the connection timeout.  This should be in  go  time  format  which
6686       looks like 5s for 5 seconds, 10m for 10 minutes, or 3h30m.
6687
6688       The  connection  timeout  is  the amount of time rclone will wait for a
6689       connection to go through to a remote object storage system.  It  is  1m
6690       by default.
6691
6692   --copy-dest=DIR
6693       When  using sync, copy or move DIR is checked in addition to the desti‐
6694       nation for files.  If a file identical to the source is found that file
6695       is  server-side copied from DIR to the destination.  This is useful for
6696       incremental backup.
6697
6698       The remote in use must support server-side copy and you  must  use  the
6699       same remote as the destination of the sync.  The compare directory must
6700       not overlap the destination directory.
6701
6702       See --compare-dest and --backup-dir.
6703
6704   --dedupe-mode MODE
6705       Mode to run dedupe command in.  One of interactive, skip,  first,  new‐
6706       est,  oldest, rename.  The default is interactive.  See the dedupe com‐
6707       mand for more information as to what these options mean.
6708
6709   --disable FEATURE,FEATURE,...
6710       This disables a comma separated list of optional features.  For example
6711       to disable server-side move and server-side copy use:
6712
6713              --disable move,copy
6714
6715       The features can be put in any case.
6716
6717       To see a list of which features can be disabled use:
6718
6719              --disable help
6720
6721       See  the  overview features (https://rclone.org/overview/#features) and
6722       optional features  (https://rclone.org/overview/#optional-features)  to
6723       get an idea of which feature does what.
6724
6725       This  flag can be useful for debugging and in exceptional circumstances
6726       (e.g.  Google Drive limiting the total volume of Server Side Copies  to
6727       100GB/day).
6728
6729   --dscp VALUE
6730       Specify  a  DSCP  value or name to use in connections.  This could help
6731       QoS system to identify traffic class.  BE, EF, DF, LE, CSx and AFxx are
6732       allowed.
6733
6734       See      the      description      of      differentiated      services
6735       (https://en.wikipedia.org/wiki/Differentiated_services) to get an  idea
6736       of  this  field.   Setting this to 1 (LE) to identify the flow to SCAV‐
6737       ENGER class can avoid occupying too much bandwidth in  a  network  with
6738       DiffServ support (RFC 8622 (https://tools.ietf.org/html/rfc8622)).
6739
6740       For  example,  if  you  configured QoS on router to handle LE properly.
6741       Running:
6742
6743              rclone copy --dscp LE from:/from to:/to
6744
6745       would make the priority lower than usual internet flows.
6746
6747   -n, --dry-run
6748       Do a trial run with no permanent changes.  Use this to see what  rclone
6749       would  do  without  actually doing it.  Useful when setting up the sync
6750       command which deletes files in the destination.
6751
6752   --expect-continue-timeout=TIME
6753       This specifies the amount of time to wait for a server's first response
6754       headers  after  fully writing the request headers if the request has an
6755       "Expect: 100-continue" header.  Not all backends support using this.
6756
6757       Zero means no timeout and causes the body to be sent immediately, with‐
6758       out  waiting for the server to approve.  This time does not include the
6759       time to send the request header.
6760
6761       The default is 1s.  Set to 0 to disable.
6762
6763   --error-on-no-transfer
6764       By default, rclone will exit with return code 0 if there  were  no  er‐
6765       rors.
6766
6767       This option allows rclone to return exit code 9 if no files were trans‐
6768       ferred between the source and destination.  This allows using rclone in
6769       scripts,  and triggering follow-on actions if data was copied, or skip‐
6770       ping if not.
6771
6772       NB: Enabling this option turns a usually non-fatal error into a  poten‐
6773       tially fatal one - please check and adjust your scripts accordingly!
6774
6775   --fs-cache-expire-duration=TIME
6776       When  using rclone via the API rclone caches created remotes for 5 min‐
6777       utes by default in the "fs cache".  This means that if you do  repeated
6778       actions  on  the  same  remote then rclone won't have to build it again
6779       from scratch, which makes it more efficient.
6780
6781       This flag sets the time that the remotes are cached for.  If you set it
6782       to 0 (or negative) then rclone won't cache the remotes at all.
6783
6784       Note  that if you use some flags, eg --backup-dir and if this is set to
6785       0 rclone may build two remotes (one for the source or  destination  and
6786       one for the --backup-dir where it may have only built one before.
6787
6788   --fs-cache-expire-interval=TIME
6789       This  controls  how  often  rclone checks for cached remotes to expire.
6790       See the --fs-cache-expire-duration documentation above for  more  info.
6791       The default is 60s, set to 0 to disable expiry.
6792
6793   --header
6794       Add  an  HTTP header for all transactions.  The flag can be repeated to
6795       add multiple headers.
6796
6797       If you want to add headers only for uploads use --header-upload and  if
6798       you want to add headers only for downloads use --header-download.
6799
6800       This  flag is supported for all HTTP based backends even those not sup‐
6801       ported by --header-upload and --header-download so may  be  used  as  a
6802       workaround for those with care.
6803
6804              rclone ls remote:test --header "X-Rclone: Foo" --header "X-LetMeIn: Yes"
6805
6806   --header-download
6807       Add  an HTTP header for all download transactions.  The flag can be re‐
6808       peated to add multiple headers.
6809
6810              rclone sync -i s3:test/src ~/dst --header-download "X-Amz-Meta-Test: Foo" --header-download "X-Amz-Meta-Test2: Bar"
6811
6812       See the GitHub issue here  (https://github.com/rclone/rclone/issues/59)
6813       for currently supported backends.
6814
6815   --header-upload
6816       Add  an  HTTP  header for all upload transactions.  The flag can be re‐
6817       peated to add multiple headers.
6818
6819              rclone sync -i ~/src s3:test/dst --header-upload "Content-Disposition: attachment; filename='cool.html'" --header-upload "X-Amz-Meta-Test: FooBar"
6820
6821       See the GitHub issue here  (https://github.com/rclone/rclone/issues/59)
6822       for currently supported backends.
6823
6824   --ignore-case-sync
6825       Using  this  option  will  cause rclone to ignore the case of the files
6826       when synchronizing so files will not be copied/synced when the existing
6827       filenames are the same, even if the casing is different.
6828
6829   --ignore-checksum
6830       Normally  rclone  will  check  that  the checksums of transferred files
6831       match, and give an error "corrupted on transfer" if they don't.
6832
6833       You can use this option to skip that check.  You should only use it  if
6834       you have had the "corrupted on transfer" error message and you are sure
6835       you might want to transfer potentially corrupted data.
6836
6837   --ignore-existing
6838       Using this option will make rclone unconditionally skip all files  that
6839       exist on the destination, no matter the content of these files.
6840
6841       While  this  isn't  a generally recommended option, it can be useful in
6842       cases where your files change due to encryption.   However,  it  cannot
6843       correct partial transfers in case a transfer was interrupted.
6844
6845   --ignore-size
6846       Normally rclone will look at modification time and size of files to see
6847       if they are equal.  If you set this flag then rclone  will  check  only
6848       the  modification  time.   If --checksum is set then it only checks the
6849       checksum.
6850
6851       It will also cause rclone to skip verifying the sizes are the same  af‐
6852       ter transfer.
6853
6854       This  can  be  useful for transferring files to and from OneDrive which
6855       occasionally  misreports  the   size   of   image   files   (see   #399
6856       (https://github.com/rclone/rclone/issues/399) for more info).
6857
6858   -I, --ignore-times
6859       Using this option will cause rclone to unconditionally upload all files
6860       regardless of the state of files on the destination.
6861
6862       Normally rclone would skip any files that have  the  same  modification
6863       time and are the same size (or have the same checksum if using --check‐
6864       sum).
6865
6866   --immutable
6867       Treat source and destination files as immutable and disallow  modifica‐
6868       tion.
6869
6870       With  this  option set, files will be created and deleted as requested,
6871       but existing files will never be updated.  If an existing file does not
6872       match  between  the  source and destination, rclone will give the error
6873       Source and destination exist but do not match: immutable file modified.
6874
6875       Note that only commands which transfer files (e.g.  sync,  copy,  move)
6876       are  affected  by  this  behavior, and only modification is disallowed.
6877       Files may still be deleted explicitly (e.g.  delete, purge) or  implic‐
6878       itly  (e.g.   sync,  move).   Use  copy --immutable if it is desired to
6879       avoid deletion as well as modification.
6880
6881       This can be useful as an additional layer of protection  for  immutable
6882       or  append-only data sets (notably backup archives), where modification
6883       implies corruption and should not be propagated.
6884
6885   -i / --interactive
6886       This flag can be used to tell rclone that you wish a  manual  confirma‐
6887       tion before destructive operations.
6888
6889       It  is  recommended  that you use this flag while learning rclone espe‐
6890       cially with rclone sync.
6891
6892       For example
6893
6894              $ rclone delete -i /tmp/dir
6895              rclone: delete "important-file.txt"?
6896              y) Yes, this is OK (default)
6897              n) No, skip this
6898              s) Skip all delete operations with no more questions
6899              !) Do all delete operations with no more questions
6900              q) Exit rclone now.
6901              y/n/s/!/q> n
6902
6903       The options mean
6904
6905       • y: Yes, this operation should go ahead.  You can  also  press  Return
6906         for  this  to happen.  You'll be asked every time unless you choose s
6907         or !.
6908
6909       • n: No, do not do this operation.  You'll be asked every  time  unless
6910         you choose s or !.
6911
6912       • s:  Skip all the following operations of this type with no more ques‐
6913         tions.  This takes effect until rclone exits.  If there are any  dif‐
6914         ferent kind of operations you'll be prompted for them.
6915
6916       • !: Do all the following operations with no more questions.  Useful if
6917         you've decided that you don't mind rclone doing that kind  of  opera‐
6918         tion.   This takes effect until rclone exits .  If there are any dif‐
6919         ferent kind of operations you'll be prompted for them.
6920
6921       • q: Quit rclone now, just in case!
6922
6923   --leave-root
6924       During rmdirs it will not remove root directory, even if it's empty.
6925
6926   --log-file=FILE
6927       Log all of rclone's output to FILE.  This is  not  active  by  default.
6928       This can be useful for tracking down problems with syncs in combination
6929       with the -v flag.  See the Logging section for more info.
6930
6931       If FILE exists then rclone will append to it.
6932
6933       Note that if you are using the logrotate  program  to  manage  rclone's
6934       logs,  then  you  should  use the copytruncate option as rclone doesn't
6935       have a signal to rotate logs.
6936
6937   --log-format LIST
6938       Comma separated list of log format options.  date, time,  microseconds,
6939       longfile, shortfile, UTC.  The default is "date,time".
6940
6941   --log-level LEVEL
6942       This sets the log level for rclone.  The default log level is NOTICE.
6943
6944       DEBUG is equivalent to -vv.  It outputs lots of debug info - useful for
6945       bug reports and really finding out what rclone is doing.
6946
6947       INFO is equivalent to -v.  It outputs information about  each  transfer
6948       and prints stats once a minute by default.
6949
6950       NOTICE  is  the default log level if no logging flags are supplied.  It
6951       outputs very little when things are working normally.  It outputs warn‐
6952       ings and significant events.
6953
6954       ERROR is equivalent to -q.  It only outputs error messages.
6955
6956   --use-json-log
6957       This  switches  the  log format to JSON for rclone.  The fields of json
6958       log are level, msg, source, time.
6959
6960   --low-level-retries NUMBER
6961       This controls the number of low level retries rclone does.
6962
6963       A low level retry is used to retry a failing operation - typically  one
6964       HTTP  request.  This might be uploading a chunk of a big file for exam‐
6965       ple.  You will see low level retries in the log with the -v flag.
6966
6967       This shouldn't need to be changed from the  default  in  normal  opera‐
6968       tions.   However, if you get a lot of low level retries you may wish to
6969       reduce the value so rclone moves on to a  high  level  retry  (see  the
6970       --retries flag) quicker.
6971
6972       Disable low level retries with --low-level-retries 1.
6973
6974   --max-backlog=N
6975       This  is  the  maximum  allowable  backlog of files in a sync/copy/move
6976       queued for being checked or transferred.
6977
6978       This can be set arbitrarily large.  It will only use  memory  when  the
6979       queue  is in use.  Note that it will use in the order of N kB of memory
6980       when the backlog is in use.
6981
6982       Setting this large allows rclone to calculate how many files are  pend‐
6983       ing  more  accurately,  give  a more accurate estimated finish time and
6984       make --order-by work more accurately.
6985
6986       Setting this small will make rclone more synchronous to the listings of
6987       the remote which may be desirable.
6988
6989       Setting  this  to  a  negative number will make the backlog as large as
6990       possible.
6991
6992   --max-delete=N
6993       This tells rclone not to delete more than N files.  If  that  limit  is
6994       exceeded  then a fatal error will be generated and rclone will stop the
6995       operation in progress.
6996
6997   --max-depth=N
6998       This modifies the recursion depth for all the commands except purge.
6999
7000       So if you do rclone --max-depth 1 ls remote:path you will see only  the
7001       files  in  the top level directory.  Using --max-depth 2 means you will
7002       see all the files in first two directory levels and so on.
7003
7004       For historical reasons the lsd command defaults to using a  --max-depth
7005       of 1 - you can override this with the command line flag.
7006
7007       You can use this command to disable recursion (with --max-depth 1).
7008
7009       Note that if you use this with sync and --delete-excluded the files not
7010       recursed through are considered excluded and will  be  deleted  on  the
7011       destination.   Test  first with --dry-run if you are not sure what will
7012       happen.
7013
7014   --max-duration=TIME
7015       Rclone will stop scheduling new transfers when it has run for the dura‐
7016       tion specified.
7017
7018       Defaults to off.
7019
7020       When the limit is reached any existing transfers will complete.
7021
7022       Rclone won't exit with an error if the transfer limit is reached.
7023
7024   --max-transfer=SIZE
7025       Rclone  will  stop transferring when it has reached the size specified.
7026       Defaults to off.
7027
7028       When the limit is reached all transfers will stop immediately.
7029
7030       Rclone will exit with exit code 8 if the transfer limit is reached.
7031
7032   --cutoff-mode=hard|soft|cautious
7033       This  modifies  the  behavior  of  --max-transfer  Defaults  to  --cut‐
7034       off-mode=hard.
7035
7036       Specifying  --cutoff-mode=hard  will stop transferring immediately when
7037       Rclone reaches the limit.
7038
7039       Specifying --cutoff-mode=soft will stop  starting  new  transfers  when
7040       Rclone reaches the limit.
7041
7042       Specifying  --cutoff-mode=cautious  will  try  to  prevent  Rclone from
7043       reaching the limit.
7044
7045   --modify-window=TIME
7046       When checking whether a file has been modified, this is the maximum al‐
7047       lowed  time  difference  that  a  file can have and still be considered
7048       equivalent.
7049
7050       The default is 1ns unless this is overridden by a remote.  For  example
7051       OS X only stores modification times to the nearest second so if you are
7052       reading and writing to an OS X filing system this will  be  1s  by  de‐
7053       fault.
7054
7055       This command line flag allows you to override that computed default.
7056
7057   --multi-thread-cutoff=SIZE
7058       When  downloading  files  to  the local backend above this size, rclone
7059       will use multiple threads to download the file (default 250M).
7060
7061       Rclone preallocates the file (using  fallocate(FALLOC_FL_KEEP_SIZE)  on
7062       unix  or  NTSetInformationFile  on Windows both of which takes no time)
7063       then each thread writes directly into the file at  the  correct  place.
7064       This  means  that  rclone  won't  create fragmented or sparse files and
7065       there won't be any assembly time at the end of the transfer.
7066
7067       The number  of  threads  used  to  download  is  controlled  by  --mul‐
7068       ti-thread-streams.
7069
7070       Use -vv if you wish to see info about the threads.
7071
7072       This  will  work  with  the  sync/copy/move  commands and friends copy‐
7073       to/moveto.  Multi thread downloads will be used with rclone  mount  and
7074       rclone serve if --vfs-cache-mode is set to writes or above.
7075
7076       NB  that this only works for a local destination but will work with any
7077       source.
7078
7079       NB that multi thread copies are disabled for local to local  copies  as
7080       they  are faster without unless --multi-thread-streams is set explicit‐
7081       ly.
7082
7083       NB on Windows using multi-thread downloads  will  cause  the  resulting
7084       files  to  be  sparse (https://en.wikipedia.org/wiki/Sparse_file).  Use
7085       --local-no-sparse to disable sparse files (which may cause long  delays
7086       at  the  start  of  downloads)  or  disable multi-thread downloads with
7087       --multi-thread-streams 0
7088
7089   --multi-thread-streams=N
7090       When using multi thread  downloads  (see  above  --multi-thread-cutoff)
7091       this  sets  the  maximum number of streams to use.  Set to 0 to disable
7092       multi thread downloads (Default 4).
7093
7094       Exactly how many streams rclone uses for the download  depends  on  the
7095       size  of  the file.  To calculate the number of download streams Rclone
7096       divides the size of the file by the  --multi-thread-cutoff  and  rounds
7097       up, up to the maximum set with --multi-thread-streams.
7098
7099       So  if  --multi-thread-cutoff 250MB and --multi-thread-streams 4 are in
7100       effect (the defaults):
7101
7102       • 0MB..250MB files will be downloaded with 1 stream
7103
7104       • 250MB..500MB files will be downloaded with 2 streams
7105
7106       • 500MB..750MB files will be downloaded with 3 streams
7107
7108       • 750MB+ files will be downloaded with 4 streams
7109
7110   --no-check-dest
7111       The --no-check-dest can be used with move or copy and it causes  rclone
7112       not to check the destination at all when copying files.
7113
7114       This means that:
7115
7116       • the destination is not listed minimising the API calls
7117
7118       • files are always transferred
7119
7120       • this  can  cause  duplicates  on remotes which allow it (e.g.  Google
7121         Drive)
7122
7123       • --retries 1 is recommended otherwise you'll transfer everything again
7124         on a retry
7125
7126       This  flag is useful to minimise the transactions if you know that none
7127       of the files are on the destination.
7128
7129       This is a specialized flag which should be ignored by most users!
7130
7131   --no-gzip-encoding
7132       Don't set Accept-Encoding: gzip.  This means that rclone won't ask  the
7133       server  for  compressed  files automatically.  Useful if you've set the
7134       server to return files with Content-Encoding:  gzip  but  you  uploaded
7135       compressed files.
7136
7137       There is no need to set this in normal operation, and doing so will de‐
7138       crease the network transfer efficiency of rclone.
7139
7140   --no-traverse
7141       The --no-traverse flag controls whether the destination file system  is
7142       traversed  when  using the copy or move commands.  --no-traverse is not
7143       compatible with sync and will be ignored if you supply it with sync.
7144
7145       If you are only copying a small number of files (or are filtering  most
7146       of  the  files)  and/or have a large number of files on the destination
7147       then --no-traverse will stop rclone listing the  destination  and  save
7148       time.
7149
7150       However,  if you are copying a large number of files, especially if you
7151       are doing a copy where lots of the files  under  consideration  haven't
7152       changed and won't need copying then you shouldn't use --no-traverse.
7153
7154       See rclone copy (https://rclone.org/commands/rclone_copy/) for an exam‐
7155       ple of how to use it.
7156
7157   --no-unicode-normalization
7158       Don't normalize unicode characters in filenames during  the  sync  rou‐
7159       tine.
7160
7161       Sometimes,  an operating system will store filenames containing unicode
7162       parts in their decomposed form (particularly macOS).  Some cloud  stor‐
7163       age  systems  will  then  recompose the unicode, resulting in duplicate
7164       files if the data is ever copied back to a local filesystem.
7165
7166       Using this flag will disable that functionality, treating each  unicode
7167       character  as unique.  For example, by default é and é will be normal‐
7168       ized into the same  character.   With  --no-unicode-normalization  they
7169       will be treated as unique characters.
7170
7171   --no-update-modtime
7172       When  using this flag, rclone won't update modification times of remote
7173       files if they are incorrect as it would normally.
7174
7175       This can be used if the remote is being synced with another  tool  also
7176       (e.g.  the Google Drive client).
7177
7178   --order-by string
7179       The  --order-by  flag  controls the order in which files in the backlog
7180       are processed in rclone sync, rclone copy and rclone move.
7181
7182       The order by string is constructed like this.  The first part describes
7183       what aspect is being measured:
7184
7185       • size - order by the size of the files
7186
7187       • name - order by the full path of the files
7188
7189       • modtime - order by the modification date of the files
7190
7191       This can have a modifier appended with a comma:
7192
7193       • ascending  or  asc  -  order so that the smallest (or oldest) is pro‐
7194         cessed first
7195
7196       • descending or desc - order so that the largest (or  newest)  is  pro‐
7197         cessed first
7198
7199       • mixed  -  order  so  that  the  smallest  is processed first for some
7200         threads and the largest for others
7201
7202       If the modifier is mixed then it can have an optional percentage (which
7203       defaults  to  50),  e.g.   size,mixed,25  which  means  that 25% of the
7204       threads should be taking the smallest items and 75% the  largest.   The
7205       threads  which  take  the  smallest first will always take the smallest
7206       first and likewise the largest first threads.  The mixed  mode  can  be
7207       useful  to  minimise the transfer time when you are transferring a mix‐
7208       ture of large and small files - the large files are  guaranteed  upload
7209       threads and bandwidth and the small files will be processed continuous‐
7210       ly.
7211
7212       If no modifier is supplied then the order is ascending.
7213
7214       For example
7215
7216       • --order-by size,desc - send the largest files first
7217
7218       • --order-by modtime,ascending - send the oldest files first
7219
7220       • --order-by name - send the files with alphabetically by path first
7221
7222       If the --order-by flag is not supplied or it is supplied with an  empty
7223       string  then  the  default  ordering  will be used which is as scanned.
7224       With --checkers 1 this is mostly alphabetical, however with the default
7225       --checkers 8 it is somewhat random.
7226
7227   Limitations
7228       The  --order-by  flag  does not do a separate pass over the data.  This
7229       means that it may transfer some files out of the order specified if
7230
7231       • there are no files in the backlog or the source has  not  been  fully
7232         scanned yet
7233
7234       • there are more than --max-backlog files in the backlog
7235
7236       Rclone will do its best to transfer the best file it has so in practice
7237       this should not cause a problem.  Think of --order-by as being more  of
7238       a best efforts flag rather than a perfect ordering.
7239
7240       If   you   want   perfect  ordering  then  you  will  need  to  specify
7241       --check-first which will find all the  files  which  need  transferring
7242       first before transferring any.
7243
7244   --password-command SpaceSepList
7245       This  flag  supplies  a program which should supply the config password
7246       when run.  This is an alternative to rclone prompting for the  password
7247       or setting the RCLONE_CONFIG_PASS variable.
7248
7249       The argument to this should be a command with a space separated list of
7250       arguments.  If one of the arguments has a space in then enclose  it  in
7251       ",  if you want a literal " in an argument then enclose the argument in
7252       " and double the ".  See CSV encoding  (https://godoc.org/encoding/csv)
7253       for more info.
7254
7255       Eg
7256
7257              --password-command echo hello
7258              --password-command echo "hello with space"
7259              --password-command echo "hello with ""quotes"" and space"
7260
7261       See the Configuration Encryption for more info.
7262
7263       See     a     Windows     PowerShell     example     on     the    Wiki
7264       (https://github.com/rclone/rclone/wiki/Windows-Powershell-use-rclone-
7265       password-command-for-Config-file-password).
7266
7267   -P, --progress
7268       This flag makes rclone update the stats in a static block in the termi‐
7269       nal providing a realtime overview of the transfer.
7270
7271       Any log messages will scroll above the static block.  Log messages will
7272       push  the static block down to the bottom of the terminal where it will
7273       stay.
7274
7275       Normally this is updated every 500mS but this period can be  overridden
7276       with the --stats flag.
7277
7278       This can be used with the --stats-one-line flag for a simpler display.
7279
7280       Note:   On  Windows  until  this  bug  (https://github.com/Azure/go-an
7281       siterm/issues/26) is fixed all non-ASCII characters  will  be  replaced
7282       with . when --progress is in use.
7283
7284   --progress-terminal-title
7285       This  flag, when used with -P/--progress, will print the string ETA: %s
7286       to the terminal title.
7287
7288   -q, --quiet
7289       This flag will limit rclone's output to error messages only.
7290
7291   --refresh-times
7292       The --refresh-times flag can be used to update  modification  times  of
7293       existing  files  when they are out of sync on backends which don't sup‐
7294       port hashes.
7295
7296       This is useful if you uploaded files with the incorrect timestamps  and
7297       you now wish to correct them.
7298
7299       This  flag  is  only useful for destinations which don't support hashes
7300       (e.g.  crypt).
7301
7302       This can be used any of the sync commands sync, copy or move.
7303
7304       To use this flag you will need to be doing a modification time sync (so
7305       not  using  --size-only  or  --checksum).  The flag will have no effect
7306       when using --size-only or --checksum.
7307
7308       If this flag is used when rclone comes to upload a file it  will  check
7309       to  see  if there is an existing file on the destination.  If this file
7310       matches the source with size (and checksum if available) but has a dif‐
7311       fering  timestamp  then  instead of re-uploading it, rclone will update
7312       the timestamp on the destination file.  If the checksum does not  match
7313       rclone will upload the new file.  If the checksum is absent (e.g.  on a
7314       crypt backend) then rclone will update the timestamp.
7315
7316       Note that some remotes can't set the modification time  without  re-up‐
7317       loading the file so this flag is less useful on them.
7318
7319       Normally  if  you are doing a modification time sync rclone will update
7320       modification times without --refresh-times  provided  that  the  remote
7321       supports checksums and the checksums match on the file.  However if the
7322       checksums are absent then rclone will upload the file rather than  set‐
7323       ting the timestamp as this is the safe behaviour.
7324
7325   --retries int
7326       Retry the entire sync if it fails this many times it fails (default 3).
7327
7328       Some remotes can be unreliable and a few retries help pick up the files
7329       which didn't get transferred because of errors.
7330
7331       Disable retries with --retries 1.
7332
7333   --retries-sleep=TIME
7334       This sets the interval between each retry specified by --retries
7335
7336       The default is 0.  Use 0 to disable.
7337
7338   --size-only
7339       Normally rclone will look at modification time and size of files to see
7340       if  they  are  equal.  If you set this flag then rclone will check only
7341       the size.
7342
7343       This can be useful transferring files from Dropbox which have been mod‐
7344       ified by the desktop sync client which doesn't set checksums of modifi‐
7345       cation times in the same way as rclone.
7346
7347   --stats=TIME
7348       Commands which transfer data (sync, copy, copyto,  move,  moveto)  will
7349       print data transfer stats at regular intervals to show their progress.
7350
7351       This sets the interval.
7352
7353       The default is 1m.  Use 0 to disable.
7354
7355       If  you  set the stats interval then all commands can show stats.  This
7356       can be useful when running other commands, check or mount for example.
7357
7358       Stats are logged at INFO level by default which means they  won't  show
7359       at  default  log  level  NOTICE.  Use --stats-log-level NOTICE or -v to
7360       make them show.  See the Logging section for more info on log levels.
7361
7362       Note that on macOS you can send a SIGINFO (which is normally ctrl-T  in
7363       the terminal) to make the stats print immediately.
7364
7365   --stats-file-name-length integer
7366       By  default,  the  --stats  output  will  truncate file names and paths
7367       longer  than  40  characters.   This   is   equivalent   to   providing
7368       --stats-file-name-length 40.  Use --stats-file-name-length 0 to disable
7369       any truncation of file names printed by stats.
7370
7371   --stats-log-level string
7372       Log level to show --stats output at.  This can be DEBUG, INFO,  NOTICE,
7373       or  ERROR.   The  default  is INFO.  This means at the default level of
7374       logging which is NOTICE the stats won't show - if you want them to then
7375       use --stats-log-level NOTICE.  See the Logging section for more info on
7376       log levels.
7377
7378   --stats-one-line
7379       When this is specified, rclone condenses the stats into a  single  line
7380       showing the most important stats only.
7381
7382   --stats-one-line-date
7383       When  this  is  specified,  rclone  enables  the  single-line stats and
7384       prepends the display with a date string.   The  default  is  2006/01/02
7385       15:04:05 -
7386
7387   --stats-one-line-date-format
7388       When  this  is  specified,  rclone  enables  the  single-line stats and
7389       prepends the display with a user-supplied date string.  The date string
7390       MUST     be     enclosed    in    quotes.     Follow    golang    specs
7391       (https://golang.org/pkg/time/#Time.Format) for date formatting syntax.
7392
7393   --stats-unit=bits|bytes
7394       By default, data transfer rates will be printed in bytes/second.
7395
7396       This option allows the data rate to be printed in bits/second.
7397
7398       Data transfer volume will still be reported in bytes.
7399
7400       The rate is reported as a binary unit, not SI unit.  So 1 Mbit/s equals
7401       1,048,576 bits/s and not 1,000,000 bits/s.
7402
7403       The default is bytes.
7404
7405   --suffix=SUFFIX
7406       When using sync, copy or move any files which would have been overwrit‐
7407       ten or deleted will have the suffix added to them.  If there is a  file
7408       with  the  same path (after the suffix has been added), then it will be
7409       overwritten.
7410
7411       The remote in use must support server-side move or copy  and  you  must
7412       use the same remote as the destination of the sync.
7413
7414       This  is  for use with files to add the suffix in the current directory
7415       or with --backup-dir.  See --backup-dir for more info.
7416
7417       For example
7418
7419              rclone copy -i /path/to/local/file remote:current --suffix .bak
7420
7421       will copy /path/to/local to remote:current, but  for  any  files  which
7422       would have been updated or deleted have .bak added.
7423
7424       If  using rclone sync with --suffix and without --backup-dir then it is
7425       recommended to put a filter rule in excluding the suffix otherwise  the
7426       sync will delete the backup files.
7427
7428              rclone sync -i /path/to/local/file remote:current --suffix .bak --exclude "*.bak"
7429
7430   --suffix-keep-extension
7431       When  using  --suffix, setting this causes rclone put the SUFFIX before
7432       the extension of the files that it backs up rather than after.
7433
7434       So let's say we had --suffix -2019-01-01,  without  the  flag  file.txt
7435       would be backed up to file.txt-2019-01-01 and with the flag it would be
7436       backed up to file-2019-01-01.txt.  This can be helpful to make sure the
7437       suffixed files can still be opened.
7438
7439   --syslog
7440       On capable OSes (not Windows or Plan9) send all log output to syslog.
7441
7442       This can be useful for running rclone in a script or rclone mount.
7443
7444   --syslog-facility string
7445       If  using  --syslog  this  sets the syslog facility (e.g.  KERN, USER).
7446       See man syslog for a list of possible facilities.  The default facility
7447       is DAEMON.
7448
7449   --tpslimit float
7450       Limit  transactions  per  second to this number.  Default is 0 which is
7451       used to mean unlimited transactions per second.
7452
7453       A transaction is roughly defined as an API call; its exact meaning will
7454       depend  on  the  backend.   For  HTTP  based  backends  it  is  an HTTP
7455       PUT/GET/POST/etc and its response.  For FTP/SFTP it  is  a  round  trip
7456       transaction over TCP.
7457
7458       For example to limit rclone to 10 transactions per second use --tpslim‐
7459       it 10, or to 1 transaction every 2 seconds use --tpslimit 0.5.
7460
7461       Use this when the number of transactions  per  second  from  rclone  is
7462       causing  a  problem  with the cloud storage provider (e.g.  getting you
7463       banned or rate limited).
7464
7465       This can be very useful for rclone mount to control  the  behaviour  of
7466       applications using it.
7467
7468       This  limit  applies to all HTTP based backends and to the FTP and SFTP
7469       backends.  It does not apply to the local  backend  or  the  Tardigrade
7470       backend.
7471
7472       See also --tpslimit-burst.
7473
7474   --tpslimit-burst int
7475       Max burst of transactions for --tpslimit (default 1).
7476
7477       Normally  --tpslimit will do exactly the number of transaction per sec‐
7478       ond specified.  However if you supply --tps-burst then rclone can  save
7479       up  some transactions from when it was idle giving a burst of up to the
7480       parameter supplied.
7481
7482       For example if you provide --tpslimit-burst 10 then if rclone has  been
7483       idle  for  more  than 10*--tpslimit then it can do 10 transactions very
7484       quickly before they are limited again.
7485
7486       This may be used to increase performance of --tpslimit without changing
7487       the long term average number of transactions per second.
7488
7489   --track-renames
7490       By  default,  rclone doesn't keep track of renamed files, so if you re‐
7491       name a file locally then sync it to a remote, rclone  will  delete  the
7492       old file on the remote and upload a new copy.
7493
7494       If you use this flag, and the remote supports server-side copy or serv‐
7495       er-side move, and the source and destination have  a  compatible  hash,
7496       then  this will track renames during sync operations and perform renam‐
7497       ing server-side.
7498
7499       Files will be matched by size and hash - if both match  then  a  rename
7500       will be considered.
7501
7502       If  the  destination  does not support server-side copy or move, rclone
7503       will fall back to the default behaviour and log an error level  message
7504       to the console.
7505
7506       Encrypted  destinations  are not currently supported by --track-renames
7507       if --track-renames-strategy includes hash.
7508
7509       Note that --track-renames is incompatible with --no-traverse  and  that
7510       it uses extra memory to keep track of all the rename candidates.
7511
7512       Note also that --track-renames is incompatible with --delete-before and
7513       will select --delete-after instead of --delete-during.
7514
7515   --track-renames-strategy (hash,modtime,leaf,size)
7516       This option changes the matching criteria for --track-renames.
7517
7518       The matching is controlled by a comma separated selection of these  to‐
7519       kens:
7520
7521       • modtime  -  the  modification time of the file - not supported on all
7522         backends
7523
7524       • hash - the hash of the file contents - not supported on all backends
7525
7526       • leaf - the name of the file not including its directory name
7527
7528       • size - the size of the file (this is always enabled)
7529
7530       So using --track-renames-strategy modtime,leaf would match files  based
7531       on modification time, the leaf of the file name and the size only.
7532
7533       Using  --track-renames-strategy  modtime or leaf can enable --track-re‐
7534       names support for encrypted destinations.
7535
7536       If nothing is specified, the default option is matching by hashes.
7537
7538       Note that the hash strategy is not supported  with  encrypted  destina‐
7539       tions.
7540
7541   --delete-(before,during,after)
7542       This  option  allows  you to specify when files on your destination are
7543       deleted when you sync folders.
7544
7545       Specifying the value --delete-before will delete all files  present  on
7546       the  destination, but not on the source before starting the transfer of
7547       any new or updated files.  This uses two passes through the  file  sys‐
7548       tems, one for the deletions and one for the copies.
7549
7550       Specifying --delete-during will delete files while checking and upload‐
7551       ing files.  This is the fastest option and uses the least memory.
7552
7553       Specifying --delete-after (the default value) will  delay  deletion  of
7554       files  until  all new/updated files have been successfully transferred.
7555       The files to be deleted are collected in the copy pass then deleted af‐
7556       ter  the copy pass has completed successfully.  The files to be deleted
7557       are held in memory so this mode may  use  more  memory.   This  is  the
7558       safest  mode  as it will only delete files if there have been no errors
7559       subsequent to that.  If there have been  errors  before  the  deletions
7560       start then you will get the message not deleting files as there were IO
7561       errors.
7562
7563   --fast-list
7564       When doing anything which involves a  directory  listing  (e.g.   sync,
7565       copy,  ls  - in fact nearly every command), rclone normally lists a di‐
7566       rectory and processes it before using more directory lists  to  process
7567       any  subdirectories.   This  can be parallelised and works very quickly
7568       using the least amount of memory.
7569
7570       However, some remotes have a way of listing all files beneath a  direc‐
7571       tory  in one (or a small number) of transactions.  These tend to be the
7572       bucket based remotes (e.g.  S3, B2, GCS, Swift, Hubic).
7573
7574       If you use the --fast-list flag then rclone will use  this  method  for
7575       listing directories.  This will have the following consequences for the
7576       listing:
7577
7578       • It will use fewer transactions (important if you pay for them)
7579
7580       • It will use more memory.  Rclone has to load the whole  listing  into
7581         memory.
7582
7583       • It may be faster because it uses fewer transactions
7584
7585       • It may be slower because it can't be parallelized
7586
7587       rclone   should   always   give  identical  results  with  and  without
7588       --fast-list.
7589
7590       If you pay for transactions and can fit your entire sync  listing  into
7591       memory then --fast-list is recommended.  If you have a very big sync to
7592       do then don't use --fast-list otherwise you will run out of memory.
7593
7594       If you use --fast-list on a  remote  which  doesn't  support  it,  then
7595       rclone will just ignore it.
7596
7597   --timeout=TIME
7598       This  sets the IO idle timeout.  If a transfer has started but then be‐
7599       comes idle for this long it is considered broken and disconnected.
7600
7601       The default is 5m.  Set to 0 to disable.
7602
7603   --transfers=N
7604       The number of file transfers to run in parallel.  It can  sometimes  be
7605       useful to set this to a smaller number if the remote is giving a lot of
7606       timeouts or bigger if you have lots of bandwidth and a fast remote.
7607
7608       The default is to run 4 file transfers in parallel.
7609
7610   -u, --update
7611       This forces rclone to skip any files which exist on the destination and
7612       have a modified time that is newer than the source file.
7613
7614       This  can be useful when transferring to a remote which doesn't support
7615       mod times directly (or when using --use-server-modtime to  avoid  extra
7616       API  calls)  as it is more accurate than a --size-only check and faster
7617       than using --checksum.
7618
7619       If an existing destination file has a modification time  equal  (within
7620       the  computed modify window precision) to the source file's, it will be
7621       updated if the sizes are different.  If --checksum is set  then  rclone
7622       will update the destination if the checksums differ too.
7623
7624       If  an  existing destination file is older than the source file then it
7625       will be updated if the size or checksum differs from the source file.
7626
7627       On remotes which  don't  support  mod  time  directly  (or  when  using
7628       --use-server-modtime) the time checked will be the uploaded time.  This
7629       means that if uploading to one of these remotes, rclone will  skip  any
7630       files  which exist on the destination and have an uploaded time that is
7631       newer than the modification time of the source file.
7632
7633   --use-mmap
7634       If this flag is set then rclone will use anonymous memory allocated  by
7635       mmap on Unix based platforms and VirtualAlloc on Windows for its trans‐
7636       fer buffers (size controlled by --buffer-size).  Memory allocated  like
7637       this  does  not go on the Go heap and can be returned to the OS immedi‐
7638       ately when it is finished with.
7639
7640       If this flag is not set then rclone will allocate and free the  buffers
7641       using the Go memory allocator which may use more memory as memory pages
7642       are returned less aggressively to the OS.
7643
7644       It is possible this does not work well on all platforms so it  is  dis‐
7645       abled by default; in the future it may be enabled by default.
7646
7647   --use-server-modtime
7648       Some  object-store backends (e.g, Swift, S3) do not preserve file modi‐
7649       fication times (modtime).  On these backends, rclone stores the  origi‐
7650       nal  modtime  as additional metadata on the object.  By default it will
7651       make an API call to retrieve the metadata when the modtime is needed by
7652       an operation.
7653
7654       Use  this  flag  to  disable the extra API call and rely instead on the
7655       server's modified time.  In cases such as a local to remote sync  using
7656       --update, knowing the local file is newer than the time it was last up‐
7657       loaded to the remote is sufficient.  In  those  cases,  this  flag  can
7658       speed up the process and reduce the number of API calls necessary.
7659
7660       Using  this  flag on a sync operation without also using --update would
7661       cause all files modified at any time other than the last upload time to
7662       be uploaded again, which is probably not what you want.
7663
7664   -v, -vv, --verbose
7665       With  -v rclone will tell you about each file that is transferred and a
7666       small number of significant events.
7667
7668       With -vv rclone will become very verbose telling you about  every  file
7669       it  considers  and  transfers.  Please send bug reports with a log with
7670       this setting.
7671
7672   -V, --version
7673       Prints the version number
7674
7675   SSL/TLS options
7676       The outgoing SSL/TLS connections rclone makes can  be  controlled  with
7677       these  options.   For  example this can be very useful with the HTTP or
7678       WebDAV backends.  Rclone HTTP servers have their own set of  configura‐
7679       tion for SSL/TLS which you can find in their documentation.
7680
7681   --ca-cert string
7682       This  loads  the PEM encoded certificate authority certificate and uses
7683       it to verify the certificates of the servers rclone connects to.
7684
7685       If you have generated certificates signed with a local CA then you will
7686       need this flag to connect to servers using those certificates.
7687
7688   --client-cert string
7689       This loads the PEM encoded client side certificate.
7690
7691       This      is      used      for      mutual      TLS     authentication
7692       (https://en.wikipedia.org/wiki/Mutual_authentication).
7693
7694       The --client-key flag is required too when using this.
7695
7696   --client-key string
7697       This loads the PEM encoded client side private key used for mutual  TLS
7698       authentication.  Used in conjunction with --client-cert.
7699
7700   --no-check-certificate=true/false
7701       --no-check-certificate  controls whether a client verifies the server's
7702       certificate chain and host name.  If  --no-check-certificate  is  true,
7703       TLS  accepts  any certificate presented by the server and any host name
7704       in  that  certificate.   In  this   mode,   TLS   is   susceptible   to
7705       man-in-the-middle attacks.
7706
7707       This option defaults to false.
7708
7709       This should be used only for testing.
7710
7711   Configuration Encryption
7712       Your  configuration  file  contains  information for logging in to your
7713       cloud services.  This means that you should keep your rclone.conf  file
7714       in a secure location.
7715
7716       If  you  are in an environment where that isn't possible, you can add a
7717       password to your configuration.  This means that you will have to  sup‐
7718       ply the password every time you start rclone.
7719
7720       To add a password to your rclone configuration, execute rclone config.
7721
7722              >rclone config
7723              Current remotes:
7724
7725              e) Edit existing remote
7726              n) New remote
7727              d) Delete remote
7728              s) Set configuration password
7729              q) Quit config
7730              e/n/d/s/q>
7731
7732       Go into s, Set configuration password:
7733
7734              e/n/d/s/q> s
7735              Your configuration is not encrypted.
7736              If you add a password, you will protect your login information to cloud services.
7737              a) Add Password
7738              q) Quit to main menu
7739              a/q> a
7740              Enter NEW configuration password:
7741              password:
7742              Confirm NEW password:
7743              password:
7744              Password set
7745              Your configuration is encrypted.
7746              c) Change Password
7747              u) Unencrypt configuration
7748              q) Quit to main menu
7749              c/u/q>
7750
7751       Your  configuration  is  now encrypted, and every time you start rclone
7752       you will have to supply the password.  See below for details.   In  the
7753       same  menu, you can change the password or completely remove encryption
7754       from your configuration.
7755
7756       There is no way to recover the configuration if you lose your password.
7757
7758       rclone uses nacl  secretbox  (https://godoc.org/golang.org/x/crypto/na
7759       cl/secretbox)  which  in turn uses XSalsa20 and Poly1305 to encrypt and
7760       authenticate your  configuration  with  secret-key  cryptography.   The
7761       password  is SHA-256 hashed, which produces the key for secretbox.  The
7762       hashed password is not stored.
7763
7764       While this provides very good security, we  do  not  recommend  storing
7765       your  encrypted rclone configuration in public if it contains sensitive
7766       information, maybe except if you use a very strong password.
7767
7768       If it is safe in your environment, you can set  the  RCLONE_CONFIG_PASS
7769       environment variable to contain your password, in which case it will be
7770       used for decrypting the configuration.
7771
7772       You can set this for a session from a script.  For  unix  like  systems
7773       save this to a file called set-rclone-password:
7774
7775              #!/bin/echo Source this file don't run it
7776
7777              read -s RCLONE_CONFIG_PASS
7778              export RCLONE_CONFIG_PASS
7779
7780       Then source the file when you want to use it.  From the shell you would
7781       do source set-rclone-password.  It will then ask you for  the  password
7782       and set it in the environment variable.
7783
7784       An  alternate  means  of  supplying the password is to provide a script
7785       which will retrieve the password and print on  standard  output.   This
7786       script  should have a fully specified path name and not rely on any en‐
7787       vironment variables.  The script is supplied either via --password-com‐
7788       mand="..." command line argument or via the RCLONE_PASSWORD_COMMAND en‐
7789       vironment variable.
7790
7791       One useful example of this is using the  passwordstore  application  to
7792       retrieve the password:
7793
7794              export RCLONE_PASSWORD_COMMAND="pass rclone/config"
7795
7796       If the passwordstore password manager holds the password for the rclone
7797       configuration, using the script method means the password is  primarily
7798       protected  by  the  passwordstore  system, and is never embedded in the
7799       clear in scripts, nor available for examination using the standard com‐
7800       mands  available.   It  is quite possible with long running rclone ses‐
7801       sions for copies of passwords to be innocently captured in log files or
7802       terminal scroll buffers, etc.  Using the script method of supplying the
7803       password enhances the security of the config password considerably.
7804
7805       If you are running rclone inside a script, unless  you  are  using  the
7806       --password-command  method, you might want to disable password prompts.
7807       To do that, pass the parameter --ask-password=false  to  rclone.   This
7808       will  make  rclone fail instead of asking for a password if RCLONE_CON‐
7809       FIG_PASS doesn't contain a valid password, and  --password-command  has
7810       not been supplied.
7811
7812       Some  rclone commands, such as genautocomplete, do not require configu‐
7813       ration.  Nevertheless, rclone will read any  configuration  file  found
7814       according  to  the rules described above (https://rclone.org/docs/#con‐
7815       fig-config-file).  If an encrypted configuration file  is  found,  this
7816       means  you  will be prompted for password (unless using --password-com‐
7817       mand).  To avoid this, you can bypass the loading of the  configuration
7818       file  by overriding the location with an empty string "" or the special
7819       value /notfound, or the os null device represented by value NUL on Win‐
7820       dows  and  /dev/null  on  Unix systems (before rclone version 1.55 only
7821       this null device alternative was supported).  E.g.  rclone  --config=""
7822       genautocomplete bash.
7823
7824   Developer options
7825       These  options  are  useful when developing or debugging rclone.  There
7826       are also some more remote specific options which aren't documented here
7827       which  are  used  for  testing.   These  start  with  remote  name e.g.
7828       --drive-test-option - see the docs for the remote in question.
7829
7830   --cpuprofile=FILE
7831       Write CPU profile to file.  This can be analysed with go tool pprof.
7832
7833   --dump flag,flag,flag
7834       The --dump flag takes a comma separated list  of  flags  to  dump  info
7835       about.
7836
7837       Note  that  some  headers including Accept-Encoding as shown may not be
7838       correct in the request and the response may not  show  Content-Encoding
7839       if the go standard libraries auto gzip encoding was in effect.  In this
7840       case the body of the request will be gunzipped before showing it.
7841
7842       The available flags are:
7843
7844   --dump headers
7845       Dump HTTP headers with Authorization: lines removed.  May still contain
7846       sensitive info.  Can be very verbose.  Useful for debugging only.
7847
7848       Use --dump auth if you do want the Authorization: headers.
7849
7850   --dump bodies
7851       Dump HTTP headers and bodies - may contain sensitive info.  Can be very
7852       verbose.  Useful for debugging only.
7853
7854       Note that the bodies are buffered in memory so don't use this for enor‐
7855       mous files.
7856
7857   --dump requests
7858       Like  --dump bodies but dumps the request bodies and the response head‐
7859       ers.  Useful for debugging download problems.
7860
7861   --dump responses
7862       Like --dump bodies but dumps the response bodies and the request  head‐
7863       ers.  Useful for debugging upload problems.
7864
7865   --dump auth
7866       Dump  HTTP headers - will contain sensitive info such as Authorization:
7867       headers - use --dump headers to dump  without  Authorization:  headers.
7868       Can be very verbose.  Useful for debugging only.
7869
7870   --dump filters
7871       Dump the filters to the output.  Useful to see exactly what include and
7872       exclude options are filtering on.
7873
7874   --dump goroutines
7875       This dumps a list of the running go-routines at the end of the  command
7876       to standard output.
7877
7878   --dump openfiles
7879       This dumps a list of the open files at the end of the command.  It uses
7880       the lsof command to do that so you'll need that installed to use it.
7881
7882   --memprofile=FILE
7883       Write memory profile to file.  This can be analysed with go tool pprof.
7884
7885   Filtering
7886       For the filtering options
7887
7888       • --delete-excluded
7889
7890       • --filter
7891
7892       • --filter-from
7893
7894       • --exclude
7895
7896       • --exclude-from
7897
7898       • --include
7899
7900       • --include-from
7901
7902       • --files-from
7903
7904       • --files-from-raw
7905
7906       • --min-size
7907
7908       • --max-size
7909
7910       • --min-age
7911
7912       • --max-age
7913
7914       • --dump filters
7915
7916       See the filtering section (https://rclone.org/filtering/).
7917
7918   Remote control
7919       For the remote control options and for instructions on  how  to  remote
7920       control rclone
7921
7922       • --rc
7923
7924       • and anything starting with --rc-
7925
7926       See the remote control section (https://rclone.org/rc/).
7927
7928   Logging
7929       rclone has 4 levels of logging, ERROR, NOTICE, INFO and DEBUG.
7930
7931       By default, rclone logs to standard error.  This means you can redirect
7932       standard error and still see the normal output of rclone commands (e.g.
7933       rclone ls).
7934
7935       By default, rclone will produce Error and Notice level messages.
7936
7937       If you use the -q flag, rclone will only produce Error messages.
7938
7939       If you use the -v flag, rclone will produce Error, Notice and Info mes‐
7940       sages.
7941
7942       If you use the -vv flag, rclone will produce Error,  Notice,  Info  and
7943       Debug messages.
7944
7945       You can also control the log levels with the --log-level flag.
7946
7947       If you use the --log-file=FILE option, rclone will redirect Error, Info
7948       and Debug messages along with standard error to FILE.
7949
7950       If you use the --syslog flag then rclone will log  to  syslog  and  the
7951       --syslog-facility control which facility it uses.
7952
7953       Rclone  prefixes  all  log  messages with their level in capitals, e.g.
7954       INFO which makes it easy to grep the log file for  different  kinds  of
7955       information.
7956
7957   Exit Code
7958       If any errors occur during the command execution, rclone will exit with
7959       a non-zero exit code.  This allows scripts to detect when rclone opera‐
7960       tions have failed.
7961
7962       During  the  startup phase, rclone will exit immediately if an error is
7963       detected in the configuration.  There will always be a log message  im‐
7964       mediately before exiting.
7965
7966       When  rclone is running it will accumulate errors as it goes along, and
7967       only exit with a non-zero exit code if (after retries) there were still
7968       failed transfers.  For every error counted there will be a high priori‐
7969       ty log message (visible with -q) showing the  message  and  which  file
7970       caused  the problem.  A high priority message is also shown when start‐
7971       ing a retry so the user can see that any previous  error  messages  may
7972       not be valid after the retry.  If rclone has done a retry it will log a
7973       high priority message if the retry was successful.
7974
7975   List of exit codes
7976       • 0 - success
7977
7978       • 1 - Syntax or usage error
7979
7980       • 2 - Error not otherwise categorised
7981
7982       • 3 - Directory not found
7983
7984       • 4 - File not found
7985
7986       • 5 - Temporary error (one that more retries might fix) (Retry errors)
7987
7988       • 6 - Less serious errors (like 461 errors from dropbox)  (NoRetry  er‐
7989         rors)
7990
7991       • 7  -  Fatal error (one that more retries won't fix, like account sus‐
7992         pended) (Fatal errors)
7993
7994       • 8 - Transfer exceeded - limit set by --max-transfer reached
7995
7996       • 9 - Operation successful, but no files transferred
7997
7998   Environment Variables
7999       Rclone can be configured entirely using environment  variables.   These
8000       can be used to set defaults for options or config file entries.
8001
8002   Options
8003       Every  option  in  rclone can have its default set by environment vari‐
8004       able.
8005
8006       To find the name of the environment variable, first, take the long  op‐
8007       tion  name,  strip  the  leading --, change - to _, make upper case and
8008       prepend RCLONE_.
8009
8010       For example, to always set --stats 5s,  set  the  environment  variable
8011       RCLONE_STATS=5s.   If you set stats on the command line this will over‐
8012       ride the environment variable setting.
8013
8014       Or  to  always  use  the  trash   in   drive   --drive-use-trash,   set
8015       RCLONE_DRIVE_USE_TRASH=true.
8016
8017       The  same  parser is used for the options and the environment variables
8018       so they take exactly the same form.
8019
8020   Config file
8021       You can set defaults for values in the config file on an individual re‐
8022       mote  basis.   The names of the config items are documented in the page
8023       for each backend.
8024
8025       To find the name of the environment variable, you  need  to  set,  take
8026       RCLONE_CONFIG_  +  name  of remote + _ + name of config file option and
8027       make it all uppercase.
8028
8029       For example, to configure an S3 remote named  mys3:  without  a  config
8030       file (using unix ways of setting environment variables):
8031
8032              $ export RCLONE_CONFIG_MYS3_TYPE=s3
8033              $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
8034              $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
8035              $ rclone lsd MYS3:
8036                        -1 2016-09-21 12:54:21        -1 my-bucket
8037              $ rclone listremotes | grep mys3
8038              mys3:
8039
8040       Note  that  if  you want to create a remote using environment variables
8041       you must create the ..._TYPE variable as above.
8042
8043       Note also that now rclone has connection strings, it is probably easier
8044       to use those instead which makes the above example
8045
8046              rclone lsd :s3,access_key_id=XXX,secret_access_key=XXX:
8047
8048   Precedence
8049       The various different methods of backend configuration are read in this
8050       order and the first one with a value is used.
8051
8052       • Flag values as supplied on the command line, e.g.  --drive-use-trash.
8053
8054       • Remote   specific   environment   vars,   e.g.    RCLONE_CONFIG_MYRE‐
8055         MOTE_USE_TRASH (see above).
8056
8057       • Backend specific environment vars, e.g.  RCLONE_DRIVE_USE_TRASH.
8058
8059       • Config file, e.g.  use_trash = false.
8060
8061       • Default values, e.g.  true - these can't be changed.
8062
8063       So  if both --drive-use-trash is supplied on the config line and an en‐
8064       vironment variable RCLONE_DRIVE_USE_TRASH is set, the command line flag
8065       will take preference.
8066
8067       For non backend configuration the order is as follows:
8068
8069       • Flag values as supplied on the command line, e.g.  --stats 5s.
8070
8071       • Environment vars, e.g.  RCLONE_STATS=5s.
8072
8073       • Default values, e.g.  1m - these can't be changed.
8074
8075   Other environment variables
8076       • RCLONE_CONFIG_PASS set to contain your config file password (see Con‐
8077         figuration Encryption section)
8078
8079       • HTTP_PROXY, HTTPS_PROXY  and  NO_PROXY  (or  the  lowercase  versions
8080         thereof).
8081
8082         • HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
8083
8084         • The   environment  values  may  be  either  a  complete  URL  or  a
8085           "host[:port]" for, in which case the "http" scheme is assumed.
8086
8087       • RCLONE_CONFIG_DIR - rclone sets this variable for use in config files
8088         and sub processes to point to the directory holding the config file.
8089

Configuring rclone on a remote / headless machine

8091       Some of the configurations (those involving oauth2) require an Internet
8092       connected web browser.
8093
8094       If you are trying to set rclone up on a remote or headless box with  no
8095       browser  available on it (e.g.  a NAS or a server in a datacenter) then
8096       you will need to use an alternative means of configuration.  There  are
8097       two ways of doing it, described below.
8098
8099   Configuring using rclone authorize
8100       On the headless box run rclone config but answer N to the Use auto con‐
8101       fig? question.
8102
8103              ...
8104              Remote config
8105              Use auto config?
8106               * Say Y if not sure
8107               * Say N if you are working on a remote or headless machine
8108              y) Yes (default)
8109              n) No
8110              y/n> n
8111              For this to work, you will need rclone available on a machine that has
8112              a web browser available.
8113
8114              For more help and alternate methods see: https://rclone.org/remote_setup/
8115
8116              Execute the following on the machine with the web browser (same rclone
8117              version recommended):
8118
8119                  rclone authorize "amazon cloud drive"
8120
8121              Then paste the result below:
8122              result>
8123
8124       Then on your main desktop machine
8125
8126              rclone authorize "amazon cloud drive"
8127              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
8128              Log in and authorize rclone for access
8129              Waiting for code...
8130              Got code
8131              Paste the following into your remote machine --->
8132              SECRET_TOKEN
8133              <---End paste
8134
8135       Then back to the headless box, paste in the code
8136
8137              result> SECRET_TOKEN
8138              --------------------
8139              [acd12]
8140              client_id =
8141              client_secret =
8142              token = SECRET_TOKEN
8143              --------------------
8144              y) Yes this is OK
8145              e) Edit this remote
8146              d) Delete this remote
8147              y/e/d>
8148
8149   Configuring by copying the config file
8150       Rclone stores all of its config in a single configuration  file.   This
8151       can easily be copied to configure a remote rclone.
8152
8153       So first configure rclone on your desktop machine with
8154
8155              rclone config
8156
8157       to set up the config file.
8158
8159       Find the config file by running rclone config file, for example
8160
8161              $ rclone config file
8162              Configuration file is stored at:
8163              /home/user/.rclone.conf
8164
8165       Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
8166       place it in the correct place (use rclone config file on the remote box
8167       to find out where).
8168

Filtering, includes and excludes

8170       Filter  flags determine which files rclone sync, move, ls, lsl, md5sum,
8171       sha1sum, size, delete, check and similar commands apply to.
8172
8173       They are specified in  terms  of  path/file  name  patterns;  path/file
8174       lists; file age and size, or presence of a file in a directory.  Bucket
8175       based remotes without the concept of directory apply filters to  object
8176       key, age and size in an analogous way.
8177
8178       Rclone purge does not obey filters.
8179
8180       To  test  filters  without risk of damage to data, apply them to rclone
8181       ls, or with the --dry-run and -vv flags.
8182
8183       Rclone filter patterns can only be used in filter command line options,
8184       not in the specification of a remote.
8185
8186       E.g.  rclone copy "remote:dir*.jpg" /path/to/dir does not have a filter
8187       effect.  rclone copy remote:dir /path/to/dir --include "*.jpg" does.
8188
8189       Important Avoid mixing any two of --include..., --exclude... or  --fil‐
8190       ter... flags in an rclone command.  The results may not be what you ex‐
8191       pect.  Instead use a --filter... flag.
8192
8193   Patterns for matching path/file names
8194   Pattern syntax
8195       Rclone matching rules follow a glob style:
8196
8197              `*`         matches any sequence of non-separator (`/`) characters
8198              `**`        matches any sequence of characters including `/` separators
8199              `?`         matches any single non-separator (`/`) character
8200              `[` [ `!` ] { character-range } `]`
8201                          character class (must be non-empty)
8202              `{` pattern-list `}`
8203                          pattern alternatives
8204              c           matches character c (c != `*`, `**`, `?`, `\`, `[`, `{`, `}`)
8205              `\` c       matches character c
8206
8207       character-range:
8208
8209              c           matches character c (c != `\\`, `-`, `]`)
8210              `\` c       matches character c
8211              lo `-` hi   matches character c for lo <= c <= hi
8212
8213       pattern-list:
8214
8215              pattern { `,` pattern }
8216                          comma-separated (without spaces) patterns
8217
8218       character   classes    (see    Go    regular    expression    reference
8219       (https://golang.org/pkg/regexp/syntax/)) include:
8220
8221              Named character classes (e.g. [\d], [^\d], [\D], [^\D])
8222              Perl character classes (e.g. \s, \S, \w, \W)
8223              ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
8224
8225       If  the  filter pattern starts with a / then it only matches at the top
8226       level of the directory tree, relative to the root of  the  remote  (not
8227       necessarily  the  root of the drive).  If it does not start with / then
8228       it is matched starting at the end of the path/file  name  but  it  only
8229       matches  a  complete path element - it must match from a / separator or
8230       the beginning of the path/file.
8231
8232              file.jpg   - matches "file.jpg"
8233                         - matches "directory/file.jpg"
8234                         - doesn't match "afile.jpg"
8235                         - doesn't match "directory/afile.jpg"
8236              /file.jpg  - matches "file.jpg" in the root directory of the remote
8237                         - doesn't match "afile.jpg"
8238                         - doesn't match "directory/file.jpg"
8239
8240       The top level of the remote may not be the top level of the drive.
8241
8242       E.g.  for a Microsoft Windows local directory structure
8243
8244              F:
8245              ├── bkp
8246              ├── data
8247              │   ├── excl
8248              │   │   ├── 123.jpg
8249              │   │   └── 456.jpg
8250              │   ├── incl
8251              │   │   └── document.pdf
8252
8253       To copy the contents of folder data into folder bkp excluding the  con‐
8254       tents  of subfolder exclthe following command treats F:\data and F:\bkp
8255       as top level for filtering.
8256
8257       rclone copy F:\data\ F:\bkp\ --exclude=/excl/**
8258
8259       Important Use / in path/file name patterns and not \ even if running on
8260       Microsoft Windows.
8261
8262       Simple  patterns  are  case  sensitive unless the --ignore-case flag is
8263       used.
8264
8265       Without --ignore-case (default)
8266
8267              potato - matches "potato"
8268                     - doesn't match "POTATO"
8269
8270       With --ignore-case
8271
8272              potato - matches "potato"
8273                     - matches "POTATO"
8274
8275   How filter rules are applied to files
8276       Rclone path/file name filters are made up of one or more of the follow‐
8277       ing flags:
8278
8279       • --include
8280
8281       • --include-from
8282
8283       • --exclude
8284
8285       • --exclude-from
8286
8287       • --filter
8288
8289       • --filter-from
8290
8291       There can be more than one instance of individual flags.
8292
8293       Rclone  internally  uses a combined list of all the include and exclude
8294       rules.  The order in which rules are processed can influence the result
8295       of the filter.
8296
8297       All  flags  of the same type are processed together in the order above,
8298       regardless of what order the different types of flags are  included  on
8299       the command line.
8300
8301       Multiple  instances  of  the same flag are processed from left to right
8302       according to their position in the command line.
8303
8304       To mix up the order of processing includes and excludes use --filter...
8305       flags.
8306
8307       Within --include-from, --exclude-from and --filter-from flags rules are
8308       processed from top to bottom of the referenced file.
8309
8310       If there is an --include or --include-from flag specified,  rclone  im‐
8311       plies  a  -  **  rule  which it adds to the bottom of the internal rule
8312       list.  Specifying a + rule with a --filter... flag does not imply  that
8313       rule.
8314
8315       Each  path/file  name passed through rclone is matched against the com‐
8316       bined filter list.  At first match to a rule the path/file name is  in‐
8317       cluded  or  excluded and no further filter rules are processed for that
8318       path/file.
8319
8320       If rclone does not find a match, after testing against all  rules  (in‐
8321       cluding the implied rule if appropriate), the path/file name is includ‐
8322       ed.
8323
8324       Any path/file included at that stage is processed by  the  rclone  com‐
8325       mand.
8326
8327       --files-from  and  --files-from-raw  flags over-ride and cannot be com‐
8328       bined with other filter options.
8329
8330       To see the internal combined rule list, in regular expression form, for
8331       a  command add the --dump filters flag.  Running an rclone command with
8332       --dump filters and -vv flags lists the  internal  filter  elements  and
8333       shows how they are applied to each source path/file.  There is not cur‐
8334       rently a means provided to pass regular expression filter options  into
8335       rclone  directly  though character class filter rules contain character
8336       classes.  Go regular expression reference  (https://golang.org/pkg/reg
8337       exp/syntax/)
8338
8339   How filter rules are applied to directories
8340       Rclone  commands  are  applied to path/file names not directories.  The
8341       entire contents of a directory can be matched to a filter by  the  pat‐
8342       tern directory/* or recursively by directory/**.
8343
8344       Directory filter rules are defined with a closing / separator.
8345
8346       E.g.  /directory/subdirectory/ is an rclone directory filter rule.
8347
8348       Rclone  commands  can  use  directory filter rules to determine whether
8349       they recurse into subdirectories.  This potentially optimises access to
8350       a  remote by avoiding listing unnecessary directories.  Whether optimi‐
8351       sation is desirable depends on the specific filter rules and source re‐
8352       mote content.
8353
8354       Directory recursion optimisation occurs if either:
8355
8356       • A  source remote does not support the rclone ListR primitive.  local,
8357         sftp, Microsoft OneDrive and WebDav do  not  support  ListR.   Google
8358         Drive    and    most    bucket    type   storage   do.    Full   list
8359         (https://rclone.org/overview/#optional-features)
8360
8361       • On other remotes (those that support ListR), if the rclone command is
8362         not  naturally  recursive,  and  provided  it  is  not  run  with the
8363         --fast-list flag.  ls, lsf -R and size are  naturally  recursive  but
8364         sync, copy and move are not.
8365
8366       • Whenever the --disable ListR flag is applied to an rclone command.
8367
8368       Rclone  commands  imply  directory  filter  rules from path/file filter
8369       rules.  To view the directory filter rules rclone  has  implied  for  a
8370       command specify the --dump filters flag.
8371
8372       E.g.  for an include rule
8373
8374              /a/*.jpg
8375
8376       Rclone implies the directory include rule
8377
8378              /a/
8379
8380       Directory  filter  rules  specified  in an rclone command can limit the
8381       scope of an rclone command but path/file filters still have to be spec‐
8382       ified.
8383
8384       E.g.  rclone ls remote: --include /directory/ will not match any files.
8385       Because it is an --include option the --exclude ** rule is implied, and
8386       the /directory/ pattern serves only to optimise access to the remote by
8387       ignoring everything outside of that directory.
8388
8389       E.g.  rclone ls remote: --filter-from filter-list.txt with a file  fil‐
8390       ter-list.txt:
8391
8392              - /dir1/
8393              - /dir2/
8394              + *.pdf
8395              - **
8396
8397       All  files in directories dir1 or dir2 or their subdirectories are com‐
8398       pletely excluded from the listing.  Only files of  suffix  pdf  in  the
8399       root  of  remote: or its subdirectories are listed.  The - ** rule pre‐
8400       vents listing of any path/files not previously  matched  by  the  rules
8401       above.
8402
8403       Option exclude-if-present creates a directory exclude rule based on the
8404       presence of a file in a  directory  and  takes  precedence  over  other
8405       rclone directory filter rules.
8406
8407       When  using pattern list syntax, if a pattern item contains either / or
8408       **, then rclone will not able to imply a  directory  filter  rule  from
8409       this pattern list.
8410
8411       E.g.  for an include rule
8412
8413              {dir1/**,dir2/**}
8414
8415       Rclone  will  match files below directories dir1 or dir2 only, but will
8416       not be able to use this filter to exclude a directory dir3  from  being
8417       traversed.
8418
8419       Directory  recursion  optimisation may affect performance, but normally
8420       not the result.  One exception to this is sync operations  with  option
8421       --create-empty-src-dirs,  where any traversed empty directories will be
8422       created.  With the pattern list example {dir1/**,dir2/**}  above,  this
8423       would  create an empty directory dir3 on destination (when it exists on
8424       source).  Changing the filter to {dir1,dir2}/**, or splitting  it  into
8425       two  include  rules --include dir1/** --include dir2/**, will match the
8426       same files while also filtering directories, with the  result  that  an
8427       empty directory dir3 will no longer be created.
8428
8429   --exclude - Exclude files matching pattern
8430       Excludes  path/file  names from an rclone command based on a single ex‐
8431       clude rule.
8432
8433       This flag can be repeated.  See above for the order  filter  flags  are
8434       processed in.
8435
8436       --exclude  should  not be used with --include, --include-from, --filter
8437       or --filter-from flags.
8438
8439       --exclude  has  no  effect   when   combined   with   --files-from   or
8440       --files-from-raw flags.
8441
8442       E.g.   rclone  ls  remote: --exclude *.bak excludes all .bak files from
8443       listing.
8444
8445       E.g.  rclone size remote: "--exclude /dir/**" returns the total size of
8446       all  files on remote: excluding those in root directory dir and sub di‐
8447       rectories.
8448
8449       E.g.    on   Microsoft   Windows   rclone    ls    remote:    --exclude
8450       "*\[{JP,KR,HK}\]*" lists the files in remote: with [JP] or [KR] or [HK]
8451       in their name.  Quotes prevent the shell from interpreting the \  char‐
8452       acters.\  characters escape the [ and ] so an rclone filter treats them
8453       literally rather than as a character-range.  The  {  and  }  define  an
8454       rclone pattern list.  For other operating systems single quotes are re‐
8455       quired ie rclone ls remote: --exclude '*\[{JP,KR,HK}\]*'
8456
8457   --exclude-from - Read exclude patterns from file
8458       Excludes path/file names from an rclone command based  on  rules  in  a
8459       named file.  The file contains a list of remarks and pattern rules.
8460
8461       For an example exclude-file.txt:
8462
8463              # a sample exclude rule file
8464              *.bak
8465              file2.jpg
8466
8467       rclone  ls  remote:  --exclude-from exclude-file.txt lists the files on
8468       remote: except those named file2.jpg or with a suffix  .bak.   That  is
8469       equivalent to rclone ls remote: --exclude file2.jpg --exclude "*.bak".
8470
8471       This  flag  can  be repeated.  See above for the order filter flags are
8472       processed in.
8473
8474       The --exclude-from flag is useful where multiple exclude  filter  rules
8475       are applied to an rclone command.
8476
8477       --exclude-from  should  not  be  used  with  --include, --include-from,
8478       --filter or --filter-from flags.
8479
8480       --exclude-from  has  no  effect  when  combined  with  --files-from  or
8481       --files-from-raw flags.
8482
8483       --exclude-from followed by - reads filter rules from standard input.
8484
8485   --include - Include files matching pattern
8486       Adds  a  single include rule based on path/file names to an rclone com‐
8487       mand.
8488
8489       This flag can be repeated.  See above for the order  filter  flags  are
8490       processed in.
8491
8492       --include   has   no   effect   when   combined  with  --files-from  or
8493       --files-from-raw flags.
8494
8495       --include implies --exclude ** at the end of an rclone internal  filter
8496       list.   Therefore  if  you  mix --include and --include-from flags with
8497       --exclude, --exclude-from, --filter or --filter-from, you must use  in‐
8498       clude  rules  for all the files you want in the include statement.  For
8499       more flexibility use the --filter-from flag.
8500
8501       E.g.  rclone ls remote: --include "*.{png,jpg}" lists the files on  re‐
8502       mote: with suffix .png and .jpg.  All other files are excluded.
8503
8504       E.g.   multiple rclone copy commands can be combined with --include and
8505       a pattern-list.
8506
8507              rclone copy /vol1/A remote:A
8508              rclone copy /vol1/B remote:B
8509
8510       is equivalent to:
8511
8512              rclone copy /vol1 remote: --include "{A,B}/**"
8513
8514       E.g.  rclone ls remote:/wheat  --include  "??[^[:punct:]]*"  lists  the
8515       files  remote: directory wheat (and subdirectories) whose third charac‐
8516       ter is not punctuation.  This example uses  an  ASCII  character  class
8517       (https://golang.org/pkg/regexp/syntax/).
8518
8519   --include-from - Read include patterns from file
8520       Adds  path/file  names  to  an rclone command based on rules in a named
8521       file.  The file contains a list of remarks and pattern rules.
8522
8523       For an example include-file.txt:
8524
8525              # a sample include rule file
8526              *.jpg
8527              file2.avi
8528
8529       rclone ls remote: --include-from include-file.txt lists  the  files  on
8530       remote:  with  name  file2.avi  or  suffix .jpg.  That is equivalent to
8531       rclone ls remote: --include file2.avi --include "*.jpg".
8532
8533       This flag can be repeated.  See above for the order  filter  flags  are
8534       processed in.
8535
8536       The  --include-from  flag is useful where multiple include filter rules
8537       are applied to an rclone command.
8538
8539       --include-from implies --exclude ** at the end of  an  rclone  internal
8540       filter  list.   Therefore if you mix --include and --include-from flags
8541       with --exclude, --exclude-from, --filter or --filter-from, you must use
8542       include rules for all the files you want in the include statement.  For
8543       more flexibility use the --filter-from flag.
8544
8545       --exclude-from  has  no  effect  when  combined  with  --files-from  or
8546       --files-from-raw flags.
8547
8548       --exclude-from followed by - reads filter rules from standard input.
8549
8550   --filter - Add a file-filtering rule
8551       Specifies  path/file  names to an rclone command, based on a single in‐
8552       clude or exclude rule, in + or - format.
8553
8554       This flag can be repeated.  See above for the order  filter  flags  are
8555       processed in.
8556
8557       --filter + differs from --include.  In the case of --include rclone im‐
8558       plies an --exclude * rule which it adds to the bottom of  the  internal
8559       rule list.  --filter...+ does not imply that rule.
8560
8561       --filter   has   no   effect   when   combined   with  --files-from  or
8562       --files-from-raw flags.
8563
8564       --filter should not be used with --include,  --include-from,  --exclude
8565       or --exclude-from flags.
8566
8567       E.g.  rclone ls remote: --filter "- *.bak" excludes all .bak files from
8568       a list of remote:.
8569
8570   --filter-from - Read filtering patterns from a file
8571       Adds path/file names to an rclone command based on  rules  in  a  named
8572       file.   The file contains a list of remarks and pattern rules.  Include
8573       rules start with + and exclude rules with -.  ! clears existing  rules.
8574       Rules are processed in the order they are defined.
8575
8576       This  flag  can  be repeated.  See above for the order filter flags are
8577       processed in.
8578
8579       Arrange the order of filter rules with the most restrictive  first  and
8580       work down.
8581
8582       E.g.  for filter-file.txt:
8583
8584              # a sample filter rule file
8585              - secret*.jpg
8586              + *.jpg
8587              + *.png
8588              + file2.avi
8589              - /dir/Trash/**
8590              + /dir/**
8591              # exclude everything else
8592              - *
8593
8594       rclone ls remote: --filter-from filter-file.txt lists the path/files on
8595       remote: including all jpg and png files,  excluding  any  matching  se‐
8596       cret*.jpg  and including file2.avi.  It also includes everything in the
8597       directory dir at the root of remote, except remote:dir/Trash  which  it
8598       excludes.  Everything else is excluded.
8599
8600       E.g.  for an alternative filter-file.txt:
8601
8602              - secret*.jpg
8603              + *.jpg
8604              + *.png
8605              + file2.avi
8606              - *
8607
8608       Files file1.jpg, file3.png and file2.avi are listed whilst secret17.jpg
8609       and files without the suffix .jpgor.png` are excluded.
8610
8611       E.g.  for an alternative filter-file.txt:
8612
8613              + *.jpg
8614              + *.gif
8615              !
8616              + 42.doc
8617              - *
8618
8619       Only file 42.doc is listed.  Prior rules are cleared by the !.
8620
8621   --files-from - Read list of source-file names
8622       Adds path/files to an rclone command from  a  list  in  a  named  file.
8623       Rclone  processes  the path/file names in the order of the list, and no
8624       others.
8625
8626       Other  filter  flags  (--include,  --include-from,   --exclude,   --ex‐
8627       clude-from,  --filter  and --filter-from) are ignored when --files-from
8628       is used.
8629
8630       --files-from expects a list of files as its input.  Leading or trailing
8631       whitespace  is stripped from the input lines.  Lines starting with # or
8632       ; are ignored.
8633
8634       Rclone commands with a --files-from flag traverse the remote,  treating
8635       the names in --files-from as a set of filters.
8636
8637       If the --no-traverse and --files-from flags are used together an rclone
8638       command does not  traverse  the  remote.   Instead  it  addresses  each
8639       path/file  named  in  the  file individually.  For each path/file name,
8640       that requires typically 1 API call.  This can be efficient for a  short
8641       --files-from list and a remote containing many files.
8642
8643       Rclone  commands do not error if any names in the --files-from file are
8644       missing from the source remote.
8645
8646       The --files-from flag can be repeated in a  single  rclone  command  to
8647       read  path/file names from more than one file.  The files are read from
8648       left to right along the command line.
8649
8650       Paths within the --files-from file are interpreted as starting with the
8651       root  specified  in  the  rclone command.  Leading / separators are ig‐
8652       nored.  See --files-from-raw if you need the input to be processed in a
8653       raw manner.
8654
8655       E.g.  for a file files-from.txt:
8656
8657              # comment
8658              file1.jpg
8659              subdir/file2.jpg
8660
8661       rclone   copy  --files-from  files-from.txt  /home/me/pics  remote:pics
8662       copies the following, if they exist, and only those files.
8663
8664              /home/me/pics/file1.jpg        → remote:pics/file1.jpg
8665              /home/me/pics/subdir/file2.jpg → remote:pics/subdir/file2.jpg
8666
8667       E.g.  to copy the following files referenced by their absolute paths:
8668
8669              /home/user1/42
8670              /home/user1/dir/ford
8671              /home/user2/prefect
8672
8673       First find a common subdirectory - in this case /home and put  the  re‐
8674       maining files in files-from.txt with or without leading /, e.g.
8675
8676              user1/42
8677              user1/dir/ford
8678              user2/prefect
8679
8680       Then copy these to a remote:
8681
8682              rclone copy --files-from files-from.txt /home remote:backup
8683
8684       The three files are transferred as follows:
8685
8686              /home/user1/42       → remote:backup/user1/important
8687              /home/user1/dir/ford → remote:backup/user1/dir/file
8688              /home/user2/prefect  → remote:backup/user2/stuff
8689
8690       Alternatively if / is chosen as root files-from.txt will be:
8691
8692              /home/user1/42
8693              /home/user1/dir/ford
8694              /home/user2/prefect
8695
8696       The copy command will be:
8697
8698              rclone copy --files-from files-from.txt / remote:backup
8699
8700       Then there will be an extra home directory on the remote:
8701
8702              /home/user1/42       → remote:backup/home/user1/42
8703              /home/user1/dir/ford → remote:backup/home/user1/dir/ford
8704              /home/user2/prefect  → remote:backup/home/user2/prefect
8705
8706   --files-from-raw - Read list of source-file names without any processing
8707       This  flag  is  the same as --files-from except that input is read in a
8708       raw manner.  Lines with leading / trailing whitespace, and lines start‐
8709       ing  with  ;  or  #  are  read  without  any  processing.   rclone  lsf
8710       (https://rclone.org/commands/rclone_lsf/) has a compatible format  that
8711       can   be   used  to  export  file  lists  from  remotes  for  input  to
8712       --files-from-raw.
8713
8714   --ignore-case - make searches case insensitive
8715       By default rclone  filter  patterns  are  case  sensitive.   The  --ig‐
8716       nore-case  flag  makes  all of the filters patterns on the command line
8717       case insensitive.
8718
8719       E.g.  --include "zaphod.txt" does not match a  file  Zaphod.txt.   With
8720       --ignore-case a match is made.
8721
8722   Quoting shell metacharacters
8723       Rclone  commands  with  filter patterns containing shell metacharacters
8724       may not as work as expected in your shell and may require quoting.
8725
8726       E.g.  linux, OSX (* metacharacter)
8727
8728       • --include \*.jpg
8729
8730       • --include '*.jpg'
8731
8732       • --include='*.jpg'
8733
8734       Microsoft Windows expansion is done by the command, not shell, so --in‐
8735       clude *.jpg does not require quoting.
8736
8737       If the rclone error Command .... needs .... arguments maximum: you pro‐
8738       vided .... non flag arguments: is encountered, the  cause  is  commonly
8739       spaces  within  the name of a remote or flag value.  The fix then is to
8740       quote values containing spaces.
8741
8742   Other filters
8743   --min-size - Don't transfer any file smaller than this
8744       Controls the minimum size file within the scope of an  rclone  command.
8745       Default units are kBytes but abbreviations k, M, or G are valid.
8746
8747       E.g.   rclone  ls  remote:  --min-size  50k  lists  files on remote: of
8748       50kByte size or larger.
8749
8750   --max-size - Don't transfer any file larger than this
8751       Controls the maximum size file within the scope of an  rclone  command.
8752       Default units are kBytes but abbreviations k, M, or G are valid.
8753
8754       E.g.   rclone ls remote: --max-size 1G lists files on remote: of 1GByte
8755       size or smaller.
8756
8757   --max-age - Don't transfer any file older than this
8758       Controls the maximum age of files within the scope of  an  rclone  com‐
8759       mand.   Default  units  are  seconds or the following abbreviations are
8760       valid:
8761
8762       • ms - Milliseconds
8763
8764       • s - Seconds
8765
8766       • m - Minutes
8767
8768       • h - Hours
8769
8770       • d - Days
8771
8772       • w - Weeks
8773
8774       • M - Months
8775
8776       • y - Years
8777
8778       --max-age can also be specified as an absolute time  in  the  following
8779       formats:
8780
8781       • RFC3339 - e.g.  2006-01-02T15:04:05Z or 2006-01-02T15:04:05+07:00
8782
8783       • ISO8601 Date and time, local timezone - 2006-01-02T15:04:05
8784
8785       • ISO8601 Date and time, local timezone - 2006-01-02 15:04:05
8786
8787       • ISO8601 Date - 2006-01-02 (YYYY-MM-DD)
8788
8789       --max-age applies only to files and not to directories.
8790
8791       E.g.   rclone  ls remote: --max-age 2d lists files on remote: of 2 days
8792       old or less.
8793
8794   --min-age - Don't transfer any file younger than this
8795       Controls the minimum age of files within the scope of  an  rclone  com‐
8796       mand.  (see --max-age for valid formats)
8797
8798       --min-age applies only to files and not to directories.
8799
8800       E.g.   rclone  ls remote: --min-age 2d lists files on remote: of 2 days
8801       old or more.
8802
8803   Other flags
8804   --delete-excluded - Delete files on dest excluded from sync
8805       Important this flag is dangerous to your data - use with --dry-run  and
8806       -v first.
8807
8808       In conjunction with rclone sync, --delete-excluded deletes any files on
8809       the destination which are excluded from the command.
8810
8811       E.g.  the scope of rclone sync -i A: B: can be restricted:
8812
8813              rclone --min-size 50k --delete-excluded sync A: B:
8814
8815       All files on B: which are less than 50 kBytes are deleted because  they
8816       are excluded from the rclone sync command.
8817
8818   --dump filters - dump the filters to the output
8819       Dumps the defined filters to standard output in regular expression for‐
8820       mat.
8821
8822       Useful for debugging.
8823
8824   Exclude directory based on a file
8825       The --exclude-if-present flag controls whether a  directory  is  within
8826       the  scope  of  an rclone command based on the presence of a named file
8827       within it.
8828
8829       This flag has a priority over other filter flags.
8830
8831       E.g.  for the following directory structure:
8832
8833              dir1/file1
8834              dir1/dir2/file2
8835              dir1/dir2/dir3/file3
8836              dir1/dir2/dir3/.ignore
8837
8838       The command rclone ls --exclude-if-present .ignore dir1 does  not  list
8839       dir3, file3 or .ignore.
8840
8841       --exclude-if-present can only be used once in an rclone command.
8842
8843   Common pitfalls
8844       The   most   frequent   filter  support  issues  on  the  rclone  forum
8845       (https://forum.rclone.org/) are:
8846
8847       • Not using paths relative to the root of the remote
8848
8849       • Not using / to match from the root of a remote
8850
8851       • Not using ** to match the contents of a directory
8852

GUI (Experimental)

8854       Rclone can serve a web based GUI (graphical user interface).   This  is
8855       somewhat experimental at the moment so things may be subject to change.
8856
8857       Run  this  command in a terminal and rclone will download and then dis‐
8858       play the GUI in a web browser.
8859
8860              rclone rcd --rc-web-gui
8861
8862       This will produce logs like this and rclone needs to continue to run to
8863       serve the GUI:
8864
8865              2019/08/25 11:40:14 NOTICE: A new release for gui is present at https://github.com/rclone/rclone-webui-react/releases/download/v0.0.6/currentbuild.zip
8866              2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path :  /home/USER/.cache/rclone/webgui/v0.0.6.zip]
8867              2019/08/25 11:40:16 NOTICE: Unzipping
8868              2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/
8869
8870       This  assumes  you  are  running rclone locally on your machine.  It is
8871       possible to separate the rclone and the GUI - see below for details.
8872
8873       If you wish to check for updates then you can  add  --rc-web-gui-update
8874       to the command line.
8875
8876       If  you  find  your  GUI  broken,  you  may  force  it to update by add
8877       --rc-web-gui-force-update.
8878
8879       By    default,    rclone    will    open     your     browser.      Add
8880       --rc-web-gui-no-open-browser to disable this feature.
8881
8882   Using the GUI
8883       Once  the  GUI opens, you will be looking at the dashboard which has an
8884       overall overview.
8885
8886       On the left hand side you will see a series of  view  buttons  you  can
8887       click on:
8888
8889       • Dashboard - main overview
8890
8891       • Configs - examine and create new configurations
8892
8893       • Explorer  - view, download and upload files to the cloud storage sys‐
8894         tems
8895
8896       • Backend - view or alter the backend config
8897
8898       • Log out
8899
8900       (More docs and walkthrough video to come!)
8901
8902   How it works
8903       When you run the rclone rcd --rc-web-gui this is what happens
8904
8905       • Rclone starts but only runs the remote control API ("rc").
8906
8907       • The API is bound to localhost with an  auto  generated  username  and
8908         password.
8909
8910       • If the API bundle is missing then rclone will download it.
8911
8912       • rclone will start serving the files from the API bundle over the same
8913         port as the API
8914
8915       • rclone will open the  browser  with  a  login_token  so  it  can  log
8916         straight in.
8917
8918   Advanced use
8919       The  rclone  rcd  may  use  any  of the flags documented on the rc page
8920       (https://rclone.org/rc/#supported-parameters).
8921
8922       The flag --rc-web-gui is shorthand for
8923
8924       • Download the web GUI if necessary
8925
8926       • Check we are using some authentication
8927
8928       • --rc-user gui
8929
8930       • --rc-pass <random password>
8931
8932       • --rc-serve
8933
8934       These flags can be overridden as desired.
8935
8936       See  also  the  rclone   rcd   documentation   (https://rclone.org/com
8937       mands/rclone_rcd/).
8938
8939   Example: Running a public GUI
8940       For  example the GUI could be served on a public port over SSL using an
8941       htpasswd file using the following flags:
8942
8943       • --rc-web-gui
8944
8945       • --rc-addr :443
8946
8947       • --rc-htpasswd /path/to/htpasswd
8948
8949       • --rc-cert /path/to/ssl.crt
8950
8951       • --rc-key /path/to/ssl.key
8952
8953   Example: Running a GUI behind a proxy
8954       If you want to run the GUI behind a proxy  at  /rclone  you  could  use
8955       these flags:
8956
8957       • --rc-web-gui
8958
8959       • --rc-baseurl rclone
8960
8961       • --rc-htpasswd /path/to/htpasswd
8962
8963       Or instead of htpasswd if you just want a single user and password:
8964
8965       • --rc-user me
8966
8967       • --rc-pass mypassword
8968
8969   Project
8970       The GUI is being developed in the: rclone/rclone-webui-react repository
8971       (https://github.com/rclone/rclone-webui-react).
8972
8973       Bug reports and contributions are very welcome :-)
8974
8975       If you have  questions  then  please  ask  them  on  the  rclone  forum
8976       (https://forum.rclone.org/).
8977

Remote controlling rclone with its API

8979       If rclone is run with the --rc flag then it starts an HTTP server which
8980       can be used to remote control rclone using its API.
8981
8982       You can either use the rclone rc command to access the API or use  HTTP
8983       directly.
8984
8985       If  you  just  want  to  run  a remote control then see the rcd command
8986       (https://rclone.org/commands/rclone_rcd/).
8987
8988   Supported parameters
8989   --rc
8990       Flag to start the http server listen on remote requests
8991
8992   --rc-addr=IP
8993       IPaddress:Port or :Port to bind server to.  (default "localhost:5572")
8994
8995   --rc-cert=KEY
8996       SSL PEM key (concatenation of certificate and CA certificate)
8997
8998   --rc-client-ca=PATH
8999       Client certificate authority to verify clients with
9000
9001   --rc-htpasswd=PATH
9002       htpasswd file - if not provided no authentication is done
9003
9004   --rc-key=PATH
9005       SSL PEM Private key
9006
9007   --rc-max-header-bytes=VALUE
9008       Maximum size of request header (default 4096)
9009
9010   --rc-user=VALUE
9011       User name for authentication.
9012
9013   --rc-pass=VALUE
9014       Password for authentication.
9015
9016   --rc-realm=VALUE
9017       Realm for authentication (default "rclone")
9018
9019   --rc-server-read-timeout=DURATION
9020       Timeout for server reading data (default 1h0m0s)
9021
9022   --rc-server-write-timeout=DURATION
9023       Timeout for server writing data (default 1h0m0s)
9024
9025   --rc-serve
9026       Enable the serving of remote objects  via  the  HTTP  interface.   This
9027       means  objects will be accessible at http://127.0.0.1:5572/ by default,
9028       so you can browse to http://127.0.0.1:5572/ or  http://127.0.0.1:5572/*
9029       to see a listing of the remotes.  Objects may be requested from remotes
9030       using this syntax http://127.0.0.1:5572/[remote:path]/path/to/object
9031
9032       Default Off.
9033
9034   --rc-files /path/to/directory
9035       Path to local files to serve on the HTTP server.
9036
9037       If this is set then rclone will serve the files in that directory.   It
9038       will  also  open the root in the web browser if specified.  This is for
9039       implementing browser based GUIs for rclone functions.
9040
9041       If --rc-user or --rc-pass is set then the URL that is opened will  have
9042       the authorization in the URL in the http://user:pass@localhost/ style.
9043
9044       Default Off.
9045
9046   --rc-enable-metrics
9047       Enable OpenMetrics/Prometheus compatible endpoint at /metrics.
9048
9049       Default Off.
9050
9051   --rc-web-gui
9052       Set this flag to serve the default web gui on the same port as rclone.
9053
9054       Default Off.
9055
9056   --rc-allow-origin
9057       Set the allowed Access-Control-Allow-Origin for rc requests.
9058
9059       Can  be used with --rc-web-gui if the rclone is running on different IP
9060       than the web-gui.
9061
9062       Default is IP address on which rc is running.
9063
9064   --rc-web-fetch-url
9065       Set the URL to fetch the rclone-web-gui files from.
9066
9067       Default  https://api.github.com/repos/rclone/rclone-webui-react/releas
9068       es/latest.
9069
9070   --rc-web-gui-update
9071       Set   this  flag  to  check  and  update  rclone-webui-react  from  the
9072       rc-web-fetch-url.
9073
9074       Default Off.
9075
9076   --rc-web-gui-force-update
9077       Set  this  flag   to   force   update   rclone-webui-react   from   the
9078       rc-web-fetch-url.
9079
9080       Default Off.
9081
9082   --rc-web-gui-no-open-browser
9083       Set  this  flag  to  disable  opening  browser automatically when using
9084       web-gui.
9085
9086       Default Off.
9087
9088   --rc-job-expire-duration=DURATION
9089       Expire finished async jobs older than DURATION (default 60s).
9090
9091   --rc-job-expire-interval=DURATION
9092       Interval duration to check for expired async jobs (default 10s).
9093
9094   --rc-no-auth
9095       By default rclone will require authorisation to have been set up on the
9096       rc  interface  in  order to use any methods which access any rclone re‐
9097       motes.  Eg operations/list is denied as it involved creating  a  remote
9098       as is sync/copy.
9099
9100       If  this is set then no authorisation will be required on the server to
9101       use these methods.  The alternative is to use --rc-user  and  --rc-pass
9102       and use these credentials in the request.
9103
9104       Default Off.
9105
9106   Accessing the remote control via the rclone rc command
9107       Rclone  itself  implements the remote control protocol in its rclone rc
9108       command.
9109
9110       You can use it like this
9111
9112              $ rclone rc rc/noop param1=one param2=two
9113              {
9114                  "param1": "one",
9115                  "param2": "two"
9116              }
9117
9118       Run rclone rc on its own to see the help for the installed remote  con‐
9119       trol commands.
9120
9121   JSON input
9122       rclone  rc  also  supports a --json flag which can be used to send more
9123       complicated input parameters.
9124
9125              $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop
9126              {
9127                  "p1": [
9128                      1,
9129                      "2",
9130                      null,
9131                      4
9132                  ],
9133                  "p2": {
9134                      "a": 1,
9135                      "b": 2
9136                  }
9137              }
9138
9139       If the parameter being passed is an object then it can be passed  as  a
9140       JSON string rather than using the --json flag which simplifies the com‐
9141       mand line.
9142
9143              rclone rc operations/list fs=/tmp remote=test opt='{"showHash": true}'
9144
9145       Rather than
9146
9147              rclone rc operations/list --json '{"fs": "/tmp", "remote": "test", "opt": {"showHash": true}}'
9148
9149   Special parameters
9150       The rc interface supports some special parameters which  apply  to  all
9151       commands.  These start with _ to show they are different.
9152
9153   Running asynchronous jobs with _async = true
9154       Each  rc call is classified as a job and it is assigned its own id.  By
9155       default jobs are executed immediately  as  they  are  created  or  syn‐
9156       chronously.
9157
9158       If _async has a true value when supplied to an rc call then it will re‐
9159       turn immediately with a job id and the task will be run  in  the  back‐
9160       ground.   The  job/status  call  can  be used to get information of the
9161       background job.  The job can be queried for up to 1 minute after it has
9162       finished.
9163
9164       It  is recommended that potentially long running jobs, e.g.  sync/sync,
9165       sync/copy, sync/move, operations/purge are run with the _async flag  to
9166       avoid  any potential problems with the HTTP request and response timing
9167       out.
9168
9169       Starting a job with the _async flag:
9170
9171              $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop
9172              {
9173                  "jobid": 2
9174              }
9175
9176       Query the status to see if the job has finished.  For more  information
9177       on the meaning of these return parameters see the job/status call.
9178
9179              $ rclone rc --json '{ "jobid":2 }' job/status
9180              {
9181                  "duration": 0.000124163,
9182                  "endTime": "2018-10-27T11:38:07.911245881+01:00",
9183                  "error": "",
9184                  "finished": true,
9185                  "id": 2,
9186                  "output": {
9187                      "_async": true,
9188                      "p1": [
9189                          1,
9190                          "2",
9191                          null,
9192                          4
9193                      ],
9194                      "p2": {
9195                          "a": 1,
9196                          "b": 2
9197                      }
9198                  },
9199                  "startTime": "2018-10-27T11:38:07.911121728+01:00",
9200                  "success": true
9201              }
9202
9203       job/list can be used to show the running or recently completed jobs
9204
9205              $ rclone rc job/list
9206              {
9207                  "jobids": [
9208                      2
9209                  ]
9210              }
9211
9212   Setting config flags with _config
9213       If  you wish to set config (the equivalent of the global flags) for the
9214       duration of an rc call only then pass in the _config parameter.
9215
9216       This should be in the same format as the config  key  returned  by  op‐
9217       tions/get.
9218
9219       For example, if you wished to run a sync with the --checksum parameter,
9220       you would pass this parameter in your JSON blob.
9221
9222              "_config":{"CheckSum": true}
9223
9224       If using rclone rc this could be passed as
9225
9226              rclone rc operations/sync ... _config='{"CheckSum": true}'
9227
9228       Any config parameters you don't set will inherit  the  global  defaults
9229       which were set with command line flags or environment variables.
9230
9231       Note  that  it  is possible to set some values as strings or integers -
9232       see data types (/#data-types) for more info.  Here is an  example  set‐
9233       ting the equivalent of --buffer-size in string or integer format.
9234
9235              "_config":{"BufferSize": "42M"}
9236              "_config":{"BufferSize": 44040192}
9237
9238       If  you  wish  to check the _config assignment has worked properly then
9239       calling options/local will show what the value got set to.
9240
9241   Setting filter flags with _filter
9242       If you wish to set filters for the duration of an  rc  call  only  then
9243       pass in the _filter parameter.
9244
9245       This  should  be  in  the same format as the filter key returned by op‐
9246       tions/get.
9247
9248       For example, if you wished to run a sync with these flags
9249
9250              --max-size 1M --max-age 42s --include "a" --include "b"
9251
9252       you would pass this parameter in your JSON blob.
9253
9254              "_filter":{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}
9255
9256       If using rclone rc this could be passed as
9257
9258              rclone rc ... _filter='{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}'
9259
9260       Any filter parameters you don't set will inherit  the  global  defaults
9261       which were set with command line flags or environment variables.
9262
9263       Note  that  it  is possible to set some values as strings or integers -
9264       see data types (/#data-types) for more info.  Here is an  example  set‐
9265       ting the equivalent of --buffer-size in string or integer format.
9266
9267              "_filter":{"MinSize": "42M"}
9268              "_filter":{"MinSize": 44040192}
9269
9270       If  you  wish  to check the _filter assignment has worked properly then
9271       calling options/local will show what the value got set to.
9272
9273   Assigning operations to groups with _group = value
9274       Each rc call has its own stats group for tracking its metrics.  By  de‐
9275       fault grouping is done by the composite group name from prefix job/ and
9276       id of the job like so job/1.
9277
9278       If _group has a value then stats for that request will be grouped under
9279       that value.  This allows caller to group stats under their own name.
9280
9281       Stats   for  specific  group  can  be  accessed  by  passing  group  to
9282       core/stats:
9283
9284              $ rclone rc --json '{ "group": "job/1" }' core/stats
9285              {
9286                  "speed": 12345
9287                  ...
9288              }
9289
9290   Data types
9291       When the API returns types, these will mostly be straight forward inte‐
9292       ger, string or boolean types.
9293
9294       However some of the types returned by the options/get call and taken by
9295       the options/set calls as well as the vfsOpt, mountOpt and  the  _config
9296       parameters.
9297
9298       • Duration  - these are returned as an integer duration in nanoseconds.
9299         They may be set as an integer, or they may be set with  time  string,
9300         eg  "5s".  See the options section (https://rclone.org/docs/#options)
9301         for more info.
9302
9303       • Size - these are returned as an integer number of bytes.  They may be
9304         set  as  an  integer or they may be set with a size suffix string, eg
9305         "10M".  See the  options  section  (https://rclone.org/docs/#options)
9306         for more info.
9307
9308       • Enumerated  type  (such  as  CutoffMode,  DumpFlags,  LogLevel,  Vfs‐
9309         CacheMode - these will be returned as an integer and may be set as an
9310         integer  but more conveniently they can be set as a string, eg "HARD"
9311         for CutoffMode or DEBUG for LogLevel.
9312
9313       • BandwidthSpec - this will be set and returned as a string, eg "1M".
9314
9315   Specifying remotes to work on
9316       Remotes are specified with the fs=, srcFs=, dstFs= parameters depending
9317       on the command being used.
9318
9319       The  parameters  can be a string as per the rest of rclone, eg s3:buck‐
9320       et/path or :sftp:/my/dir.  They can also be specified as JSON blobs.
9321
9322       If specifyng a JSON blob it should  be  a  object  mapping  strings  to
9323       strings.  These values will be used to configure the remote.  There are
9324       3 special values which may be set:
9325
9326       • type - set to type to specify a remote called :type:
9327
9328       • _name - set to name to specify a remote called name:
9329
9330       • _root - sets the root of the remote - may be empty
9331
9332       One of _name or type should normally be set.  If the local  backend  is
9333       desired  then  type  should  be set to local.  If _root isn't specified
9334       then it defaults to the root of the remote.
9335
9336       For example this JSON is equivalent to remote:/tmp
9337
9338              {
9339                  "_name": "remote",
9340                  "_path": "/tmp"
9341              }
9342
9343       And this is equivalent to :sftp,host='example.com':/tmp
9344
9345              {
9346                  "type": "sftp",
9347                  "host": "example.com",
9348                  "_path": "/tmp"
9349              }
9350
9351       And this is equivalent to /tmp/dir
9352
9353              {
9354                  type = "local",
9355                  _ path = "/tmp/dir"
9356              }
9357
9358   Supported commands
9359   backend/command: Runs a backend command.
9360       This takes the following parameters
9361
9362       • command - a string with the command name
9363
9364       • fs - a remote name string e.g.  "drive:"
9365
9366       • arg - a list of arguments for the backend command
9367
9368       • opt - a map of string to string of options
9369
9370       Returns
9371
9372       • result - result from the backend command
9373
9374       For example
9375
9376              rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2
9377
9378       Returns
9379
9380              {
9381                  "result": {
9382                      "arg": [
9383                          "path1",
9384                          "path2"
9385                      ],
9386                      "name": "noop",
9387                      "opt": {
9388                          "blue": "",
9389                          "echo": "yes"
9390                      }
9391                  }
9392              }
9393
9394       Note that this is the direct equivalent of using  this  "backend"  com‐
9395       mand:
9396
9397              rclone backend noop . -o echo=yes -o blue path1 path2
9398
9399       Note that arguments must be preceded by the "-a" flag
9400
9401       See  the  backend (https://rclone.org/commands/rclone_backend/) command
9402       for more information.
9403
9404       Authentication is required for this call.
9405
9406   cache/expire: Purge a remote from cache
9407       Purge a remote from the cache backend.  Supports either a directory  or
9408       a  file.   Params:  -  remote  = path to remote (required) - withData =
9409       true/false to delete cached data (chunks) as well (optional)
9410
9411       Eg
9412
9413              rclone rc cache/expire remote=path/to/sub/folder/
9414              rclone rc cache/expire remote=/ withData=true
9415
9416   cache/fetch: Fetch file chunks
9417       Ensure the specified file chunks are cached on disk.
9418
9419       The chunks= parameter specifies the file chunks to check.  It  takes  a
9420       comma  separated  list  of  array slice indices.  The slice indices are
9421       similar to Python slices: start[:end]
9422
9423       start is the 0 based chunk number from the beginning  of  the  file  to
9424       fetch inclusive.  end is 0 based chunk number from the beginning of the
9425       file to fetch exclusive.  Both values can be negative,  in  which  case
9426       they  count  from the back of the file.  The value "-5:" represents the
9427       last 5 chunks of a file.
9428
9429       Some valid examples are: ":5,-5:" -> the first  and  last  five  chunks
9430       "0,-2"  ->  the first and the second last chunk "0:10" -> the first ten
9431       chunks
9432
9433       Any parameter with a key that starts with "file" can be used to specify
9434       files to fetch, e.g.
9435
9436              rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
9437
9438       File  names  will automatically be encrypted when the a crypt remote is
9439       used on top of the cache.
9440
9441   cache/stats: Get cache stats
9442       Show statistics for the cache remote.
9443
9444   config/create: create the config for a remote.
9445       This takes the following parameters
9446
9447       • name - name of remote
9448
9449       • parameters - a map of { "key": "value" } pairs
9450
9451       • type - type of the new remote
9452
9453       • obscure - optional bool - forces obscuring of passwords
9454
9455       • noObscure - optional bool - forces passwords not to be obscured
9456
9457       See the config create command  (https://rclone.org/commands/rclone_con
9458       fig_create/) command for more information on the above.
9459
9460       Authentication is required for this call.
9461
9462   config/delete: Delete a remote in the config file.
9463       Parameters:
9464
9465       • name - name of remote to delete
9466
9467       See  the config delete command (https://rclone.org/commands/rclone_con
9468       fig_delete/) command for more information on the above.
9469
9470       Authentication is required for this call.
9471
9472   config/dump: Dumps the config file.
9473       Returns a JSON object: - key: value
9474
9475       Where keys are remote names and values are the config parameters.
9476
9477       See the config  dump  command  (https://rclone.org/commands/rclone_con
9478       fig_dump/) command for more information on the above.
9479
9480       Authentication is required for this call.
9481
9482   config/get: Get a remote in the config file.
9483       Parameters:
9484
9485       • name - name of remote to get
9486
9487       See  the  config  dump command (https://rclone.org/commands/rclone_con
9488       fig_dump/) command for more information on the above.
9489
9490       Authentication is required for this call.
9491
9492   config/listremotes: Lists the remotes in the config file.
9493       Returns - remotes - array of remote names
9494
9495       See     the      listremotes      command      (https://rclone.org/com
9496       mands/rclone_listremotes/) command for more information on the above.
9497
9498       Authentication is required for this call.
9499
9500   config/password: password the config for a remote.
9501       This takes the following parameters
9502
9503       • name - name of remote
9504
9505       • parameters - a map of { "key": "value" } pairs
9506
9507       See    the    config    password    command    (https://rclone.org/com
9508       mands/rclone_config_password/) command  for  more  information  on  the
9509       above.
9510
9511       Authentication is required for this call.
9512
9513   config/providers: Shows how providers are configured in the config file.
9514       Returns a JSON object: - providers - array of objects
9515
9516       See    the    config    providers    command   (https://rclone.org/com
9517       mands/rclone_config_providers/) command for  more  information  on  the
9518       above.
9519
9520       Authentication is required for this call.
9521
9522   config/update: update the config for a remote.
9523       This takes the following parameters
9524
9525       • name - name of remote
9526
9527       • parameters - a map of { "key": "value" } pairs
9528
9529       • obscure - optional bool - forces obscuring of passwords
9530
9531       • noObscure - optional bool - forces passwords not to be obscured
9532
9533       See  the config update command (https://rclone.org/commands/rclone_con
9534       fig_update/) command for more information on the above.
9535
9536       Authentication is required for this call.
9537
9538   core/bwlimit: Set the bandwidth limit.
9539       This sets the bandwidth limit to the string passed in.  This should  be
9540       a single bandwidth limit entry or a pair of upload:download bandwidth.
9541
9542       Eg
9543
9544              rclone rc core/bwlimit rate=off
9545              {
9546                  "bytesPerSecond": -1,
9547                  "bytesPerSecondTx": -1,
9548                  "bytesPerSecondRx": -1,
9549                  "rate": "off"
9550              }
9551              rclone rc core/bwlimit rate=1M
9552              {
9553                  "bytesPerSecond": 1048576,
9554                  "bytesPerSecondTx": 1048576,
9555                  "bytesPerSecondRx": 1048576,
9556                  "rate": "1M"
9557              }
9558              rclone rc core/bwlimit rate=1M:100k
9559              {
9560                  "bytesPerSecond": 1048576,
9561                  "bytesPerSecondTx": 1048576,
9562                  "bytesPerSecondRx": 131072,
9563                  "rate": "1M"
9564              }
9565
9566       If the rate parameter is not supplied then the bandwidth is queried
9567
9568              rclone rc core/bwlimit
9569              {
9570                  "bytesPerSecond": 1048576,
9571                  "bytesPerSecondTx": 1048576,
9572                  "bytesPerSecondRx": 1048576,
9573                  "rate": "1M"
9574              }
9575
9576       The  format of the parameter is exactly the same as passed to --bwlimit
9577       except only one bandwidth may be specified.
9578
9579       In either case "rate" is returned  as  a  human  readable  string,  and
9580       "bytesPerSecond" is returned as a number.
9581
9582   core/command: Run a rclone terminal command over rc.
9583       This takes the following parameters
9584
9585       • command - a string with the command name
9586
9587       • arg - a list of arguments for the backend command
9588
9589       • opt - a map of string to string of options
9590
9591       • returnType  -  one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STD‐
9592         OUT", "STREAM_ONLY_STDERR")
9593
9594         • defaults to "COMBINED_OUTPUT" if not set
9595
9596         • the STREAM returnTypes will write the output to  the  body  of  the
9597           HTTP message
9598
9599         • the COMBINED_OUTPUT will write the output to the "result" parameter
9600
9601       Returns
9602
9603       • result - result from the backend command
9604
9605         • only set when using returnType "COMBINED_OUTPUT"
9606
9607       • error - set if rclone exits with an error code
9608
9609       • returnType  -  one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STD‐
9610         OUT", "STREAM_ONLY_STDERR")
9611
9612       For example
9613
9614              rclone rc core/command command=ls -a mydrive:/ -o max-depth=1
9615              rclone rc core/command -a ls -a mydrive:/ -o max-depth=1
9616
9617       Returns
9618
9619              {
9620                  "error": false,
9621                  "result": "<Raw command line output>"
9622              }
9623
9624              OR
9625              {
9626                  "error": true,
9627                  "result": "<Raw command line output>"
9628              }
9629
9630       Authentication is required for this call.
9631
9632   core/gc: Runs a garbage collection.
9633       This tells the go runtime to do a garbage  collection  run.   It  isn't
9634       necessary  to  call  this  normally, but it can be useful for debugging
9635       memory problems.
9636
9637   core/group-list: Returns list of stats.
9638       This returns list of stats groups currently in memory.
9639
9640       Returns the following values:
9641
9642              {
9643                  "groups":  an array of group names:
9644                      [
9645                          "group1",
9646                          "group2",
9647                          ...
9648                      ]
9649              }
9650
9651   core/memstats: Returns the memory statistics
9652       This returns the memory statistics of the running  program.   What  the
9653       values  mean  are explained in the go docs: https://golang.org/pkg/run
9654       time/#MemStats
9655
9656       The most interesting values for most people are:
9657
9658       • HeapAlloc: This is the amount of memory rclone is actually using
9659
9660       • HeapSys: This is the amount of memory rclone has obtained from the OS
9661
9662       • Sys: this is the total amount of memory requested from the OS
9663
9664         • It is virtual memory so may include unused memory
9665
9666   core/obscure: Obscures a string passed in.
9667       Pass a clear string and rclone will obscure it for the config  file:  -
9668       clear - string
9669
9670       Returns - obscured - string
9671
9672   core/pid: Return PID of current process
9673       This  returns  PID  of  current  process.   Useful  for stopping rclone
9674       process.
9675
9676   core/quit: Terminates the app.
9677       (optional) Pass an exit code to be used for terminating the app: -  ex‐
9678       itCode - int
9679
9680   core/stats: Returns stats about current transfers.
9681       This returns all available stats:
9682
9683              rclone rc core/stats
9684
9685       If  group  is  not provided then summed up stats for all groups will be
9686       returned.
9687
9688       Parameters
9689
9690       • group - name of the stats group (string)
9691
9692       Returns the following values:
9693
9694              {
9695                  "bytes": total transferred bytes since the start of the group,
9696                  "checks": number of files checked,
9697                  "deletes" : number of files deleted,
9698                  "elapsedTime": time in floating point seconds since rclone was started,
9699                  "errors": number of errors,
9700                  "eta": estimated time in seconds until the group completes,
9701                  "fatalError": boolean whether there has been at least one fatal error,
9702                  "lastError": last error string,
9703                  "renames" : number of files renamed,
9704                  "retryError": boolean showing whether there has been at least one non-NoRetryError,
9705                  "speed": average speed in bytes/sec since start of the group,
9706                  "totalBytes": total number of bytes in the group,
9707                  "totalChecks": total number of checks in the group,
9708                  "totalTransfers": total number of transfers in the group,
9709                  "transferTime" : total time spent on running jobs,
9710                  "transfers": number of transferred files,
9711                  "transferring": an array of currently active file transfers:
9712                      [
9713                          {
9714                              "bytes": total transferred bytes for this file,
9715                              "eta": estimated time in seconds until file transfer completion
9716                              "name": name of the file,
9717                              "percentage": progress of the file transfer in percent,
9718                              "speed": average speed over the whole transfer in bytes/sec,
9719                              "speedAvg": current speed in bytes/sec as an exponentially weighted moving average,
9720                              "size": size of the file in bytes
9721                          }
9722                      ],
9723                  "checking": an array of names of currently active file checks
9724                      []
9725              }
9726
9727       Values for "transferring", "checking" and "lastError" are only assigned
9728       if  data is available.  The value for "eta" is null if an eta cannot be
9729       determined.
9730
9731   core/stats-delete: Delete stats group.
9732       This deletes entire stats group
9733
9734       Parameters
9735
9736       • group - name of the stats group (string)
9737
9738   core/stats-reset: Reset stats.
9739       This clears counters, errors and finished transfers for  all  stats  or
9740       specific stats group if group is provided.
9741
9742       Parameters
9743
9744       • group - name of the stats group (string)
9745
9746   core/transferred: Returns stats about completed transfers.
9747       This returns stats about completed transfers:
9748
9749              rclone rc core/transferred
9750
9751       If  group  is not provided then completed transfers for all groups will
9752       be returned.
9753
9754       Note only the last 100 completed transfers are returned.
9755
9756       Parameters
9757
9758       • group - name of the stats group (string)
9759
9760       Returns the following values:
9761
9762              {
9763                  "transferred":  an array of completed transfers (including failed ones):
9764                      [
9765                          {
9766                              "name": name of the file,
9767                              "size": size of the file in bytes,
9768                              "bytes": total transferred bytes for this file,
9769                              "checked": if the transfer is only checked (skipped, deleted),
9770                              "timestamp": integer representing millisecond unix epoch,
9771                              "error": string description of the error (empty if successful),
9772                              "jobid": id of the job that this transfer belongs to
9773                          }
9774                      ]
9775              }
9776
9777   core/version: Shows the current version of rclone and the go runtime.
9778       This shows the current version of go and the go runtime
9779
9780       • version - rclone version, e.g.  "v1.53.0"
9781
9782       • decomposed - version number as [major, minor, patch]
9783
9784       • isGit - boolean - true if this was compiled from the git version
9785
9786       • isBeta - boolean - true if this is a beta version
9787
9788       • os - OS in use as according to Go
9789
9790       • arch - cpu architecture in use according to Go
9791
9792       • goVersion - version of Go runtime in use
9793
9794       • linking - type of rclone executable (static or dynamic)
9795
9796       • goTags - space separated build tags or "none"
9797
9798   debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for  blocking
9799       profiling.
9800       SetBlockProfileRate  controls the fraction of goroutine blocking events
9801       that are reported in the blocking profile.  The profiler aims to sample
9802       an average of one blocking event per rate nanoseconds spent blocked.
9803
9804       To include every blocking event in the profile, pass rate = 1.  To turn
9805       off profiling entirely, pass rate <= 0.
9806
9807       After calling this you can use this to see the blocking profile:
9808
9809              go tool pprof http://localhost:5572/debug/pprof/block
9810
9811       Parameters
9812
9813       • rate - int
9814
9815   debug/set-mutex-profile-fraction: Set  runtime.SetMutexProfileFraction  for
9816       mutex profiling.
9817       SetMutexProfileFraction  controls  the  fraction  of  mutex  contention
9818       events that are reported in  the  mutex  profile.   On  average  1/rate
9819       events are reported.  The previous rate is returned.
9820
9821       To  turn off profiling entirely, pass rate 0.  To just read the current
9822       rate, pass rate < 0.  (For n>1 the details of sampling may change.)
9823
9824       Once this is set you can look use this to profile the mutex contention:
9825
9826              go tool pprof http://localhost:5572/debug/pprof/mutex
9827
9828       Parameters
9829
9830       • rate - int
9831
9832       Results
9833
9834       • previousRate - int
9835
9836   fscache/clear: Clear the Fs cache.
9837       This clears the fs cache.  This is where remotes created from  backends
9838       are cached for a short while to make repeated rc calls more efficient.
9839
9840       If  you  change  the  parameters of a backend then you may want to call
9841       this to clear an existing remote out of the  cache  before  re-creating
9842       it.
9843
9844       Authentication is required for this call.
9845
9846   fscache/entries: Returns the number of entries in the fs cache.
9847       This returns the number of entries in the fs cache.
9848
9849       Returns - entries - number of items in the cache
9850
9851       Authentication is required for this call.
9852
9853   job/list: Lists the IDs of the running jobs
9854       Parameters - None
9855
9856       Results
9857
9858       • jobids - array of integer job ids
9859
9860   job/status: Reads the status of the job ID
9861       Parameters
9862
9863       • jobid - id of the job (integer)
9864
9865       Results
9866
9867       • finished - boolean
9868
9869       • duration - time in seconds that the job ran for
9870
9871       • endTime       -       time      the      job      finished      (e.g.
9872         "2018-10-26T18:50:20.528746884+01:00")
9873
9874       • error - error from the job or empty string for no error
9875
9876       • finished - boolean whether the job has finished or not
9877
9878       • id - as passed in above
9879
9880       • startTime      -      time      the      job      started       (e.g.
9881         "2018-10-26T18:50:20.528336039+01:00")
9882
9883       • success - boolean - true for success false otherwise
9884
9885       • output - output of the job as would have been returned if called syn‐
9886         chronously
9887
9888       • progress - output of the progress related to the underlying job
9889
9890   job/stop: Stop the running job
9891       Parameters
9892
9893       • jobid - id of the job (integer)
9894
9895   mount/listmounts: Show current mount points
9896       This shows currently mounted points, which can be used  for  performing
9897       an unmount
9898
9899       This takes no parameters and returns
9900
9901       • mountPoints: list of current mount points
9902
9903       Eg
9904
9905              rclone rc mount/listmounts
9906
9907       Authentication is required for this call.
9908
9909   mount/mount: Create a new mount point
9910       rclone  allows  Linux,  FreeBSD,  macOS  and  Windows  to  mount any of
9911       Rclone's cloud storage systems as a file system with FUSE.
9912
9913       If no mountType is provided, the  priority  is  given  as  follows:  1.
9914       mount 2.cmount 3.mount2
9915
9916       This takes the following parameters
9917
9918       • fs - a remote path to be mounted (required)
9919
9920       • mountPoint: valid path on the local machine (required)
9921
9922       • mountType:  One  of  the values (mount, cmount, mount2) specifies the
9923         mount implementation to use
9924
9925       • mountOpt: a JSON object with Mount options in.
9926
9927       • vfsOpt: a JSON object with VFS options in.
9928
9929       Eg
9930
9931              rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint
9932              rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount
9933              rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt='{"CacheMode": 2}' mountOpt='{"AllowOther": true}'
9934
9935       The vfsOpt are as described in options/get and can be seen in  the  the
9936       "vfs"  section when running and the mountOpt can be seen in the "mount"
9937       section.
9938
9939              rclone rc options/get
9940
9941       Authentication is required for this call.
9942
9943   mount/types: Show all possible mount types
9944       This shows all possible mount types and returns them as a list.
9945
9946       This takes no parameters and returns
9947
9948       • mountTypes: list of mount types
9949
9950       The mount types are strings like "mount", "mount2", "cmount" and can be
9951       passed to mount/mount as the mountType parameter.
9952
9953       Eg
9954
9955              rclone rc mount/types
9956
9957       Authentication is required for this call.
9958
9959   mount/unmount: Unmount selected active mount
9960       rclone  allows  Linux,  FreeBSD,  macOS  and  Windows  to  mount any of
9961       Rclone's cloud storage systems as a file system with FUSE.
9962
9963       This takes the following parameters
9964
9965       • mountPoint: valid path on the local machine where the mount was  cre‐
9966         ated (required)
9967
9968       Eg
9969
9970              rclone rc mount/unmount mountPoint=/home/<user>/mountPoint
9971
9972       Authentication is required for this call.
9973
9974   mount/unmountall: Show current mount points
9975       This  shows  currently mounted points, which can be used for performing
9976       an unmount
9977
9978       This takes no parameters and returns error if unmount does not succeed.
9979
9980       Eg
9981
9982              rclone rc mount/unmountall
9983
9984       Authentication is required for this call.
9985
9986   operations/about: Return the space used on the remote
9987       This takes the following parameters
9988
9989       • fs - a remote name string e.g.  "drive:"
9990
9991       The result is as returned from rclone about --json
9992
9993       See the about command  (https://rclone.org/commands/rclone_size/)  com‐
9994       mand for more information on the above.
9995
9996       Authentication is required for this call.
9997
9998   operations/cleanup: Remove trashed files in the remote or path
9999       This takes the following parameters
10000
10001       • fs - a remote name string e.g.  "drive:"
10002
10003       See  the  cleanup command (https://rclone.org/commands/rclone_cleanup/)
10004       command for more information on the above.
10005
10006       Authentication is required for this call.
10007
10008   operations/copyfile: Copy a file from source remote to destination remote
10009       This takes the following parameters
10010
10011       • srcFs - a remote name string e.g.  "drive:" for the source
10012
10013       • srcRemote - a path within that remote e.g.  "file.txt" for the source
10014
10015       • dstFs - a remote name string e.g.  "drive2:" for the destination
10016
10017       • dstRemote - a path within that remote e.g.  "file2.txt" for the  des‐
10018         tination
10019
10020       Authentication is required for this call.
10021
10022   operations/copyurl: Copy the URL to the object
10023       This takes the following parameters
10024
10025       • fs - a remote name string e.g.  "drive:"
10026
10027       • remote - a path within that remote e.g.  "dir"
10028
10029       • url - string, URL to read from
10030
10031       • autoFilename - boolean, set to true to retrieve destination file name
10032         from   url   See   the   copyurl   command   (https://rclone.org/com
10033         mands/rclone_copyurl/) command for more information on the above.
10034
10035       Authentication is required for this call.
10036
10037   operations/delete: Remove files in the path
10038       This takes the following parameters
10039
10040       • fs - a remote name string e.g.  "drive:"
10041
10042       See  the  delete  command  (https://rclone.org/commands/rclone_delete/)
10043       command for more information on the above.
10044
10045       Authentication is required for this call.
10046
10047   operations/deletefile: Remove the single file pointed to
10048       This takes the following parameters
10049
10050       • fs - a remote name string e.g.  "drive:"
10051
10052       • remote - a path within that remote e.g.  "dir"
10053
10054       See the deletefile command  (https://rclone.org/commands/rclone_delete
10055       file/) command for more information on the above.
10056
10057       Authentication is required for this call.
10058
10059   operations/fsinfo: Return information about the remote
10060       This takes the following parameters
10061
10062       • fs - a remote name string e.g.  "drive:"
10063
10064       This returns info about the remote passed in;
10065
10066              {
10067                  // optional features and whether they are available or not
10068                  "Features": {
10069                      "About": true,
10070                      "BucketBased": false,
10071                      "CanHaveEmptyDirectories": true,
10072                      "CaseInsensitive": false,
10073                      "ChangeNotify": false,
10074                      "CleanUp": false,
10075                      "Copy": false,
10076                      "DirCacheFlush": false,
10077                      "DirMove": true,
10078                      "DuplicateFiles": false,
10079                      "GetTier": false,
10080                      "ListR": false,
10081                      "MergeDirs": false,
10082                      "Move": true,
10083                      "OpenWriterAt": true,
10084                      "PublicLink": false,
10085                      "Purge": true,
10086                      "PutStream": true,
10087                      "PutUnchecked": false,
10088                      "ReadMimeType": false,
10089                      "ServerSideAcrossConfigs": false,
10090                      "SetTier": false,
10091                      "SetWrapper": false,
10092                      "UnWrap": false,
10093                      "WrapFs": false,
10094                      "WriteMimeType": false
10095                  },
10096                  // Names of hashes available
10097                  "Hashes": [
10098                      "MD5",
10099                      "SHA-1",
10100                      "DropboxHash",
10101                      "QuickXorHash"
10102                  ],
10103                  "Name": "local",    // Name as created
10104                  "Precision": 1,     // Precision of timestamps in ns
10105                  "Root": "/",        // Path as created
10106                  "String": "Local file system at /" // how the remote will appear in logs
10107              }
10108
10109       This  command  does  not have a command line equivalent so use this in‐
10110       stead:
10111
10112              rclone rc --loopback operations/fsinfo fs=remote:
10113
10114   operations/list: List the given remote and path in JSON format
10115       This takes the following parameters
10116
10117       • fs - a remote name string e.g.  "drive:"
10118
10119       • remote - a path within that remote e.g.  "dir"
10120
10121       • opt - a dictionary of options to control the listing (optional)
10122
10123         • recurse - If set recurse directories
10124
10125         • noModTime - If set return modification time
10126
10127         • showEncrypted - If set show decrypted names
10128
10129         • showOrigIDs - If set show the IDs for each item if known
10130
10131         • showHash - If set return a dictionary of hashes
10132
10133       The result is
10134
10135       • list
10136
10137         • This is an array of objects as described in the lsjson command
10138
10139       See the lsjson command (https://rclone.org/commands/rclone_lsjson/) for
10140       more information on the above and examples.
10141
10142       Authentication is required for this call.
10143
10144   operations/mkdir: Make a destination directory or container
10145       This takes the following parameters
10146
10147       • fs - a remote name string e.g.  "drive:"
10148
10149       • remote - a path within that remote e.g.  "dir"
10150
10151       See  the mkdir command (https://rclone.org/commands/rclone_mkdir/) com‐
10152       mand for more information on the above.
10153
10154       Authentication is required for this call.
10155
10156   operations/movefile: Move a file from source remote to destination remote
10157       This takes the following parameters
10158
10159       • srcFs - a remote name string e.g.  "drive:" for the source
10160
10161       • srcRemote - a path within that remote e.g.  "file.txt" for the source
10162
10163       • dstFs - a remote name string e.g.  "drive2:" for the destination
10164
10165       • dstRemote - a path within that remote e.g.  "file2.txt" for the  des‐
10166         tination
10167
10168       Authentication is required for this call.
10169
10170   operations/publiclink:  Create  or retrieve a public link to the given file
10171       or folder.
10172       This takes the following parameters
10173
10174       • fs - a remote name string e.g.  "drive:"
10175
10176       • remote - a path within that remote e.g.  "dir"
10177
10178       • unlink - boolean - if set removes the link rather than adding it (op‐
10179         tional)
10180
10181       • expire - string - the expiry time of the link e.g.  "1d" (optional)
10182
10183       Returns
10184
10185       • url - URL of the resource
10186
10187       See the link command (https://rclone.org/commands/rclone_link/) command
10188       for more information on the above.
10189
10190       Authentication is required for this call.
10191
10192   operations/purge: Remove a directory or container and all of its contents
10193       This takes the following parameters
10194
10195       • fs - a remote name string e.g.  "drive:"
10196
10197       • remote - a path within that remote e.g.  "dir"
10198
10199       See the purge command (https://rclone.org/commands/rclone_purge/)  com‐
10200       mand for more information on the above.
10201
10202       Authentication is required for this call.
10203
10204   operations/rmdir: Remove an empty directory or container
10205       This takes the following parameters
10206
10207       • fs - a remote name string e.g.  "drive:"
10208
10209       • remote - a path within that remote e.g.  "dir"
10210
10211       See  the rmdir command (https://rclone.org/commands/rclone_rmdir/) com‐
10212       mand for more information on the above.
10213
10214       Authentication is required for this call.
10215
10216   operations/rmdirs: Remove all the empty directories in the path
10217       This takes the following parameters
10218
10219       • fs - a remote name string e.g.  "drive:"
10220
10221       • remote - a path within that remote e.g.  "dir"
10222
10223       • leaveRoot - boolean, set to true not to delete the root
10224
10225       See  the  rmdirs  command  (https://rclone.org/commands/rclone_rmdirs/)
10226       command for more information on the above.
10227
10228       Authentication is required for this call.
10229
10230   operations/size: Count the number of bytes and files in remote
10231       This takes the following parameters
10232
10233       • fs - a remote name string e.g.  "drive:path/to/dir"
10234
10235       Returns
10236
10237       • count - number of files
10238
10239       • bytes - number of bytes in those files
10240
10241       See the size command (https://rclone.org/commands/rclone_size/) command
10242       for more information on the above.
10243
10244       Authentication is required for this call.
10245
10246   operations/uploadfile: Upload file using multiform/form-data
10247       This takes the following parameters
10248
10249       • fs - a remote name string e.g.  "drive:"
10250
10251       • remote - a path within that remote e.g.  "dir"
10252
10253       • each part in body represents a file to be uploaded See the uploadfile
10254         command  (https://rclone.org/commands/rclone_uploadfile/) command for
10255         more information on the above.
10256
10257       Authentication is required for this call.
10258
10259   options/blocks: List all the option blocks
10260       Returns - options - a list of the options block names
10261
10262   options/get: Get all the global options
10263       Returns an object where keys are option block names and values  are  an
10264       object with the current option values in.
10265
10266       Note  that  these are the global options which are unaffected by use of
10267       the _config and _filter parameters.  If you wish to read the parameters
10268       set in _config then use options/config and for _filter use options/fil‐
10269       ter.
10270
10271       This shows the internal names of the option within rclone which  should
10272       map to the external options very easily with a few exceptions.
10273
10274   options/local: Get the currently active config for this call
10275       Returns  an  object  with the keys "config" and "filter".  The "config"
10276       key contains the local config and the "filter" key contains  the  local
10277       filters.
10278
10279       Note  that  these  are  the local options specific to this rc call.  If
10280       _config was not supplied then they will be the global  options.   Like‐
10281       wise with "_filter".
10282
10283       This call is mostly useful for seeing if _config and _filter passing is
10284       working.
10285
10286       This shows the internal names of the option within rclone which  should
10287       map to the external options very easily with a few exceptions.
10288
10289   options/set: Set an option
10290       Parameters
10291
10292       • option block name containing an object with
10293
10294         • key: value
10295
10296       Repeated as often as required.
10297
10298       Only supply the options you wish to change.  If an option is unknown it
10299       will be silently ignored.  Not all options will  have  an  effect  when
10300       changed like this.
10301
10302       For example:
10303
10304       This sets DEBUG level logs (-vv) (these can be set by number or string)
10305
10306              rclone rc options/set --json '{"main": {"LogLevel": "DEBUG"}}'
10307              rclone rc options/set --json '{"main": {"LogLevel": 8}}'
10308
10309       And this sets INFO level logs (-v)
10310
10311              rclone rc options/set --json '{"main": {"LogLevel": "INFO"}}'
10312
10313       And this sets NOTICE level logs (normal without -v)
10314
10315              rclone rc options/set --json '{"main": {"LogLevel": "NOTICE"}}'
10316
10317   pluginsctl/addPlugin: Add a plugin using url
10318       used for adding a plugin to the webgui
10319
10320       This takes the following parameters
10321
10322       • url:  http  url  of  the  github  repo  where  the  plugin  is hosted
10323         (http://github.com/rclone/rclone-webui-react)
10324
10325       Eg
10326
10327       rclone rc pluginsctl/addPlugin
10328
10329       Authentication is required for this call.
10330
10331   pluginsctl/getPluginsForType: Get plugins with type criteria
10332       This shows all possible plugins by a mime type
10333
10334       This takes the following parameters
10335
10336       • type: supported mime type by a loaded plugin  e.g.   (video/mp4,  au‐
10337         dio/mp3)
10338
10339       • pluginType:  filter  plugins  based  on  their type e.g.  (DASHBOARD,
10340         FILE_HANDLER, TERMINAL)
10341
10342       and returns
10343
10344       • loadedPlugins: list of current production plugins
10345
10346       • testPlugins: list of temporarily loaded development plugins,  usually
10347         running on a different server.
10348
10349       Eg
10350
10351       rclone rc pluginsctl/getPluginsForType type=video/mp4
10352
10353       Authentication is required for this call.
10354
10355   pluginsctl/listPlugins: Get the list of currently loaded plugins
10356       This allows you to get the currently enabled plugins and their details.
10357
10358       This takes no parameters and returns
10359
10360       • loadedPlugins: list of current production plugins
10361
10362       • testPlugins:  list of temporarily loaded development plugins, usually
10363         running on a different server.
10364
10365       Eg
10366
10367       rclone rc pluginsctl/listPlugins
10368
10369       Authentication is required for this call.
10370
10371   pluginsctl/listTestPlugins: Show currently loaded test plugins
10372       allows listing of test plugins with the  rclone.test  set  to  true  in
10373       package.json of the plugin
10374
10375       This takes no parameters and returns
10376
10377       • loadedTestPlugins: list of currently available test plugins
10378
10379       Eg
10380
10381              rclone rc pluginsctl/listTestPlugins
10382
10383       Authentication is required for this call.
10384
10385   pluginsctl/removePlugin: Remove a loaded plugin
10386       This allows you to remove a plugin using it's name
10387
10388       This takes parameters
10389
10390       • name: name of the plugin in the format author/plugin_name
10391
10392       Eg
10393
10394       rclone rc pluginsctl/removePlugin name=rclone/video-plugin
10395
10396       Authentication is required for this call.
10397
10398   pluginsctl/removeTestPlugin: Remove a test plugin
10399       This allows you to remove a plugin using it's name
10400
10401       This takes the following parameters
10402
10403       • name: name of the plugin in the format author/plugin_name
10404
10405       Eg
10406
10407              rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react
10408
10409       Authentication is required for this call.
10410
10411   rc/error: This returns an error
10412       This returns an error with the input as part of its error string.  Use‐
10413       ful for testing error handling.
10414
10415   rc/list: List all the registered remote control commands
10416       This lists all the registered remote control commands as a JSON map  in
10417       the commands response.
10418
10419   rc/noop: Echo the input to the output parameters
10420       This  echoes  the input parameters to the output parameters for testing
10421       purposes.  It can be used to check that rclone is still  alive  and  to
10422       check that parameter passing is working properly.
10423
10424   rc/noopauth: Echo the input to the output parameters requiring auth
10425       This  echoes  the input parameters to the output parameters for testing
10426       purposes.  It can be used to check that rclone is still  alive  and  to
10427       check that parameter passing is working properly.
10428
10429       Authentication is required for this call.
10430
10431   sync/copy: copy a directory from source remote to destination remote
10432       This takes the following parameters
10433
10434       • srcFs - a remote name string e.g.  "drive:src" for the source
10435
10436       • dstFs - a remote name string e.g.  "drive:dst" for the destination
10437
10438       • createEmptySrcDirs  -  create empty src directories on destination if
10439         set
10440
10441       See the copy command (https://rclone.org/commands/rclone_copy/) command
10442       for more information on the above.
10443
10444       Authentication is required for this call.
10445
10446   sync/move: move a directory from source remote to destination remote
10447       This takes the following parameters
10448
10449       • srcFs - a remote name string e.g.  "drive:src" for the source
10450
10451       • dstFs - a remote name string e.g.  "drive:dst" for the destination
10452
10453       • createEmptySrcDirs  -  create empty src directories on destination if
10454         set
10455
10456       • deleteEmptySrcDirs - delete empty src directories if set
10457
10458       See the move command (https://rclone.org/commands/rclone_move/) command
10459       for more information on the above.
10460
10461       Authentication is required for this call.
10462
10463   sync/sync: sync a directory from source remote to destination remote
10464       This takes the following parameters
10465
10466       • srcFs - a remote name string e.g.  "drive:src" for the source
10467
10468       • dstFs - a remote name string e.g.  "drive:dst" for the destination
10469
10470       • createEmptySrcDirs  -  create empty src directories on destination if
10471         set
10472
10473       See the sync command (https://rclone.org/commands/rclone_sync/) command
10474       for more information on the above.
10475
10476       Authentication is required for this call.
10477
10478   vfs/forget: Forget files or directories in the directory cache.
10479       This  forgets  the  paths  in  the  directory  cache causing them to be
10480       re-read from the remote when needed.
10481
10482       If no paths are passed in then it will forget all the paths in the  di‐
10483       rectory cache.
10484
10485              rclone rc vfs/forget
10486
10487       Otherwise  pass files or dirs in as file=path or dir=path.  Any parame‐
10488       ter key starting with file will forget that file and any starting  with
10489       dir will forget that dir, e.g.
10490
10491              rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
10492
10493       This  command  takes  an "fs" parameter.  If this parameter is not sup‐
10494       plied and if there is only one VFS in use then that VFS will  be  used.
10495       If  there  is  more than one VFS in use then the "fs" parameter must be
10496       supplied.
10497
10498   vfs/list: List active VFSes.
10499       This lists the active VFSes.
10500
10501       It returns a list under the key "vfses" where the values  are  the  VFS
10502       names that could be passed to the other VFS commands in the "fs" param‐
10503       eter.
10504
10505   vfs/poll-interval: Get the status or update the value of the  poll-interval
10506       option.
10507       Without  any  parameter  given  this  returns the current status of the
10508       poll-interval setting.
10509
10510       When the interval=duration parameter is set, the poll-interval value is
10511       updated  and the polling function is notified.  Setting interval=0 dis‐
10512       ables poll-interval.
10513
10514              rclone rc vfs/poll-interval interval=5m
10515
10516       The timeout=duration parameter can be used to specify a  time  to  wait
10517       for  the  current  poll function to apply the new value.  If timeout is
10518       less or equal 0, which is the default, wait indefinitely.
10519
10520       The new poll-interval value will only be active when the timeout is not
10521       reached.
10522
10523       If poll-interval is updated or disabled temporarily, some changes might
10524       not get picked up by the polling function, depending on  the  used  re‐
10525       mote.
10526
10527       This  command  takes  an "fs" parameter.  If this parameter is not sup‐
10528       plied and if there is only one VFS in use then that VFS will  be  used.
10529       If  there  is  more than one VFS in use then the "fs" parameter must be
10530       supplied.
10531
10532   vfs/refresh: Refresh the directory cache.
10533       This reads the directories for the specified paths and freshens the di‐
10534       rectory cache.
10535
10536       If no paths are passed in then it will refresh the root directory.
10537
10538              rclone rc vfs/refresh
10539
10540       Otherwise  pass directories in as dir=path.  Any parameter key starting
10541       with dir will refresh that directory, e.g.
10542
10543              rclone rc vfs/refresh dir=home/junk dir2=data/misc
10544
10545       If the parameter recursive=true is given the whole directory tree  will
10546       get refreshed.  This refresh will use --fast-list if enabled.
10547
10548       This  command  takes  an "fs" parameter.  If this parameter is not sup‐
10549       plied and if there is only one VFS in use then that VFS will  be  used.
10550       If  there  is  more than one VFS in use then the "fs" parameter must be
10551       supplied.
10552
10553   Accessing the remote control via HTTP
10554       Rclone implements a simple HTTP based protocol.
10555
10556       Each endpoint takes an JSON object and returns a JSON object or an  er‐
10557       ror.  The JSON objects are essentially a map of string names to values.
10558
10559       All calls must made using POST.
10560
10561       The input objects can be supplied using URL parameters, POST parameters
10562       or by supplying "Content-Type: application/json" and a JSON blob in the
10563       body.  There are examples of these below using curl.
10564
10565       The  response will be a JSON blob in the body of the response.  This is
10566       formatted to be reasonably human readable.
10567
10568   Error returns
10569       If an error occurs then there will be an HTTP error status (e.g.   500)
10570       and  the body of the response will contain a JSON encoded error object,
10571       e.g.
10572
10573              {
10574                  "error": "Expecting string value for key \"remote\" (was float64)",
10575                  "input": {
10576                      "fs": "/tmp",
10577                      "remote": 3
10578                  },
10579                  "status": 400
10580                  "path": "operations/rmdir",
10581              }
10582
10583       The keys in the error response are - error - error string - input - the
10584       input  parameters  to the call - status - the HTTP status code - path -
10585       the path of the call
10586
10587   CORS
10588       The sever implements basic CORS support  and  allows  all  origins  for
10589       that.   The  response  to a preflight OPTIONS request will echo the re‐
10590       quested "Access-Control-Request-Headers" back.
10591
10592   Using POST with URL parameters only
10593              curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2'
10594
10595       Response
10596
10597              {
10598                  "potato": "1",
10599                  "sausage": "2"
10600              }
10601
10602       Here is what an error response looks like:
10603
10604              curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
10605
10606              {
10607                  "error": "arbitrary error on input map[potato:1 sausage:2]",
10608                  "input": {
10609                      "potato": "1",
10610                      "sausage": "2"
10611                  }
10612              }
10613
10614       Note that curl doesn't return errors to the shell unless you use the -f
10615       option
10616
10617              $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
10618              curl: (22) The requested URL returned error: 400 Bad Request
10619              $ echo $?
10620              22
10621
10622   Using POST with a form
10623              curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop
10624
10625       Response
10626
10627              {
10628                  "potato": "1",
10629                  "sausage": "2"
10630              }
10631
10632       Note  that  you can combine these with URL parameters too with the POST
10633       parameters taking precedence.
10634
10635              curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4"
10636
10637       Response
10638
10639              {
10640                  "potato": "1",
10641                  "rutabaga": "3",
10642                  "sausage": "4"
10643              }
10644
10645   Using POST with a JSON blob
10646              curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop
10647
10648       response
10649
10650              {
10651                  "password": "xyz",
10652                  "username": "xyz"
10653              }
10654
10655       This can be combined with URL parameters too  if  required.   The  JSON
10656       blob takes precedence.
10657
10658              curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4'
10659
10660              {
10661                  "potato": 2,
10662                  "rutabaga": "3",
10663                  "sausage": 1
10664              }
10665
10666   Debugging rclone with pprof
10667       If  you  use the --rc flag this will also enable the use of the go pro‐
10668       filing tools on the same port.
10669
10670       To use these, first install go (https://golang.org/doc/install).
10671
10672   Debugging memory use
10673       To profile rclone's memory use you can run:
10674
10675              go tool pprof -web http://localhost:5572/debug/pprof/heap
10676
10677       This should open a page in your browser showing what is using what mem‐
10678       ory.
10679
10680       You can also use the -text flag to produce a textual summary
10681
10682              $ go tool pprof -text http://localhost:5572/debug/pprof/heap
10683              Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
10684                    flat  flat%   sum%        cum   cum%
10685               1024.03kB 66.62% 66.62%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
10686                   513kB 33.38%   100%      513kB 33.38%  net/http.newBufioWriterSize
10687                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/all.init
10688                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/serve.init
10689                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/serve/restic.init
10690                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
10691                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
10692                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
10693                       0     0%   100%  1024.03kB 66.62%  main.init
10694                       0     0%   100%      513kB 33.38%  net/http.(*conn).readRequest
10695                       0     0%   100%      513kB 33.38%  net/http.(*conn).serve
10696                       0     0%   100%  1024.03kB 66.62%  runtime.main
10697
10698   Debugging go routine leaks
10699       Memory  leaks  are most often caused by go routine leaks keeping memory
10700       alive which should have been garbage collected.
10701
10702       See all active go routines using
10703
10704              curl http://localhost:5572/debug/pprof/goroutine?debug=1
10705
10706       Or go to  http://localhost:5572/debug/pprof/goroutine?debug=1  in  your
10707       browser.
10708
10709   Other profiles to look at
10710       You   can   see  a  summary  of  profiles  available  at  http://local
10711       host:5572/debug/pprof/
10712
10713       Here is how to use some of them:
10714
10715       • Memory: go tool pprof http://localhost:5572/debug/pprof/heap
10716
10717       • Go routines: curl http://localhost:5572/debug/pprof/goroutine?debug=1
10718
10719       • 30-second  CPU  profile:  go  tool  pprof   http://localhost:5572/de‐
10720         bug/pprof/profile
10721
10722       • 5-second     execution    trace:    wget    http://localhost:5572/de‐
10723         bug/pprof/trace?seconds=5
10724
10725       • Goroutine blocking profile
10726
10727         • Enable first with: rclone  rc  debug/set-block-profile-rate  rate=1
10728           (docs)
10729
10730         • go tool pprof http://localhost:5572/debug/pprof/block
10731
10732       • Contended mutexes:
10733
10734         • Enable   first  with:  rclone  rc  debug/set-mutex-profile-fraction
10735           rate=1 (docs)
10736
10737         • go tool pprof http://localhost:5572/debug/pprof/mutex
10738
10739       See the  net/http/pprof  docs  (https://golang.org/pkg/net/http/pprof/)
10740       for  more  info  on how to use the profiling and for a general overview
10741       see   the   Go   team's   blog   post   on   profiling   go    programs
10742       (https://blog.golang.org/profiling-go-programs).
10743
10744       The  profiling  hook is zero overhead unless it is used (https://stack
10745       overflow.com/q/26545159/164234).
10746

Overview of cloud storage systems

10748       Each cloud storage system is slightly different.   Rclone  attempts  to
10749       provide  a  unified  interface to them, but some underlying differences
10750       show through.
10751
10752   Features
10753       Here is an overview of the major features of each cloud storage system.
10754
10755       Name             Hash       ModTime   Case Insen‐   Duplicate   MIME Type
10756                                             sitive        Files
10757       ──────────────────────────────────────────────────────────────────────────
10758       1Fichier       Whirlpool      No          No           Yes          R
10759       Amazon            MD5         No          Yes          No           R
10760       Drive
10761       Amazon S3         MD5         Yes         No           No          R/W
10762       Backblaze        SHA1         Yes         No           No          R/W
10763       B2
10764       Box              SHA1         Yes         Yes          No           -
10765       Citrix            MD5         Yes         Yes          No           -
10766       ShareFile
10767       Dropbox        DBHASH ¹       Yes         Yes          No           -
10768       Enterprise         -          Yes         Yes          No          R/W
10769       File Fabric
10770       FTP                -          No          No           No           -
10771       Google            MD5         Yes         No           No          R/W
10772       Cloud Stor‐
10773       age
10774       Google            MD5         Yes         No           Yes         R/W
10775       Drive
10776       Google Pho‐        -          No          No           Yes          R
10777       tos
10778       HDFS               -          Yes         No           No           -
10779       HTTP               -          No          No           No           R
10780       Hubic             MD5         Yes         No           No          R/W
10781       Jottacloud        MD5         Yes         Yes          No           R
10782       Koofr             MD5         No          Yes          No           -
10783       Mail.ru        Mailru ⁶       Yes         Yes          No           -
10784       Cloud
10785       Mega               -          No          No           Yes          -
10786       Memory            MD5         Yes         No           No           -
10787       Microsoft         MD5         Yes         No           No          R/W
10788       Azure  Blob
10789       Storage
10790       Microsoft       SHA1 ⁵        Yes         Yes          No           R
10791       OneDrive
10792       OpenDrive         MD5         Yes         Yes       Partial ⁸       -
10793       OpenStack         MD5         Yes         No           No          R/W
10794       Swift
10795       pCloud        MD5, SHA1 ⁷     Yes         No           No           W
10796       premiu‐            -          No          Yes          No           R
10797       mize.me
10798       put.io          CRC-32        Yes         No           Yes          R
10799       QingStor          MD5         No          No           No          R/W
10800       Seafile            -          No          No           No           -
10801       SFTP          MD5, SHA1 ²     Yes       Depends        No           -
10802       SugarSync          -          No          No           No           -
10803       Tardigrade         -          Yes         No           No           -
10804       WebDAV        MD5, SHA1 ³    Yes ⁴      Depends        No           -
10805       Yandex Disk       MD5         Yes         No           No           R
10806       Zoho  Work‐        -          No          No           No           -
10807       Drive
10808       The   local       All         Yes       Depends        No           -
10809       filesystem
10810
10811   Notes
10812       ¹ Dropbox supports its own custom hash  (https://www.dropbox.com/devel
10813       opers/reference/content-hash).   This  is  an SHA256 sum of all the 4MB
10814       block SHA256s.
10815
10816       ² SFTP supports checksums if the same login has shell access and md5sum
10817       or sha1sum as well as echo are in the remote's PATH.
10818
10819       ³ WebDAV supports hashes when used with Owncloud and Nextcloud only.
10820
10821       ⁴ WebDAV supports modtimes when used with Owncloud and Nextcloud only.
10822
10823       ⁵  Microsoft  OneDrive  Personal supports SHA1 hashes, whereas OneDrive
10824       for business and SharePoint server support Microsoft's own QuickXorHash
10825       (https://docs.microsoft.com/en-us/onedrive/developer/code-snip
10826       pets/quickxorhash).
10827
10828       ⁶ Mail.ru uses its own modified SHA1 hash
10829
10830       ⁷ pCloud only supports SHA1 (not MD5) in its EU region
10831
10832       ⁸ Opendrive does not support creation of duplicate  files  using  their
10833       web client interface or other stock clients, but the underlying storage
10834       platform has been determined to allow duplicate files, and it is possi‐
10835       ble to create them with rclone.  It may be that this is a mistake or an
10836       unsupported feature.
10837
10838   Hash
10839       The cloud storage system supports various hash types  of  the  objects.
10840       The  hashes  are  used when transferring data as an integrity check and
10841       can be specifically used with the --checksum flag in syncs and  in  the
10842       check command.
10843
10844       To  use  the  verify  checksums when transferring between cloud storage
10845       systems they must support a common hash type.
10846
10847   ModTime
10848       The cloud storage system supports setting  modification  times  on  ob‐
10849       jects.   If it does then this enables a using the modification times as
10850       part of the sync.  If not then only the size will  be  checked  by  de‐
10851       fault, though the MD5SUM can be checked with the --checksum flag.
10852
10853       All  cloud  storage systems support some kind of date on the object and
10854       these will be set when transferring from the cloud storage system.
10855
10856   Case Insensitive
10857       If a cloud storage systems is case sensitive then  it  is  possible  to
10858       have  two files which differ only in case, e.g.  file.txt and FILE.txt.
10859       If a cloud storage system is case insensitive then that isn't possible.
10860
10861       This can cause problems when syncing between a case insensitive  system
10862       and a case sensitive system.  The symptom of this is that no matter how
10863       many times you run the sync it never completes fully.
10864
10865       The local filesystem and SFTP may or may not be case sensitive  depend‐
10866       ing on OS.
10867
10868       • Windows - usually case insensitive, though case is preserved
10869
10870       • OSX  - usually case insensitive, though it is possible to format case
10871         sensitive
10872
10873       • Linux - usually case sensitive, but there are case  insensitive  file
10874         systems (e.g.  FAT formatted USB keys)
10875
10876       Most  of  the  time  this  doesn't cause any problems as people tend to
10877       avoid files whose name differs only by case even on case sensitive sys‐
10878       tems.
10879
10880   Duplicate files
10881       If  a  cloud storage system allows duplicate files then it can have two
10882       objects with the same name.
10883
10884       This confuses rclone greatly when syncing - use the rclone dedupe  com‐
10885       mand to rename or remove duplicates.
10886
10887   Restricted filenames
10888       Some  cloud  storage  systems might have restrictions on the characters
10889       that are usable in file or directory names.  When rclone detects such a
10890       name during a file upload, it will transparently replace the restricted
10891       characters with similar looking Unicode characters.
10892
10893       This process is designed to avoid ambiguous file names as much as  pos‐
10894       sible and allow to move files between many cloud storage systems trans‐
10895       parently.
10896
10897       The name shown by rclone to the user or during  log  output  will  only
10898       contain  a minimal set of replaced characters to ensure correct format‐
10899       ting and not necessarily the actual name used on the cloud storage.
10900
10901       This transformation is reversed when  downloading  a  file  or  parsing
10902       rclone  arguments.   For  example,  when  uploading  a  file  named  my
10903       file?.txt to Onedrive will be displayed as my file?.txt on the console,
10904       but stored as my file?.txt (the ? gets replaced by the similar looking
10905       ? character) to Onedrive.  The reverse transformation allows to read a
10906       fileunusual/name.txt  from  Google  Drive,  by  passing the name unusu‐
10907       al/name.txt (the / needs to be replaced  by  the  similar  looking  /
10908       character) on the command line.
10909
10910   Default restricted characters
10911       The table below shows the characters that are replaced by default.
10912
10913       When  a  replacement  character  is found in a filename, this character
10914       will be escaped with the ‛ character to  avoid  ambiguous  file  names.
10915       (e.g.  a file named ␀.txt would shown as ‛␀.txt)
10916
10917       Each cloud storage backend can use a different set of characters, which
10918       will be specified in the documentation for each backend.
10919
10920       Character   Value   Replacement
10921       ────────────────────────────────
10922       NUL         0x00         ␀
10923       SOH         0x01         ␁
10924       STX         0x02         ␂
10925       ETX         0x03         ␃
10926       EOT         0x04         ␄
10927       ENQ         0x05         ␅
10928       ACK         0x06         ␆
10929       BEL         0x07         ␇
10930       BS          0x08         ␈
10931       HT          0x09         ␉
10932       LF          0x0A         ␊
10933       VT          0x0B         ␋
10934       FF          0x0C         ␌
10935       CR          0x0D         ␍
10936       SO          0x0E         ␎
10937       SI          0x0F         ␏
10938       DLE         0x10         ␐
10939       DC1         0x11         ␑
10940       DC2         0x12         ␒
10941       DC3         0x13         ␓
10942       DC4         0x14         ␔
10943       NAK         0x15         ␕
10944       SYN         0x16         ␖
10945       ETB         0x17         ␗
10946
10947       CAN         0x18         ␘
10948       EM          0x19         ␙
10949       SUB         0x1A         ␚
10950       ESC         0x1B         ␛
10951       FS          0x1C         ␜
10952       GS          0x1D         ␝
10953       RS          0x1E         ␞
10954       US          0x1F         ␟
10955       /           0x2F        /
10956       DEL         0x7F         ␡
10957
10958       The default encoding will also encode these  file  names  as  they  are
10959       problematic with many cloud storage systems.
10960
10961       File name   Replacement
10962       ────────────────────────
10963       .               .
10964       ..             ..
10965
10966   Invalid UTF-8 bytes
10967       Some  backends  only  support  a sequence of well formed UTF-8 bytes as
10968       file or directory names.
10969
10970       In this case all invalid UTF-8 bytes will be  replaced  with  a  quoted
10971       representation  of  the  byte value to allow uploading a file to such a
10972       backend.  For example, the invalid byte 0xFE will be encoded as ‛FE.
10973
10974       A common source of invalid UTF-8  bytes  are  local  filesystems,  that
10975       store  names in a different encoding than UTF-8 or UTF-16, like latin1.
10976       See the local filenames  (https://rclone.org/local/#filenames)  section
10977       for details.
10978
10979   Encoding option
10980       Most  backends  have  an  encoding options, specified as a flag --back‐
10981       end-encoding where backend is the name of the backend, or as  a  config
10982       parameter encoding (you'll need to select the Advanced config in rclone
10983       config to see it).
10984
10985       This will have default value which encodes and  decodes  characters  in
10986       such a way as to preserve the maximum number of characters (see above).
10987
10988       However  this  can  be  incorrect in some scenarios, for example if you
10989       have a Windows file system with characters such as * and ?  that  you
10990       want  to  remain  as  those  characters on the remote rather than being
10991       translated to * and ?.
10992
10993       The --backend-encoding flags allow you to change that.  You can disable
10994       the  encoding completely with --backend-encoding None or set encoding =
10995       None in the config file.
10996
10997       Encoding takes a comma separated list of encodings.  You  can  see  the
10998       list  of  all  available characters by passing an invalid value to this
10999       flag, e.g.  --local-encoding "help" and rclone help flags encoding will
11000       show you the defaults for the backends.
11001
11002       Encoding        Characters
11003       ───────────────────────────────────────────
11004       Asterisk        *
11005       BackQuote       `
11006       BackSlash       \
11007       Colon           :
11008       CrLf            CR 0x0D, LF 0x0A
11009       Ctl             All   control   characters
11010                       0x00-0x1F
11011       Del             DEL 0x7F
11012       Dollar          $
11013       Dot             .
11014       DoubleQuote     "
11015       Hash            #
11016       InvalidUtf8     An invalid UTF-8 character
11017                       (e.g.  latin1)
11018       LeftCrLfHtVt    CR  0x0D, LF 0x0A,HT 0x09,
11019                       VT 0x0B on the left  of  a
11020                       string
11021       LeftPeriod      . on the left of a string
11022       LeftSpace       SPACE  on  the  left  of a
11023                       string
11024       LeftTilde       ~ on the left of a string
11025       LtGt            <, >
11026       None            No characters are encoded
11027       Percent         %
11028       Pipe            |
11029       Question        ?
11030       RightCrLfHtVt   CR 0x0D, LF 0x0A, HT 0x09,
11031                       VT  0x0B on the right of a
11032                       string
11033       RightPeriod     . on the right of a string
11034       RightSpace      SPACE on the  right  of  a
11035                       string
11036       SingleQuote     '
11037       Slash           /
11038
11039       To take a specific example, the FTP backend's default encoding is
11040
11041              --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot"
11042
11043       However,  let's say the FTP server is running on Windows and can't have
11044       any of the invalid Windows characters in file names.  You  are  backing
11045       up  Linux  servers to this FTP server which do have those characters in
11046       file names.  So you would add the Windows set which are
11047
11048              Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
11049
11050       to the existing ones, giving:
11051
11052              Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
11053
11054       This can be specified using the --ftp-encoding flag or using an  encod‐
11055       ing parameter in the config file.
11056
11057       Or  let's say you have a Windows server but you want to preserve * and
11058       ?, you would then have this as the encoding (the Windows encoding  mi‐
11059       nus Asterisk and Question).
11060
11061              Slash,LtGt,DoubleQuote,Colon,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
11062
11063       This  can  be specified using the --local-encoding flag or using an en‐
11064       coding parameter in the config file.
11065
11066   MIME Type
11067       MIME types (also known as media types) classify types of documents  us‐
11068       ing a simple text classification, e.g.  text/html or application/pdf.
11069
11070       Some cloud storage systems support reading (R) the MIME type of objects
11071       and some support writing (W) the MIME type of objects.
11072
11073       The MIME type can be important if you are  serving  files  directly  to
11074       HTTP from the storage system.
11075
11076       If you are copying from a remote which supports reading (R) to a remote
11077       which supports writing (W) then rclone will preserve  the  MIME  types.
11078       Otherwise they will be guessed from the extension, or the remote itself
11079       may assign the MIME type.
11080
11081   Optional Features
11082       All rclone remotes support a base command set.  Other  features  depend
11083       upon backend specific capabilities.
11084
11085       Name       Purge   Copy   Move   DirMove   CleanUp   ListR   StreamU‐   LinkShar‐   About   Empty‐
11086                                                                    pload      ing                 Dir
11087       ───────────────────────────────────────────────────────────────────────────────────────────────────
11088       1Fichi‐     No     Yes    Yes      No        No       No        No         Yes       No      Yes
11089       er
11090       Amazon      Yes     No    Yes      Yes       No       No        No         No        No      Yes
11091       Drive
11092       Amazon      No     Yes     No      No        Yes      Yes      Yes         Yes       No       No
11093       S3
11094       Back‐       No     Yes     No      No        Yes      Yes      Yes         Yes       No       No
11095       blaze
11096       B2
11097       Box         Yes    Yes    Yes      Yes     Yes ‡‡     No       Yes         Yes       Yes     Yes
11098       Citrix      Yes    Yes    Yes      Yes       No       No       Yes         No        No      Yes
11099       Share‐
11100       File
11101       Dropbox     Yes    Yes    Yes      Yes       No       No       Yes         Yes       Yes     Yes
11102       Enter‐      Yes    Yes    Yes      Yes       Yes      No        No         No        No      Yes
11103       prise
11104       File
11105       Fabric
11106       FTP         No      No    Yes      Yes       No       No       Yes         No        No      Yes
11107       Google      Yes    Yes     No      No        No       Yes      Yes         No        No       No
11108       Cloud
11109       Storage
11110       Google      Yes    Yes    Yes      Yes       Yes      Yes      Yes         Yes       Yes     Yes
11111       Drive
11112       Google      No      No     No      No        No       No        No         No        No       No
11113       Photos
11114       HDFS        Yes     No     No      No        No       No       Yes         No        Yes     Yes
11115       HTTP        No      No     No      No        No       No        No         No        No      Yes
11116       Hubic      Yes †   Yes     No      No        No       Yes      Yes         No        Yes      No
11117       Jotta‐      Yes    Yes    Yes      Yes       Yes      Yes       No         Yes       Yes     Yes
11118       cloud
11119       Mail.ru     Yes    Yes    Yes      Yes       Yes      No        No         Yes       Yes     Yes
11120       Cloud
11121       Mega        Yes     No    Yes      Yes       Yes      No        No         Yes       Yes     Yes
11122       Memory      No     Yes     No      No        No       Yes      Yes         No        No       No
11123       Micro‐      Yes    Yes     No      No        No       Yes      Yes         No        No       No
11124       soft
11125       Azure
11126       Blob
11127       Storage
11128       Micro‐      Yes    Yes    Yes      Yes       Yes      No        No         Yes       Yes     Yes
11129       soft
11130       OneDrive
11131       Open‐       Yes    Yes    Yes      Yes       No       No        No         No        No      Yes
11132       Drive
11133       Open‐      Yes †   Yes     No      No        No       Yes      Yes         No        Yes      No
11134       Stack
11135       Swift
11136       pCloud      Yes    Yes    Yes      Yes       Yes      No        No         Yes       Yes     Yes
11137       premiu‐     Yes     No    Yes      Yes       No       No        No         Yes       Yes     Yes
11138       mize.me
11139       put.io      Yes     No    Yes      Yes       Yes      No       Yes         No        Yes     Yes
11140       QingStor    No     Yes     No      No        Yes      Yes       No         No        No       No
11141       Seafile     Yes    Yes    Yes      Yes       Yes      Yes      Yes         Yes       Yes     Yes
11142       SFTP        No      No    Yes      Yes       No       No       Yes         No        Yes     Yes
11143       Sug‐        Yes    Yes    Yes      Yes       No       No       Yes         Yes       No      Yes
11144       arSync
11145       Tardi‐     Yes †    No     No      No        No       Yes      Yes         No        No       No
11146       grade
11147       WebDAV      Yes    Yes    Yes      Yes       No       No      Yes ‡        No        Yes     Yes
11148       Yandex      Yes    Yes    Yes      Yes       Yes      No       Yes         Yes       Yes     Yes
11149       Disk
11150       Zoho        Yes    Yes    Yes      Yes       No       No        No         No        Yes     Yes
11151       Work‐
11152       Drive
11153
11154
11155
11156
11157       The  lo‐    Yes     No    Yes      Yes       No       No       Yes         No        Yes     Yes
11158       cal
11159       filesys‐
11160       tem
11161
11162   Purge
11163       This  deletes  a  directory quicker than just deleting all the files in
11164       the directory.
11165
11166       † Note Swift, Hubic, and Tardigrade implement this in order  to  delete
11167       directory  markers but they don't actually have a quicker way of delet‐
11168       ing files other than deleting them individually.
11169
11170       ‡ StreamUpload is not supported with Nextcloud
11171
11172   Copy
11173       Used when copying an object to and from the same remote.  This known as
11174       a  server-side  copy  so you can copy a file without downloading it and
11175       uploading it again.  It is used if you use rclone copy or  rclone  move
11176       if the remote doesn't support Move directly.
11177
11178       If  the  server  doesn't support Copy directly then for copy operations
11179       the file is downloaded then re-uploaded.
11180
11181   Move
11182       Used when moving/renaming an object on the same remote.  This is  known
11183       as  a  server-side  move of a file.  This is used in rclone move if the
11184       server doesn't support DirMove.
11185
11186       If the server isn't capable of Move then rclone simulates it with  Copy
11187       then delete.  If the server doesn't support Copy then rclone will down‐
11188       load the file and re-upload it.
11189
11190   DirMove
11191       This is used to implement rclone move to move a directory if  possible.
11192       If  it  isn't  then  it will use Move on each file (which falls back to
11193       Copy then download and upload - see Move section).
11194
11195   CleanUp
11196       This is used for emptying the trash for a remote by rclone cleanup.
11197
11198       If the server can't do CleanUp then rclone cleanup will return  an  er‐
11199       ror.
11200
11201       ‡‡  Note that while Box implements this it has to delete every file in‐
11202       dividually so it will be slower than emptying the trash via the WebUI
11203
11204   ListR
11205       The remote supports a recursive list to list all the contents beneath a
11206       directory quickly.  This enables the --fast-list flag to work.  See the
11207       rclone docs (https://rclone.org/docs/#fast-list) for more details.
11208
11209   StreamUpload
11210       Some remotes allow files to be uploaded without knowing the  file  size
11211       in  advance.   This  allows certain operations to work without spooling
11212       the file to local disk first, e.g.  rclone rcat.
11213
11214   LinkSharing
11215       Sets the necessary permissions on a file or folder and  prints  a  link
11216       that  allows  others to access them, even if they don't have an account
11217       on the particular cloud provider.
11218
11219   About
11220       Rclone about prints quota information for a remote.  Typical output in‐
11221       cludes bytes used, free, quota and in trash.
11222
11223       If  a  remote lacks about capability rclone about remote:returns an er‐
11224       ror.
11225
11226       Backends without about capability cannot determine free  space  for  an
11227       rclone  mount,  or  use  policy mfs (most free space) as a member of an
11228       rclone union remote.
11229
11230       See rclone about command (https://rclone.org/commands/rclone_about/)
11231
11232   EmptyDir
11233       The   remote   supports    empty    directories.     See    Limitations
11234       (https://rclone.org/bugs/#limitations) for details.  Most Object/Bucket
11235       based remotes do not support this.
11236

Global Flags

11238       This describes the global flags available to every rclone command split
11239       into two groups, non backend and backend flags.
11240
11241   Non Backend Flags
11242       These flags are available for every command.
11243
11244                    --ask-password                         Allow prompt for password for encrypted configuration. (default true)
11245                    --auto-confirm                         If enabled, do not request console confirmation.
11246                    --backup-dir string                    Make backups into hierarchy based in DIR.
11247                    --bind string                          Local address to bind to for outgoing connections, IPv4, IPv6 or name.
11248                    --buffer-size SizeSuffix               In memory buffer size when reading files for each --transfer. (default 16M)
11249                    --bwlimit BwTimetable                  Bandwidth limit in kBytes/s, or use suffix b|k|M|G or a full timetable.
11250                    --bwlimit-file BwTimetable             Bandwidth limit per file in kBytes/s, or use suffix b|k|M|G or a full timetable.
11251                    --ca-cert string                       CA certificate used to verify servers
11252                    --cache-dir string                     Directory rclone will use for caching. (default "$HOME/.cache/rclone")
11253                    --check-first                          Do all the checks before starting transfers.
11254                    --checkers int                         Number of checkers to run in parallel. (default 8)
11255                -c, --checksum                             Skip based on checksum (if available) & size, not mod-time & size
11256                    --client-cert string                   Client SSL certificate (PEM) for mutual TLS auth
11257                    --client-key string                    Client SSL private key (PEM) for mutual TLS auth
11258                    --compare-dest stringArray             Include additional comma separated server-side paths during comparison.
11259                    --config string                        Config file. (default "$HOME/.config/rclone/rclone.conf")
11260                    --contimeout duration                  Connect timeout (default 1m0s)
11261                    --copy-dest stringArray                Implies --compare-dest but also copies files from paths into destination.
11262                    --cpuprofile string                    Write cpu profile to file
11263                    --cutoff-mode string                   Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default "HARD")
11264                    --delete-after                         When synchronizing, delete files on destination after transferring (default)
11265                    --delete-before                        When synchronizing, delete files on destination before transferring
11266                    --delete-during                        When synchronizing, delete files during transfer
11267                    --delete-excluded                      Delete files on dest excluded from sync
11268                    --disable string                       Disable a comma separated list of features.  Use help to see a list.
11269                -n, --dry-run                              Do a trial run with no permanent changes
11270                    --dscp string                          Set DSCP value to connections. Can be value or names, eg. CS1, LE, DF, AF21.
11271                    --dump DumpFlags                       List of items to dump from: headers,bodies,requests,responses,auth,filters,goroutines,openfiles
11272                    --dump-bodies                          Dump HTTP headers and bodies - may contain sensitive info
11273                    --dump-headers                         Dump HTTP headers - may contain sensitive info
11274                    --error-on-no-transfer                 Sets exit code 9 if no files are transferred, useful in scripts
11275                    --exclude stringArray                  Exclude files matching pattern
11276                    --exclude-from stringArray             Read exclude patterns from file (use - to read from stdin)
11277                    --exclude-if-present string            Exclude directories if filename is present
11278                    --expect-continue-timeout duration     Timeout when using expect / 100-continue in HTTP (default 1s)
11279                    --fast-list                            Use recursive list if available. Uses more memory but fewer transactions.
11280                    --files-from stringArray               Read list of source-file names from file (use - to read from stdin)
11281                    --files-from-raw stringArray           Read list of source-file names from file without any processing of lines (use - to read from stdin)
11282                -f, --filter stringArray                   Add a file-filtering rule
11283                    --filter-from stringArray              Read filtering patterns from a file (use - to read from stdin)
11284                    --fs-cache-expire-duration duration    cache remotes for this long (0 to disable caching) (default 5m0s)
11285                    --fs-cache-expire-interval duration    interval to check for expired remotes (default 1m0s)
11286                    --header stringArray                   Set HTTP header for all transactions
11287                    --header-download stringArray          Set HTTP header for download transactions
11288                    --header-upload stringArray            Set HTTP header for upload transactions
11289                    --ignore-case                          Ignore case in filters (case insensitive)
11290                    --ignore-case-sync                     Ignore case when synchronizing
11291                    --ignore-checksum                      Skip post copy check of checksums.
11292                    --ignore-errors                        delete even if there are I/O errors
11293                    --ignore-existing                      Skip all files that exist on destination
11294                    --ignore-size                          Ignore size when skipping use mod-time or checksum.
11295                -I, --ignore-times                         Don't skip files that match size and time - transfer all files
11296                    --immutable                            Do not modify files. Fail if existing files have been modified.
11297                    --include stringArray                  Include files matching pattern
11298                    --include-from stringArray             Read include patterns from file (use - to read from stdin)
11299                -i, --interactive                          Enable interactive mode
11300                    --log-file string                      Log everything to this file
11301                    --log-format string                    Comma separated list of log format options (default "date,time")
11302                    --log-level string                     Log level DEBUG|INFO|NOTICE|ERROR (default "NOTICE")
11303                    --log-systemd                          Activate systemd integration for the logger.
11304                    --low-level-retries int                Number of low level retries to do. (default 10)
11305                    --max-age Duration                     Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
11306                    --max-backlog int                      Maximum number of objects in sync or check backlog. (default 10000)
11307                    --max-delete int                       When synchronizing, limit the number of deletes (default -1)
11308                    --max-depth int                        If set limits the recursion depth to this. (default -1)
11309                    --max-duration duration                Maximum duration rclone will transfer data for.
11310                    --max-size SizeSuffix                  Only transfer files smaller than this in k or suffix b|k|M|G (default off)
11311                    --max-stats-groups int                 Maximum number of stats groups to keep in memory. On max oldest is discarded. (default 1000)
11312                    --max-transfer SizeSuffix              Maximum size of data to transfer. (default off)
11313                    --memprofile string                    Write memory profile to file
11314                    --min-age Duration                     Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
11315                    --min-size SizeSuffix                  Only transfer files bigger than this in k or suffix b|k|M|G (default off)
11316                    --modify-window duration               Max time diff to be considered the same (default 1ns)
11317                    --multi-thread-cutoff SizeSuffix       Use multi-thread downloads for files above this size. (default 250M)
11318                    --multi-thread-streams int             Max number of streams to use for multi-thread downloads. (default 4)
11319                    --no-check-certificate                 Do not verify the server SSL certificate. Insecure.
11320                    --no-check-dest                        Don't check the destination, copy regardless.
11321                    --no-console                           Hide console window. Supported on Windows only.
11322                    --no-gzip-encoding                     Don't set Accept-Encoding: gzip.
11323                    --no-traverse                          Don't traverse destination file system on copy.
11324                    --no-unicode-normalization             Don't normalize unicode characters in filenames.
11325                    --no-update-modtime                    Don't update destination mod-time if files identical.
11326                    --order-by string                      Instructions on how to order the transfers, e.g. 'size,descending'
11327                    --password-command SpaceSepList        Command for supplying password for encrypted configuration.
11328                -P, --progress                             Show progress during transfer.
11329                    --progress-terminal-title              Show progress on the terminal title. Requires -P/--progress.
11330                -q, --quiet                                Print as little stuff as possible
11331                    --rc                                   Enable the remote control server.
11332                    --rc-addr string                       IPaddress:Port or :Port to bind server to. (default "localhost:5572")
11333                    --rc-allow-origin string               Set the allowed origin for CORS.
11334                    --rc-baseurl string                    Prefix for URLs - leave blank for root.
11335                    --rc-cert string                       SSL PEM key (concatenation of certificate and CA certificate)
11336                    --rc-client-ca string                  Client certificate authority to verify clients with
11337                    --rc-enable-metrics                    Enable prometheus metrics on /metrics
11338                    --rc-files string                      Path to local files to serve on the HTTP server.
11339                    --rc-htpasswd string                   htpasswd file - if not provided no authentication is done
11340                    --rc-job-expire-duration duration      expire finished async jobs older than this value (default 1m0s)
11341                    --rc-job-expire-interval duration      interval to check for expired async jobs (default 10s)
11342                    --rc-key string                        SSL PEM Private key
11343                    --rc-max-header-bytes int              Maximum size of request header (default 4096)
11344                    --rc-no-auth                           Don't require auth for certain methods.
11345                    --rc-pass string                       Password for authentication.
11346                    --rc-realm string                      realm for authentication (default "rclone")
11347                    --rc-serve                             Enable the serving of remote objects.
11348                    --rc-server-read-timeout duration      Timeout for server reading data (default 1h0m0s)
11349                    --rc-server-write-timeout duration     Timeout for server writing data (default 1h0m0s)
11350                    --rc-template string                   User Specified Template.
11351                    --rc-user string                       User name for authentication.
11352                    --rc-web-fetch-url string              URL to fetch the releases for webgui. (default "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest")
11353                    --rc-web-gui                           Launch WebGUI on localhost
11354                    --rc-web-gui-force-update              Force update to latest version of web gui
11355                    --rc-web-gui-no-open-browser           Don't open the browser automatically
11356                    --rc-web-gui-update                    Check and update to latest version of web gui
11357                    --refresh-times                        Refresh the modtime of remote files.
11358                    --retries int                          Retry operations this many times if they fail (default 3)
11359                    --retries-sleep duration               Interval between retrying operations if they fail, e.g 500ms, 60s, 5m. (0 to disable)
11360                    --size-only                            Skip based on size only, not mod-time or checksum
11361                    --stats duration                       Interval between printing stats, e.g 500ms, 60s, 5m. (0 to disable) (default 1m0s)
11362                    --stats-file-name-length int           Max file name length in stats. 0 for no limit (default 45)
11363                    --stats-log-level string               Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default "INFO")
11364                    --stats-one-line                       Make the stats fit on one line.
11365                    --stats-one-line-date                  Enables --stats-one-line and add current date/time prefix.
11366                    --stats-one-line-date-format string    Enables --stats-one-line-date and uses custom formatted date. Enclose date string in double quotes ("). See https://golang.org/pkg/time/#Time.Format
11367                    --stats-unit string                    Show data rate in stats as either 'bits' or 'bytes'/s (default "bytes")
11368                    --streaming-upload-cutoff SizeSuffix   Cutoff for switching to chunked upload if file size is unknown. Upload starts after reaching cutoff or when file ends. (default 100k)
11369                    --suffix string                        Suffix to add to changed files.
11370                    --suffix-keep-extension                Preserve the extension when using --suffix.
11371                    --syslog                               Use Syslog for logging
11372                    --syslog-facility string               Facility for syslog, e.g. KERN,USER,... (default "DAEMON")
11373                    --timeout duration                     IO idle timeout (default 5m0s)
11374                    --tpslimit float                       Limit HTTP transactions per second to this.
11375                    --tpslimit-burst int                   Max burst of transactions for --tpslimit. (default 1)
11376                    --track-renames                        When synchronizing, track file renames and do a server-side move if possible
11377                    --track-renames-strategy string        Strategies to use when synchronizing using track-renames hash|modtime|leaf (default "hash")
11378                    --transfers int                        Number of file transfers to run in parallel. (default 4)
11379                -u, --update                               Skip files that are newer on the destination.
11380                    --use-cookies                          Enable session cookiejar.
11381                    --use-json-log                         Use json log format.
11382                    --use-mmap                             Use mmap allocator (see docs).
11383                    --use-server-modtime                   Use server modified time instead of object metadata
11384                    --user-agent string                    Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.55.1")
11385                -v, --verbose count                        Print lots more stuff (repeat for more)
11386
11387   Backend Flags
11388       These flags are available for every command.  They control the backends
11389       and may be set in the config file.
11390
11391                    --acd-auth-url string                                      Auth server URL.
11392                    --acd-client-id string                                     OAuth Client Id
11393                    --acd-client-secret string                                 OAuth Client Secret
11394                    --acd-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
11395                    --acd-templink-threshold SizeSuffix                        Files >= this size will be downloaded via their tempLink. (default 9G)
11396                    --acd-token string                                         OAuth Access Token as a JSON blob.
11397                    --acd-token-url string                                     Token server url.
11398                    --acd-upload-wait-per-gb Duration                          Additional time per GB to wait after a failed complete upload to see if it appears. (default 3m0s)
11399                    --alias-remote string                                      Remote or path to alias.
11400                    --azureblob-access-tier string                             Access tier of blob: hot, cool or archive.
11401                    --azureblob-account string                                 Storage Account Name (leave blank to use SAS URL or Emulator)
11402                    --azureblob-archive-tier-delete                            Delete archive tier blobs before overwriting.
11403                    --azureblob-chunk-size SizeSuffix                          Upload chunk size (<= 100MB). (default 4M)
11404                    --azureblob-disable-checksum                               Don't store MD5 checksum with object metadata.
11405                    --azureblob-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8)
11406                    --azureblob-endpoint string                                Endpoint for the service
11407                    --azureblob-key string                                     Storage Account Key (leave blank to use SAS URL or Emulator)
11408                    --azureblob-list-chunk int                                 Size of blob list. (default 5000)
11409                    --azureblob-memory-pool-flush-time Duration                How often internal memory buffer pools will be flushed. (default 1m0s)
11410                    --azureblob-memory-pool-use-mmap                           Whether to use mmap buffers in internal memory pool.
11411                    --azureblob-msi-client-id string                           Object ID of the user-assigned MSI to use, if any. Leave blank if msi_object_id or msi_mi_res_id specified.
11412                    --azureblob-msi-mi-res-id string                           Azure resource ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_object_id specified.
11413                    --azureblob-msi-object-id string                           Object ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_mi_res_id specified.
11414                    --azureblob-public-access string                           Public access level of a container: blob, container.
11415                    --azureblob-sas-url string                                 SAS URL for container level access only
11416                    --azureblob-service-principal-file string                  Path to file containing credentials for use with a service principal.
11417                    --azureblob-upload-cutoff string                           Cutoff for switching to chunked upload (<= 256MB). (Deprecated)
11418                    --azureblob-use-emulator                                   Uses local storage emulator if provided as 'true' (leave blank if using real azure storage endpoint)
11419                    --azureblob-use-msi                                        Use a managed service identity to authenticate (only works in Azure)
11420                    --b2-account string                                        Account ID or Application Key ID
11421                    --b2-chunk-size SizeSuffix                                 Upload chunk size. Must fit in memory. (default 96M)
11422                    --b2-copy-cutoff SizeSuffix                                Cutoff for switching to multipart copy (default 4G)
11423                    --b2-disable-checksum                                      Disable checksums for large (> upload cutoff) files
11424                    --b2-download-auth-duration Duration                       Time before the authorization token will expire in s or suffix ms|s|m|h|d. (default 1w)
11425                    --b2-download-url string                                   Custom endpoint for downloads.
11426                    --b2-encoding MultiEncoder                                 This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
11427                    --b2-endpoint string                                       Endpoint for the service.
11428                    --b2-hard-delete                                           Permanently delete files on remote removal, otherwise hide files.
11429                    --b2-key string                                            Application Key
11430                    --b2-memory-pool-flush-time Duration                       How often internal memory buffer pools will be flushed. (default 1m0s)
11431                    --b2-memory-pool-use-mmap                                  Whether to use mmap buffers in internal memory pool.
11432                    --b2-test-mode string                                      A flag string for X-Bz-Test-Mode header for debugging.
11433                    --b2-upload-cutoff SizeSuffix                              Cutoff for switching to chunked upload. (default 200M)
11434                    --b2-versions                                              Include old versions in directory listings.
11435                    --box-access-token string                                  Box App Primary Access Token
11436                    --box-auth-url string                                      Auth server URL.
11437                    --box-box-config-file string                               Box App config.json location
11438                    --box-box-sub-type string                                   (default "user")
11439                    --box-client-id string                                     OAuth Client Id
11440                    --box-client-secret string                                 OAuth Client Secret
11441                    --box-commit-retries int                                   Max number of times to try committing a multipart file. (default 100)
11442                    --box-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot)
11443                    --box-root-folder-id string                                Fill in for rclone to use a non root folder as its starting point.
11444                    --box-token string                                         OAuth Access Token as a JSON blob.
11445                    --box-token-url string                                     Token server url.
11446                    --box-upload-cutoff SizeSuffix                             Cutoff for switching to multipart upload (>= 50MB). (default 50M)
11447                    --cache-chunk-clean-interval Duration                      How often should the cache perform cleanups of the chunk storage. (default 1m0s)
11448                    --cache-chunk-no-memory                                    Disable the in-memory cache for storing chunks during streaming.
11449                    --cache-chunk-path string                                  Directory to cache chunk files. (default "$HOME/.cache/rclone/cache-backend")
11450                    --cache-chunk-size SizeSuffix                              The size of a chunk (partial file data). (default 5M)
11451                    --cache-chunk-total-size SizeSuffix                        The total size that the chunks can take up on the local disk. (default 10G)
11452                    --cache-db-path string                                     Directory to store file structure metadata DB. (default "$HOME/.cache/rclone/cache-backend")
11453                    --cache-db-purge                                           Clear all the cached data for this remote on start.
11454                    --cache-db-wait-time Duration                              How long to wait for the DB to be available - 0 is unlimited (default 1s)
11455                    --cache-info-age Duration                                  How long to cache file structure information (directory listings, file size, times, etc.). (default 6h0m0s)
11456                    --cache-plex-insecure string                               Skip all certificate verification when connecting to the Plex server
11457                    --cache-plex-password string                               The password of the Plex user (obscured)
11458                    --cache-plex-url string                                    The URL of the Plex server
11459                    --cache-plex-username string                               The username of the Plex user
11460                    --cache-read-retries int                                   How many times to retry a read from a cache storage. (default 10)
11461                    --cache-remote string                                      Remote to cache.
11462                    --cache-rps int                                            Limits the number of requests per second to the source FS (-1 to disable) (default -1)
11463                    --cache-tmp-upload-path string                             Directory to keep temporary files until they are uploaded.
11464                    --cache-tmp-wait-time Duration                             How long should files be stored in local cache before being uploaded (default 15s)
11465                    --cache-workers int                                        How many workers should run in parallel to download chunks. (default 4)
11466                    --cache-writes                                             Cache file data on writes through the FS
11467                    --chunker-chunk-size SizeSuffix                            Files larger than chunk size will be split in chunks. (default 2G)
11468                    --chunker-fail-hard                                        Choose how chunker should handle files with missing or invalid chunks.
11469                    --chunker-hash-type string                                 Choose how chunker handles hash sums. All modes but "none" require metadata. (default "md5")
11470                    --chunker-remote string                                    Remote to chunk/unchunk.
11471                    --compress-level int                                       GZIP compression level (-2 to 9). (default -1)
11472                    --compress-mode string                                     Compression mode. (default "gzip")
11473                    --compress-ram-cache-limit SizeSuffix                      Some remotes don't allow the upload of files with unknown size. (default 20M)
11474                    --compress-remote string                                   Remote to compress.
11475                -L, --copy-links                                               Follow symlinks and copy the pointed to item.
11476                    --crypt-directory-name-encryption                          Option to either encrypt directory names or leave them intact. (default true)
11477                    --crypt-filename-encryption string                         How to encrypt the filenames. (default "standard")
11478                    --crypt-no-data-encryption                                 Option to either encrypt file data or leave it unencrypted.
11479                    --crypt-password string                                    Password or pass phrase for encryption. (obscured)
11480                    --crypt-password2 string                                   Password or pass phrase for salt. Optional but recommended. (obscured)
11481                    --crypt-remote string                                      Remote to encrypt/decrypt.
11482                    --crypt-server-side-across-configs                         Allow server-side operations (e.g. copy) to work across different crypt configs.
11483                    --crypt-show-mapping                                       For all files listed show how the names encrypt.
11484                    --drive-acknowledge-abuse                                  Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
11485                    --drive-allow-import-name-change                           Allow the filetype to change when uploading Google docs (e.g. file.doc to file.docx). This will confuse sync and reupload every time.
11486                    --drive-auth-owner-only                                    Only consider files owned by the authenticated user.
11487                    --drive-auth-url string                                    Auth server URL.
11488                    --drive-chunk-size SizeSuffix                              Upload chunk size. Must a power of 2 >= 256k. (default 8M)
11489                    --drive-client-id string                                   Google Application Client Id
11490                    --drive-client-secret string                               OAuth Client Secret
11491                    --drive-disable-http2                                      Disable drive using http2 (default true)
11492                    --drive-encoding MultiEncoder                              This sets the encoding for the backend. (default InvalidUtf8)
11493                    --drive-export-formats string                              Comma separated list of preferred formats for downloading Google docs. (default "docx,xlsx,pptx,svg")
11494                    --drive-formats string                                     Deprecated: see export_formats
11495                    --drive-impersonate string                                 Impersonate this user when using a service account.
11496                    --drive-import-formats string                              Comma separated list of preferred formats for uploading Google docs.
11497                    --drive-keep-revision-forever                              Keep new head revision of each file forever.
11498                    --drive-list-chunk int                                     Size of listing chunk 100-1000. 0 to disable. (default 1000)
11499                    --drive-pacer-burst int                                    Number of API calls to allow without sleeping. (default 100)
11500                    --drive-pacer-min-sleep Duration                           Minimum time to sleep between API calls. (default 100ms)
11501                    --drive-root-folder-id string                              ID of the root folder
11502                    --drive-scope string                                       Scope that rclone should use when requesting access from drive.
11503                    --drive-server-side-across-configs                         Allow server-side operations (e.g. copy) to work across different drive configs.
11504                    --drive-service-account-credentials string                 Service Account Credentials JSON blob
11505                    --drive-service-account-file string                        Service Account Credentials JSON file path
11506                    --drive-shared-with-me                                     Only show files that are shared with me.
11507                    --drive-size-as-quota                                      Show sizes as storage quota usage, not actual size.
11508                    --drive-skip-checksum-gphotos                              Skip MD5 checksum on Google photos and videos only.
11509                    --drive-skip-gdocs                                         Skip google documents in all listings.
11510                    --drive-skip-shortcuts                                     If set skip shortcut files
11511                    --drive-starred-only                                       Only show files that are starred.
11512                    --drive-stop-on-download-limit                             Make download limit errors be fatal
11513                    --drive-stop-on-upload-limit                               Make upload limit errors be fatal
11514                    --drive-team-drive string                                  ID of the Shared Drive (Team Drive)
11515                    --drive-token string                                       OAuth Access Token as a JSON blob.
11516                    --drive-token-url string                                   Token server url.
11517                    --drive-trashed-only                                       Only show files that are in the trash.
11518                    --drive-upload-cutoff SizeSuffix                           Cutoff for switching to chunked upload (default 8M)
11519                    --drive-use-created-date                                   Use file created date instead of modified date.,
11520                    --drive-use-shared-date                                    Use date file was shared instead of modified date.
11521                    --drive-use-trash                                          Send files to the trash instead of deleting permanently. (default true)
11522                    --drive-v2-download-min-size SizeSuffix                    If Object's are greater, use drive v2 API to download. (default off)
11523                    --dropbox-auth-url string                                  Auth server URL.
11524                    --dropbox-chunk-size SizeSuffix                            Upload chunk size. (< 150M). (default 48M)
11525                    --dropbox-client-id string                                 OAuth Client Id
11526                    --dropbox-client-secret string                             OAuth Client Secret
11527                    --dropbox-encoding MultiEncoder                            This sets the encoding for the backend. (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot)
11528                    --dropbox-impersonate string                               Impersonate this user when using a business account.
11529                    --dropbox-shared-files                                     Instructs rclone to work on individual shared files.
11530                    --dropbox-shared-folders                                   Instructs rclone to work on shared folders.
11531                    --dropbox-token string                                     OAuth Access Token as a JSON blob.
11532                    --dropbox-token-url string                                 Token server url.
11533                    --fichier-api-key string                                   Your API Key, get it from https://1fichier.com/console/params.pl
11534                    --fichier-encoding MultiEncoder                            This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot)
11535                    --fichier-shared-folder string                             If you want to download a shared folder, add this parameter
11536                    --filefabric-encoding MultiEncoder                         This sets the encoding for the backend. (default Slash,Del,Ctl,InvalidUtf8,Dot)
11537                    --filefabric-permanent-token string                        Permanent Authentication Token
11538                    --filefabric-root-folder-id string                         ID of the root folder
11539                    --filefabric-token string                                  Session Token
11540                    --filefabric-token-expiry string                           Token expiry time
11541                    --filefabric-url string                                    URL of the Enterprise File Fabric to connect to
11542                    --filefabric-version string                                Version read from the file fabric
11543                    --ftp-close-timeout Duration                               Maximum time to wait for a response to close. (default 1m0s)
11544                    --ftp-concurrency int                                      Maximum number of FTP simultaneous connections, 0 for unlimited
11545                    --ftp-disable-epsv                                         Disable using EPSV even if server advertises support
11546                    --ftp-disable-mlsd                                         Disable using MLSD even if server advertises support
11547                    --ftp-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,Del,Ctl,RightSpace,Dot)
11548                    --ftp-explicit-tls                                         Use Explicit FTPS (FTP over TLS)
11549                    --ftp-host string                                          FTP host to connect to
11550                    --ftp-idle-timeout Duration                                Max time before closing idle connections (default 1m0s)
11551                    --ftp-no-check-certificate                                 Do not verify the TLS certificate of the server
11552                    --ftp-pass string                                          FTP password (obscured)
11553                    --ftp-port string                                          FTP port, leave blank to use default (21)
11554                    --ftp-tls                                                  Use Implicit FTPS (FTP over TLS)
11555                    --ftp-user string                                          FTP username, leave blank for current username, $USER
11556                    --gcs-anonymous                                            Access public buckets and objects without credentials
11557                    --gcs-auth-url string                                      Auth server URL.
11558                    --gcs-bucket-acl string                                    Access Control List for new buckets.
11559                    --gcs-bucket-policy-only                                   Access checks should use bucket-level IAM policies.
11560                    --gcs-client-id string                                     OAuth Client Id
11561                    --gcs-client-secret string                                 OAuth Client Secret
11562                    --gcs-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,CrLf,InvalidUtf8,Dot)
11563                    --gcs-location string                                      Location for the newly created buckets.
11564                    --gcs-object-acl string                                    Access Control List for new objects.
11565                    --gcs-project-number string                                Project number.
11566                    --gcs-service-account-file string                          Service Account Credentials JSON file path
11567                    --gcs-storage-class string                                 The storage class to use when storing objects in Google Cloud Storage.
11568                    --gcs-token string                                         OAuth Access Token as a JSON blob.
11569                    --gcs-token-url string                                     Token server url.
11570                    --gphotos-auth-url string                                  Auth server URL.
11571                    --gphotos-client-id string                                 OAuth Client Id
11572                    --gphotos-client-secret string                             OAuth Client Secret
11573                    --gphotos-include-archived                                 Also view and download archived media.
11574                    --gphotos-read-only                                        Set to make the Google Photos backend read only.
11575                    --gphotos-read-size                                        Set to read the size of media items.
11576                    --gphotos-start-year int                                   Year limits the photos to be downloaded to those which are uploaded after the given year (default 2000)
11577                    --gphotos-token string                                     OAuth Access Token as a JSON blob.
11578                    --gphotos-token-url string                                 Token server url.
11579                    --hdfs-data-transfer-protection string                     Kerberos data transfer protection: authentication|integrity|privacy
11580                    --hdfs-encoding MultiEncoder                               This sets the encoding for the backend. (default Slash,Colon,Del,Ctl,InvalidUtf8,Dot)
11581                    --hdfs-namenode string                                     hadoop name node and port
11582                    --hdfs-service-principal-name string                       Kerberos service principal name for the namenode
11583                    --hdfs-username string                                     hadoop user name
11584                    --http-headers CommaSepList                                Set HTTP headers for all transactions
11585                    --http-no-head                                             Don't use HEAD requests to find file sizes in dir listing
11586                    --http-no-slash                                            Set this if the site doesn't end directories with /
11587                    --http-url string                                          URL of http host to connect to
11588                    --hubic-auth-url string                                    Auth server URL.
11589                    --hubic-chunk-size SizeSuffix                              Above this size files will be chunked into a _segments container. (default 5G)
11590                    --hubic-client-id string                                   OAuth Client Id
11591                    --hubic-client-secret string                               OAuth Client Secret
11592                    --hubic-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,InvalidUtf8)
11593                    --hubic-no-chunk                                           Don't chunk files during streaming upload.
11594                    --hubic-token string                                       OAuth Access Token as a JSON blob.
11595                    --hubic-token-url string                                   Token server url.
11596                    --jottacloud-encoding MultiEncoder                         This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot)
11597                    --jottacloud-hard-delete                                   Delete files permanently rather than putting them into the trash.
11598                    --jottacloud-md5-memory-limit SizeSuffix                   Files bigger than this will be cached on disk to calculate the MD5 if required. (default 10M)
11599                    --jottacloud-trashed-only                                  Only show files that are in the trash.
11600                    --jottacloud-upload-resume-limit SizeSuffix                Files bigger than this can be resumed if the upload fail's. (default 10M)
11601                    --koofr-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
11602                    --koofr-endpoint string                                    The Koofr API endpoint to use (default "https://app.koofr.net")
11603                    --koofr-mountid string                                     Mount ID of the mount to use. If omitted, the primary mount is used.
11604                    --koofr-password string                                    Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
11605                    --koofr-setmtime                                           Does the backend support setting modification time. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend. (default true)
11606                    --koofr-user string                                        Your Koofr user name
11607                -l, --links                                                    Translate symlinks to/from regular files with a '.rclonelink' extension
11608                    --local-case-insensitive                                   Force the filesystem to report itself as case insensitive
11609                    --local-case-sensitive                                     Force the filesystem to report itself as case sensitive.
11610                    --local-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,Dot)
11611                    --local-no-check-updated                                   Don't check to see if the files change during upload
11612                    --local-no-preallocate                                     Disable preallocation of disk space for transferred files
11613                    --local-no-set-modtime                                     Disable setting modtime
11614                    --local-no-sparse                                          Disable sparse files for multi-thread downloads
11615                    --local-no-unicode-normalization                           Don't apply unicode normalization to paths and filenames (Deprecated)
11616                    --local-nounc string                                       Disable UNC (long path names) conversion on Windows
11617                    --local-zero-size-links                                    Assume the Stat size of links is zero (and read them instead)
11618                    --mailru-check-hash                                        What should copy do if file checksum is mismatched or invalid (default true)
11619                    --mailru-encoding MultiEncoder                             This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
11620                    --mailru-pass string                                       Password (obscured)
11621                    --mailru-speedup-enable                                    Skip full upload if there is another file with same data hash. (default true)
11622                    --mailru-speedup-file-patterns string                      Comma separated list of file name patterns eligible for speedup (put by hash). (default "*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf")
11623                    --mailru-speedup-max-disk SizeSuffix                       This option allows you to disable speedup (put by hash) for large files (default 3G)
11624                    --mailru-speedup-max-memory SizeSuffix                     Files larger than the size given below will always be hashed on disk. (default 32M)
11625                    --mailru-user string                                       User name (usually email)
11626                    --mega-debug                                               Output more debug from Mega.
11627                    --mega-encoding MultiEncoder                               This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
11628                    --mega-hard-delete                                         Delete files permanently rather than putting them into the trash.
11629                    --mega-pass string                                         Password. (obscured)
11630                    --mega-user string                                         User name
11631                -x, --one-file-system                                          Don't cross filesystem boundaries (unix/macOS only).
11632                    --onedrive-auth-url string                                 Auth server URL.
11633                    --onedrive-chunk-size SizeSuffix                           Chunk size to upload files with - must be multiple of 320k (327,680 bytes). (default 10M)
11634                    --onedrive-client-id string                                OAuth Client Id
11635                    --onedrive-client-secret string                            OAuth Client Secret
11636                    --onedrive-drive-id string                                 The ID of the drive to use
11637                    --onedrive-drive-type string                               The type of the drive ( personal | business | documentLibrary )
11638                    --onedrive-encoding MultiEncoder                           This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot)
11639                    --onedrive-expose-onenote-files                            Set to make OneNote files show up in directory listings.
11640                    --onedrive-link-password string                            Set the password for links created by the link command.
11641                    --onedrive-link-scope string                               Set the scope of the links created by the link command. (default "anonymous")
11642                    --onedrive-link-type string                                Set the type of the links created by the link command. (default "view")
11643                    --onedrive-no-versions                                     Remove all versions on modifying operations
11644                    --onedrive-region string                                   Choose national cloud region for OneDrive. (default "global")
11645                    --onedrive-server-side-across-configs                      Allow server-side operations (e.g. copy) to work across different onedrive configs.
11646                    --onedrive-token string                                    OAuth Access Token as a JSON blob.
11647                    --onedrive-token-url string                                Token server url.
11648                    --opendrive-chunk-size SizeSuffix                          Files will be uploaded in chunks this size. (default 10M)
11649                    --opendrive-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot)
11650                    --opendrive-password string                                Password. (obscured)
11651                    --opendrive-username string                                Username
11652                    --pcloud-auth-url string                                   Auth server URL.
11653                    --pcloud-client-id string                                  OAuth Client Id
11654                    --pcloud-client-secret string                              OAuth Client Secret
11655                    --pcloud-encoding MultiEncoder                             This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
11656                    --pcloud-hostname string                                   Hostname to connect to. (default "api.pcloud.com")
11657                    --pcloud-root-folder-id string                             Fill in for rclone to use a non root folder as its starting point. (default "d0")
11658                    --pcloud-token string                                      OAuth Access Token as a JSON blob.
11659                    --pcloud-token-url string                                  Token server url.
11660                    --premiumizeme-encoding MultiEncoder                       This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot)
11661                    --putio-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
11662                    --qingstor-access-key-id string                            QingStor Access Key ID
11663                    --qingstor-chunk-size SizeSuffix                           Chunk size to use for uploading. (default 4M)
11664                    --qingstor-connection-retries int                          Number of connection retries. (default 3)
11665                    --qingstor-encoding MultiEncoder                           This sets the encoding for the backend. (default Slash,Ctl,InvalidUtf8)
11666                    --qingstor-endpoint string                                 Enter an endpoint URL to connection QingStor API.
11667                    --qingstor-env-auth                                        Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
11668                    --qingstor-secret-access-key string                        QingStor Secret Access Key (password)
11669                    --qingstor-upload-concurrency int                          Concurrency for multipart uploads. (default 1)
11670                    --qingstor-upload-cutoff SizeSuffix                        Cutoff for switching to chunked upload (default 200M)
11671                    --qingstor-zone string                                     Zone to connect to.
11672                    --s3-access-key-id string                                  AWS Access Key ID.
11673                    --s3-acl string                                            Canned ACL used when creating buckets and storing or copying objects.
11674                    --s3-bucket-acl string                                     Canned ACL used when creating buckets.
11675                    --s3-chunk-size SizeSuffix                                 Chunk size to use for uploading. (default 5M)
11676                    --s3-copy-cutoff SizeSuffix                                Cutoff for switching to multipart copy (default 4.656G)
11677                    --s3-disable-checksum                                      Don't store MD5 checksum with object metadata
11678                    --s3-disable-http2                                         Disable usage of http2 for S3 backends
11679                    --s3-encoding MultiEncoder                                 This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
11680                    --s3-endpoint string                                       Endpoint for S3 API.
11681                    --s3-env-auth                                              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
11682                    --s3-force-path-style                                      If true use path style access if false use virtual hosted style. (default true)
11683                    --s3-leave-parts-on-error                                  If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery.
11684                    --s3-list-chunk int                                        Size of listing chunk (response list for each ListObject S3 request). (default 1000)
11685                    --s3-location-constraint string                            Location constraint - must be set to match the Region.
11686                    --s3-max-upload-parts int                                  Maximum number of parts in a multipart upload. (default 10000)
11687                    --s3-memory-pool-flush-time Duration                       How often internal memory buffer pools will be flushed. (default 1m0s)
11688                    --s3-memory-pool-use-mmap                                  Whether to use mmap buffers in internal memory pool.
11689                    --s3-no-check-bucket                                       If set, don't attempt to check the bucket exists or create it
11690                    --s3-no-head                                               If set, don't HEAD uploaded objects to check integrity
11691                    --s3-profile string                                        Profile to use in the shared credentials file
11692                    --s3-provider string                                       Choose your S3 provider.
11693                    --s3-region string                                         Region to connect to.
11694                    --s3-requester-pays                                        Enables requester pays option when interacting with S3 bucket.
11695                    --s3-secret-access-key string                              AWS Secret Access Key (password)
11696                    --s3-server-side-encryption string                         The server-side encryption algorithm used when storing this object in S3.
11697                    --s3-session-token string                                  An AWS session token
11698                    --s3-shared-credentials-file string                        Path to the shared credentials file
11699                    --s3-sse-customer-algorithm string                         If using SSE-C, the server-side encryption algorithm used when storing this object in S3.
11700                    --s3-sse-customer-key string                               If using SSE-C you must provide the secret encryption key used to encrypt/decrypt your data.
11701                    --s3-sse-customer-key-md5 string                           If using SSE-C you may provide the secret encryption key MD5 checksum (optional).
11702                    --s3-sse-kms-key-id string                                 If using KMS ID you must provide the ARN of Key.
11703                    --s3-storage-class string                                  The storage class to use when storing new objects in S3.
11704                    --s3-upload-concurrency int                                Concurrency for multipart uploads. (default 4)
11705                    --s3-upload-cutoff SizeSuffix                              Cutoff for switching to chunked upload (default 200M)
11706                    --s3-use-accelerate-endpoint                               If true use the AWS S3 accelerated endpoint.
11707                    --s3-v2-auth                                               If true use v2 authentication.
11708                    --seafile-2fa                                              Two-factor authentication ('true' if the account has 2FA enabled)
11709                    --seafile-create-library                                   Should rclone create a library if it doesn't exist
11710                    --seafile-encoding MultiEncoder                            This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
11711                    --seafile-library string                                   Name of the library. Leave blank to access all non-encrypted libraries.
11712                    --seafile-library-key string                               Library password (for encrypted libraries only). Leave blank if you pass it through the command line. (obscured)
11713                    --seafile-pass string                                      Password (obscured)
11714                    --seafile-url string                                       URL of seafile host to connect to
11715                    --seafile-user string                                      User name (usually email address)
11716                    --sftp-ask-password                                        Allow asking for SFTP password when needed.
11717                    --sftp-disable-concurrent-reads                            If set don't use concurrent reads
11718                    --sftp-disable-hashcheck                                   Disable the execution of SSH commands to determine if remote file hashing is available.
11719                    --sftp-host string                                         SSH host to connect to
11720                    --sftp-idle-timeout Duration                               Max time before closing idle connections (default 1m0s)
11721                    --sftp-key-file string                                     Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
11722                    --sftp-key-file-pass string                                The passphrase to decrypt the PEM-encoded private key file. (obscured)
11723                    --sftp-key-pem string                                      Raw PEM-encoded private key, If specified, will override key_file parameter.
11724                    --sftp-key-use-agent                                       When set forces the usage of the ssh-agent.
11725                    --sftp-known-hosts-file string                             Optional path to known_hosts file.
11726                    --sftp-md5sum-command string                               The command used to read md5 hashes. Leave blank for autodetect.
11727                    --sftp-pass string                                         SSH password, leave blank to use ssh-agent. (obscured)
11728                    --sftp-path-override string                                Override path used by SSH connection.
11729                    --sftp-port string                                         SSH port, leave blank to use default (22)
11730                    --sftp-pubkey-file string                                  Optional path to public key file.
11731                    --sftp-server-command string                               Specifies the path or command to run a sftp server on the remote host.
11732                    --sftp-set-modtime                                         Set the modified time on the remote if set. (default true)
11733                    --sftp-sha1sum-command string                              The command used to read sha1 hashes. Leave blank for autodetect.
11734                    --sftp-skip-links                                          Set to skip any symlinks and any other non regular files.
11735                    --sftp-subsystem string                                    Specifies the SSH2 subsystem on the remote host. (default "sftp")
11736                    --sftp-use-fstat                                           If set use fstat instead of stat
11737                    --sftp-use-insecure-cipher                                 Enable the use of insecure ciphers and key exchange methods.
11738                    --sftp-user string                                         SSH username, leave blank for current username, $USER
11739                    --sharefile-chunk-size SizeSuffix                          Upload chunk size. Must a power of 2 >= 256k. (default 64M)
11740                    --sharefile-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot)
11741                    --sharefile-endpoint string                                Endpoint for API calls.
11742                    --sharefile-root-folder-id string                          ID of the root folder
11743                    --sharefile-upload-cutoff SizeSuffix                       Cutoff for switching to multipart upload. (default 128M)
11744                    --skip-links                                               Don't warn about skipped symlinks.
11745                    --sugarsync-access-key-id string                           Sugarsync Access Key ID.
11746                    --sugarsync-app-id string                                  Sugarsync App ID.
11747                    --sugarsync-authorization string                           Sugarsync authorization
11748                    --sugarsync-authorization-expiry string                    Sugarsync authorization expiry
11749                    --sugarsync-deleted-id string                              Sugarsync deleted folder id
11750                    --sugarsync-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,Ctl,InvalidUtf8,Dot)
11751                    --sugarsync-hard-delete                                    Permanently delete files if true
11752                    --sugarsync-private-access-key string                      Sugarsync Private Access Key
11753                    --sugarsync-refresh-token string                           Sugarsync refresh token
11754                    --sugarsync-root-id string                                 Sugarsync root id
11755                    --sugarsync-user string                                    Sugarsync user
11756                    --swift-application-credential-id string                   Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
11757                    --swift-application-credential-name string                 Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
11758                    --swift-application-credential-secret string               Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
11759                    --swift-auth string                                        Authentication URL for server (OS_AUTH_URL).
11760                    --swift-auth-token string                                  Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
11761                    --swift-auth-version int                                   AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
11762                    --swift-chunk-size SizeSuffix                              Above this size files will be chunked into a _segments container. (default 5G)
11763                    --swift-domain string                                      User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
11764                    --swift-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,InvalidUtf8)
11765                    --swift-endpoint-type string                               Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default "public")
11766                    --swift-env-auth                                           Get swift credentials from environment variables in standard OpenStack form.
11767                    --swift-key string                                         API key or password (OS_PASSWORD).
11768                    --swift-leave-parts-on-error                               If true avoid calling abort upload on a failure. It should be set to true for resuming uploads across different sessions.
11769                    --swift-no-chunk                                           Don't chunk files during streaming upload.
11770                    --swift-region string                                      Region name - optional (OS_REGION_NAME)
11771                    --swift-storage-policy string                              The storage policy to use when creating a new container
11772                    --swift-storage-url string                                 Storage URL - optional (OS_STORAGE_URL)
11773                    --swift-tenant string                                      Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
11774                    --swift-tenant-domain string                               Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
11775                    --swift-tenant-id string                                   Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
11776                    --swift-user string                                        User name to log in (OS_USERNAME).
11777                    --swift-user-id string                                     User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
11778                    --tardigrade-access-grant string                           Access Grant.
11779                    --tardigrade-api-key string                                API Key.
11780                    --tardigrade-passphrase string                             Encryption Passphrase. To access existing objects enter passphrase used for uploading.
11781                    --tardigrade-provider string                               Choose an authentication method. (default "existing")
11782                    --tardigrade-satellite-address <nodeid>@<address>:<port>   Satellite Address. Custom satellite address should match the format: <nodeid>@<address>:<port>. (default "us-central-1.tardigrade.io")
11783                    --union-action-policy string                               Policy to choose upstream on ACTION category. (default "epall")
11784                    --union-cache-time int                                     Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used. (default 120)
11785                    --union-create-policy string                               Policy to choose upstream on CREATE category. (default "epmfs")
11786                    --union-search-policy string                               Policy to choose upstream on SEARCH category. (default "ff")
11787                    --union-upstreams string                                   List of space separated upstreams.
11788                    --webdav-bearer-token string                               Bearer token instead of user/pass (e.g. a Macaroon)
11789                    --webdav-bearer-token-command string                       Command to run to get a bearer token
11790                    --webdav-encoding string                                   This sets the encoding for the backend.
11791                    --webdav-pass string                                       Password. (obscured)
11792                    --webdav-url string                                        URL of http host to connect to
11793                    --webdav-user string                                       User name. In case NTLM authentication is used, the username should be in the format 'Domain\User'.
11794                    --webdav-vendor string                                     Name of the Webdav site/service/software you are using
11795                    --yandex-auth-url string                                   Auth server URL.
11796                    --yandex-client-id string                                  OAuth Client Id
11797                    --yandex-client-secret string                              OAuth Client Secret
11798                    --yandex-encoding MultiEncoder                             This sets the encoding for the backend. (default Slash,Del,Ctl,InvalidUtf8,Dot)
11799                    --yandex-token string                                      OAuth Access Token as a JSON blob.
11800                    --yandex-token-url string                                  Token server url.
11801                    --zoho-auth-url string                                     Auth server URL.
11802                    --zoho-client-id string                                    OAuth Client Id
11803                    --zoho-client-secret string                                OAuth Client Secret
11804                    --zoho-encoding MultiEncoder                               This sets the encoding for the backend. (default Del,Ctl,InvalidUtf8)
11805                    --zoho-region string                                       Zoho region to connect to. You'll have to use the region you organization is registered in.
11806                    --zoho-token string                                        OAuth Access Token as a JSON blob.
11807                    --zoho-token-url string                                    Token server url.
11808
11809   1Fichier
11810       This is a backend for the 1fichier (https://1fichier.com) cloud storage
11811       service.  Note that a Premium subscription is required to use the API.
11812
11813       Paths are specified as remote:path
11814
11815       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
11816
11817       The  initial  setup  for 1Fichier involves getting the API key from the
11818       website which you need to do in your browser.
11819
11820       Here is an example of how to make a remote called remote.  First run:
11821
11822               rclone config
11823
11824       This will guide you through an interactive setup process:
11825
11826              No remotes found - make a new one
11827              n) New remote
11828              s) Set configuration password
11829              q) Quit config
11830              n/s/q> n
11831              name> remote
11832              Type of storage to configure.
11833              Enter a string value. Press Enter for the default ("").
11834              Choose a number from below, or type in your own value
11835              [snip]
11836              XX / 1Fichier
11837                 \ "fichier"
11838              [snip]
11839              Storage> fichier
11840              ** See help for fichier backend at: https://rclone.org/fichier/ **
11841
11842              Your API Key, get it from https://1fichier.com/console/params.pl
11843              Enter a string value. Press Enter for the default ("").
11844              api_key> example_key
11845
11846              Edit advanced config? (y/n)
11847              y) Yes
11848              n) No
11849              y/n>
11850              Remote config
11851              --------------------
11852              [remote]
11853              type = fichier
11854              api_key = example_key
11855              --------------------
11856              y) Yes this is OK
11857              e) Edit this remote
11858              d) Delete this remote
11859              y/e/d> y
11860
11861       Once configured you can then use rclone like this,
11862
11863       List directories in top level of your 1Fichier account
11864
11865              rclone lsd remote:
11866
11867       List all the files in your 1Fichier account
11868
11869              rclone ls remote:
11870
11871       To copy a local directory to a 1Fichier directory called backup
11872
11873              rclone copy /home/source remote:backup
11874
11875   Modified time and hashes
11876       1Fichier  does  not  support  modification  times.   It  supports   the
11877       Whirlpool hash algorithm.
11878
11879   Duplicated files
11880       1Fichier can have two files with exactly the same name and path (unlike
11881       a normal file system).
11882
11883       Duplicated files cause problems with the syncing and you will see  mes‐
11884       sages in the log about duplicates.
11885
11886   Restricted filename characters
11887       In    addition    to    the    default    restricted   characters   set
11888       (https://rclone.org/overview/#restricted-characters)   the    following
11889       characters are also replaced:
11890
11891       Character   Value   Replacement
11892       ────────────────────────────────
11893       \           0x5C        \
11894       <           0x3C        <
11895       >           0x3E        >
11896       "           0x22        "
11897       $           0x24        $
11898       `           0x60        `
11899       '           0x27        '
11900
11901       File  names  can  also  not start or end with the following characters.
11902       These only get replaced if they are the first or last character in  the
11903       name:
11904
11905       Character   Value   Replacement
11906       ────────────────────────────────
11907       SP          0x20         ␠
11908
11909       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
11910       view/#invalid-utf8), as they can't be used in JSON strings.
11911
11912   Standard Options
11913       Here are the standard options specific to fichier (1Fichier).
11914
11915   --fichier-api-key
11916       Your API Key, get it from https://1fichier.com/console/params.pl
11917
11918       • Config: api_key
11919
11920       • Env Var: RCLONE_FICHIER_API_KEY
11921
11922       • Type: string
11923
11924       • Default: ""
11925
11926   Advanced Options
11927       Here are the advanced options specific to fichier (1Fichier).
11928
11929   --fichier-shared-folder
11930       If you want to download a shared folder, add this parameter
11931
11932       • Config: shared_folder
11933
11934       • Env Var: RCLONE_FICHIER_SHARED_FOLDER
11935
11936       • Type: string
11937
11938       • Default: ""
11939
11940   --fichier-encoding
11941       This sets the encoding for the backend.
11942
11943       See: the encoding section  in  the  overview  (https://rclone.org/over
11944       view/#encoding) for more info.
11945
11946       • Config: encoding
11947
11948       • Env Var: RCLONE_FICHIER_ENCODING
11949
11950       • Type: MultiEncoder
11951
11952       • Default:    Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,Back‐
11953         Slash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot
11954
11955   Limitations
11956       rclone about is not supported by the 1Fichier backend.  Backends  with‐
11957       out  this capability cannot determine free space for an rclone mount or
11958       use policy mfs (most free space) as a member of an rclone union remote.
11959
11960       See   List   of   backends   that   do   not   support   rclone   about
11961       (https://rclone.org/overview/#optional-features)   See   rclone   about
11962       (https://rclone.org/commands/rclone_about/)
11963
11964   Alias
11965       The alias remote provides a new name for another remote.
11966
11967       Paths may be as deep as required or a local path, e.g.  remote:directo‐
11968       ry/subdirectory or /directory/subdirectory.
11969
11970       During the initial setup with rclone config you will specify the target
11971       remote.  The target remote can either be a local path  or  another  re‐
11972       mote.
11973
11974       Subfolders  can be used in target remote.  Assume an alias remote named
11975       backup with the target mydrive:private/backup.  Invoking  rclone  mkdir
11976       backup:desktop  is  exactly  the  same  as  invoking  rclone  mkdir my‐
11977       drive:private/backup/desktop.
11978
11979       There will be no special handling of  paths  containing  ..   segments.
11980       Invoking rclone mkdir backup:../desktop is exactly the same as invoking
11981       rclone mkdir mydrive:private/backup/../desktop.  The empty path is  not
11982       allowed as a remote.  To alias the current directory use . instead.
11983
11984       Here  is  an  example  of  how to make an alias called remote for local
11985       folder.  First run:
11986
11987               rclone config
11988
11989       This will guide you through an interactive setup process:
11990
11991              No remotes found - make a new one
11992              n) New remote
11993              s) Set configuration password
11994              q) Quit config
11995              n/s/q> n
11996              name> remote
11997              Type of storage to configure.
11998              Choose a number from below, or type in your own value
11999              [snip]
12000              XX / Alias for an existing remote
12001                 \ "alias"
12002              [snip]
12003              Storage> alias
12004              Remote or path to alias.
12005              Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".
12006              remote> /mnt/storage/backup
12007              Remote config
12008              --------------------
12009              [remote]
12010              remote = /mnt/storage/backup
12011              --------------------
12012              y) Yes this is OK
12013              e) Edit this remote
12014              d) Delete this remote
12015              y/e/d> y
12016              Current remotes:
12017
12018              Name                 Type
12019              ====                 ====
12020              remote               alias
12021
12022              e) Edit existing remote
12023              n) New remote
12024              d) Delete remote
12025              r) Rename remote
12026              c) Copy remote
12027              s) Set configuration password
12028              q) Quit config
12029              e/n/d/r/c/s/q> q
12030
12031       Once configured you can then use rclone like this,
12032
12033       List directories in top level in /mnt/storage/backup
12034
12035              rclone lsd remote:
12036
12037       List all the files in /mnt/storage/backup
12038
12039              rclone ls remote:
12040
12041       Copy another local directory to the alias directory called source
12042
12043              rclone copy /home/source remote:source
12044
12045   Standard Options
12046       Here are the standard options specific to alias (Alias for an  existing
12047       remote).
12048
12049   --alias-remote
12050       Remote  or  path  to  alias.   Can  be  "myremote:path/to/dir",  "myre‐
12051       mote:bucket", "myremote:" or "/local/path".
12052
12053       • Config: remote
12054
12055       • Env Var: RCLONE_ALIAS_REMOTE
12056
12057       • Type: string
12058
12059       • Default: ""
12060
12061   Amazon Drive
12062       Amazon Drive, formerly known as Amazon Cloud Drive, is a cloud  storage
12063       service run by Amazon for consumers.
12064
12065   Status
12066       Important:  rclone  supports Amazon Drive only if you have your own set
12067       of  API  keys.   Unfortunately  the  Amazon  Drive  developer   program
12068       (https://developer.amazon.com/amazon-drive)  is  now  closed to new en‐
12069       tries so if you don't already have your own set of keys you will not be
12070       able to use rclone with Amazon Drive.
12071
12072       For  the  history on why rclone no longer has a set of Amazon Drive API
12073       keys see the forum  (https://forum.rclone.org/t/rclone-has-been-banned-
12074       from-amazon-drive/2314).
12075
12076       If  you  happen to know anyone who works at Amazon then please ask them
12077       to re-instate rclone into the Amazon Drive developer program - thanks!
12078
12079   Setup
12080       The initial setup for Amazon Drive involves getting a token from Amazon
12081       which  you need to do in your browser.  rclone config walks you through
12082       it.
12083
12084       The configuration process for Amazon Drive may involve using  an  oauth
12085       proxy  (https://github.com/ncw/oauthproxy).   This  is used to keep the
12086       Amazon credentials out of the source code.  The proxy runs in  Google's
12087       very  secure  App  Engine environment and doesn't store any credentials
12088       which pass through it.
12089
12090       Since rclone doesn't currently have its own Amazon Drive credentials so
12091       you  will either need to have your own client_id and client_secret with
12092       Amazon Drive, or use a third party oauth proxy in which case  you  will
12093       need to enter client_id, client_secret, auth_url and token_url.
12094
12095       Note also if you are not using Amazon's auth_url and token_url, (ie you
12096       filled in something for those) then if setting up on a  remote  machine
12097       you  can  only  use  the  copying  the  config  method of configuration
12098       (https://rclone.org/remote_setup/#configuring-by-copying-the-config-
12099       file) - rclone authorize will not work.
12100
12101       Here is an example of how to make a remote called remote.  First run:
12102
12103               rclone config
12104
12105       This will guide you through an interactive setup process:
12106
12107              No remotes found - make a new one
12108              n) New remote
12109              r) Rename remote
12110              c) Copy remote
12111              s) Set configuration password
12112              q) Quit config
12113              n/r/c/s/q> n
12114              name> remote
12115              Type of storage to configure.
12116              Choose a number from below, or type in your own value
12117              [snip]
12118              XX / Amazon Drive
12119                 \ "amazon cloud drive"
12120              [snip]
12121              Storage> amazon cloud drive
12122              Amazon Application Client Id - required.
12123              client_id> your client ID goes here
12124              Amazon Application Client Secret - required.
12125              client_secret> your client secret goes here
12126              Auth server URL - leave blank to use Amazon's.
12127              auth_url> Optional auth URL
12128              Token server url - leave blank to use Amazon's.
12129              token_url> Optional token URL
12130              Remote config
12131              Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
12132              Use auto config?
12133               * Say Y if not sure
12134               * Say N if you are working on a remote or headless machine
12135              y) Yes
12136              n) No
12137              y/n> y
12138              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
12139              Log in and authorize rclone for access
12140              Waiting for code...
12141              Got code
12142              --------------------
12143              [remote]
12144              client_id = your client ID goes here
12145              client_secret = your client secret goes here
12146              auth_url = Optional auth URL
12147              token_url = Optional token URL
12148              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","refresh_token":"xxxxxxxxxxxxxxxxxx","expiry":"2015-09-06T16:07:39.658438471+01:00"}
12149              --------------------
12150              y) Yes this is OK
12151              e) Edit this remote
12152              d) Delete this remote
12153              y/e/d> y
12154
12155       See the remote setup docs (https://rclone.org/remote_setup/) for how to
12156       set it up on a machine with no Internet browser available.
12157
12158       Note that rclone runs a webserver on your local machine to collect  the
12159       token as returned from Amazon.  This only runs from the moment it opens
12160       your browser to the moment you get back the verification code.  This is
12161       on  http://127.0.0.1:53682/  and  this it may require you to unblock it
12162       temporarily if you are running a host firewall.
12163
12164       Once configured you can then use rclone like this,
12165
12166       List directories in top level of your Amazon Drive
12167
12168              rclone lsd remote:
12169
12170       List all the files in your Amazon Drive
12171
12172              rclone ls remote:
12173
12174       To copy a local directory to an Amazon Drive directory called backup
12175
12176              rclone copy /home/source remote:backup
12177
12178   Modified time and MD5SUMs
12179       Amazon Drive doesn't allow modification times to be changed via the API
12180       so these won't be accurate or used for syncing.
12181
12182       It  does  store  MD5SUMs  so  for a more accurate sync, you can use the
12183       --checksum flag.
12184
12185   Restricted filename characters
12186       Character   Value   Replacement
12187       ────────────────────────────────
12188       NUL         0x00         ␀
12189       /           0x2F        /
12190
12191       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
12192       view/#invalid-utf8), as they can't be used in JSON strings.
12193
12194   Deleting files
12195       Any  files  you  delete  with  rclone will end up in the trash.  Amazon
12196       don't provide an API to permanently delete  files,  nor  to  empty  the
12197       trash, so you will have to do that with one of Amazon's apps or via the
12198       Amazon Drive website.  As of November 17, 2016, files are automatically
12199       deleted by Amazon from the trash after 30 days.
12200
12201   Using with non .com Amazon accounts
12202       Let's  say  you  usually  use amazon.co.uk.  When you authenticate with
12203       rclone it will take you to an amazon.com page to  log  in.   Your  ama‐
12204       zon.co.uk email and password should work here just fine.
12205
12206   Standard Options
12207       Here  are  the  standard options specific to amazon cloud drive (Amazon
12208       Drive).
12209
12210   --acd-client-id
12211       OAuth Client Id Leave blank normally.
12212
12213       • Config: client_id
12214
12215       • Env Var: RCLONE_ACD_CLIENT_ID
12216
12217       • Type: string
12218
12219       • Default: ""
12220
12221   --acd-client-secret
12222       OAuth Client Secret Leave blank normally.
12223
12224       • Config: client_secret
12225
12226       • Env Var: RCLONE_ACD_CLIENT_SECRET
12227
12228       • Type: string
12229
12230       • Default: ""
12231
12232   Advanced Options
12233       Here are the advanced options specific to amazon  cloud  drive  (Amazon
12234       Drive).
12235
12236   --acd-token
12237       OAuth Access Token as a JSON blob.
12238
12239       • Config: token
12240
12241       • Env Var: RCLONE_ACD_TOKEN
12242
12243       • Type: string
12244
12245       • Default: ""
12246
12247   --acd-auth-url
12248       Auth server URL.  Leave blank to use the provider defaults.
12249
12250       • Config: auth_url
12251
12252       • Env Var: RCLONE_ACD_AUTH_URL
12253
12254       • Type: string
12255
12256       • Default: ""
12257
12258   --acd-token-url
12259       Token server url.  Leave blank to use the provider defaults.
12260
12261       • Config: token_url
12262
12263       • Env Var: RCLONE_ACD_TOKEN_URL
12264
12265       • Type: string
12266
12267       • Default: ""
12268
12269   --acd-checkpoint
12270       Checkpoint for internal polling (debug).
12271
12272       • Config: checkpoint
12273
12274       • Env Var: RCLONE_ACD_CHECKPOINT
12275
12276       • Type: string
12277
12278       • Default: ""
12279
12280   --acd-upload-wait-per-gb
12281       Additional time per GB to wait after a failed complete upload to see if
12282       it appears.
12283
12284       Sometimes Amazon Drive gives an error when a file has  been  fully  up‐
12285       loaded  but the file appears anyway after a little while.  This happens
12286       sometimes for files over 1GB in size and nearly every  time  for  files
12287       bigger  than  10GB.   This parameter controls the time rclone waits for
12288       the file to appear.
12289
12290       The default value for this parameter is 3 minutes per GB, so by default
12291       it  will  wait  3  minutes for every GB uploaded to see if the file ap‐
12292       pears.
12293
12294       You can disable this feature by setting it to 0.  This may  cause  con‐
12295       flict errors as rclone retries the failed upload but the file will most
12296       likely appear correctly eventually.
12297
12298       These values were determined empirically by observing lots  of  uploads
12299       of big files for a range of file sizes.
12300
12301       Upload  with  the "-v" flag to see more info about what rclone is doing
12302       in this situation.
12303
12304       • Config: upload_wait_per_gb
12305
12306       • Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB
12307
12308       • Type: Duration
12309
12310       • Default: 3m0s
12311
12312   --acd-templink-threshold
12313       Files >= this size will be downloaded via their tempLink.
12314
12315       Files this size or more will be downloaded via their "tempLink".   This
12316       is to work around a problem with Amazon Drive which blocks downloads of
12317       files bigger than about 10GB.   The  default  for  this  is  9GB  which
12318       shouldn't need to be changed.
12319
12320       To  download  files  above this threshold, rclone requests a "tempLink"
12321       which downloads the file through a temporary URL directly from the  un‐
12322       derlying S3 storage.
12323
12324       • Config: templink_threshold
12325
12326       • Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD
12327
12328       • Type: SizeSuffix
12329
12330       • Default: 9G
12331
12332   --acd-encoding
12333       This sets the encoding for the backend.
12334
12335       See:  the  encoding  section  in the overview (https://rclone.org/over
12336       view/#encoding) for more info.
12337
12338       • Config: encoding
12339
12340       • Env Var: RCLONE_ACD_ENCODING
12341
12342       • Type: MultiEncoder
12343
12344       • Default: Slash,InvalidUtf8,Dot
12345
12346   Limitations
12347       Note that Amazon Drive is case insensitive so you  can't  have  a  file
12348       called "Hello.doc" and one called "hello.doc".
12349
12350       Amazon  Drive  has  rate  limiting so you may notice errors in the sync
12351       (429 errors).  rclone will automatically retry the sync up to  3  times
12352       by default (see --retries flag) which should hopefully work around this
12353       problem.
12354
12355       Amazon Drive has an internal limit of file sizes that can  be  uploaded
12356       to  the service.  This limit is not officially published, but all files
12357       larger than this will fail.
12358
12359       At the time of writing (Jan 2016) is in the  area  of  50GB  per  file.
12360       This means that larger files are likely to fail.
12361
12362       Unfortunately  there  is  no way for rclone to see that this failure is
12363       because of file size, so it will retry  the  operation,  as  any  other
12364       failure.   To avoid this problem, use --max-size 50000M option to limit
12365       the maximum size of uploaded files.   Note  that  --max-size  does  not
12366       split files into segments, it only ignores files over this size.
12367
12368       rclone  about  is  not supported by the Amazon Drive backend.  Backends
12369       without this capability cannot determine free space for an rclone mount
12370       or  use policy mfs (most free space) as a member of an rclone union re‐
12371       mote.
12372
12373       See   List   of   backends   that   do   not   support   rclone   about
12374       (https://rclone.org/overview/#optional-features)   See   rclone   about
12375       (https://rclone.org/commands/rclone_about/)
12376
12377   Amazon S3 Storage Providers
12378       The S3 backend can be used with a number of different providers:
12379
12380       • AWS S3
12381
12382       • Alibaba Cloud (Aliyun) Object Storage System (OSS)
12383
12384       • Ceph
12385
12386       • DigitalOcean Spaces
12387
12388       • Dreamhost
12389
12390       • IBM COS S3
12391
12392       • Minio
12393
12394       • Scaleway
12395
12396       • StackPath
12397
12398       • Tencent Cloud Object Storage (COS)
12399
12400       • Wasabi
12401
12402       Paths are specified as remote:bucket (or remote: for the lsd  command.)
12403       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
12404
12405       Once  you  have made a remote (see the provider specific section above)
12406       you can use it like this:
12407
12408       See all buckets
12409
12410              rclone lsd remote:
12411
12412       Make a new bucket
12413
12414              rclone mkdir remote:bucket
12415
12416       List the contents of a bucket
12417
12418              rclone ls remote:bucket
12419
12420       Sync /home/local/directory to the remote bucket,  deleting  any  excess
12421       files in the bucket.
12422
12423              rclone sync -i /home/local/directory remote:bucket
12424
12425   AWS S3
12426       Here is an example of making an s3 configuration.  First run
12427
12428              rclone config
12429
12430       This will guide you through an interactive setup process.
12431
12432              No remotes found - make a new one
12433              n) New remote
12434              s) Set configuration password
12435              q) Quit config
12436              n/s/q> n
12437              name> remote
12438              Type of storage to configure.
12439              Choose a number from below, or type in your own value
12440              [snip]
12441              XX / Amazon S3 Compliant Storage Providers including AWS, Ceph, Dreamhost, IBM COS, Minio, and Tencent COS
12442                 \ "s3"
12443              [snip]
12444              Storage> s3
12445              Choose your S3 provider.
12446              Choose a number from below, or type in your own value
12447               1 / Amazon Web Services (AWS) S3
12448                 \ "AWS"
12449               2 / Ceph Object Storage
12450                 \ "Ceph"
12451               3 / Digital Ocean Spaces
12452                 \ "DigitalOcean"
12453               4 / Dreamhost DreamObjects
12454                 \ "Dreamhost"
12455               5 / IBM COS S3
12456                 \ "IBMCOS"
12457               6 / Minio Object Storage
12458                 \ "Minio"
12459               7 / Wasabi Object Storage
12460                 \ "Wasabi"
12461               8 / Any other S3 compatible provider
12462                 \ "Other"
12463              provider> 1
12464              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
12465              Choose a number from below, or type in your own value
12466               1 / Enter AWS credentials in the next step
12467                 \ "false"
12468               2 / Get AWS credentials from the environment (env vars or IAM)
12469                 \ "true"
12470              env_auth> 1
12471              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
12472              access_key_id> XXX
12473              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
12474              secret_access_key> YYY
12475              Region to connect to.
12476              Choose a number from below, or type in your own value
12477                 / The default endpoint - a good choice if you are unsure.
12478               1 | US Region, Northern Virginia, or Pacific Northwest.
12479                 | Leave location constraint empty.
12480                 \ "us-east-1"
12481                 / US East (Ohio) Region
12482               2 | Needs location constraint us-east-2.
12483                 \ "us-east-2"
12484                 / US West (Oregon) Region
12485               3 | Needs location constraint us-west-2.
12486                 \ "us-west-2"
12487                 / US West (Northern California) Region
12488               4 | Needs location constraint us-west-1.
12489                 \ "us-west-1"
12490                 / Canada (Central) Region
12491               5 | Needs location constraint ca-central-1.
12492                 \ "ca-central-1"
12493                 / EU (Ireland) Region
12494               6 | Needs location constraint EU or eu-west-1.
12495                 \ "eu-west-1"
12496                 / EU (London) Region
12497               7 | Needs location constraint eu-west-2.
12498                 \ "eu-west-2"
12499                 / EU (Frankfurt) Region
12500               8 | Needs location constraint eu-central-1.
12501                 \ "eu-central-1"
12502                 / Asia Pacific (Singapore) Region
12503               9 | Needs location constraint ap-southeast-1.
12504                 \ "ap-southeast-1"
12505                 / Asia Pacific (Sydney) Region
12506              10 | Needs location constraint ap-southeast-2.
12507                 \ "ap-southeast-2"
12508                 / Asia Pacific (Tokyo) Region
12509              11 | Needs location constraint ap-northeast-1.
12510                 \ "ap-northeast-1"
12511                 / Asia Pacific (Seoul)
12512              12 | Needs location constraint ap-northeast-2.
12513                 \ "ap-northeast-2"
12514                 / Asia Pacific (Mumbai)
12515              13 | Needs location constraint ap-south-1.
12516                 \ "ap-south-1"
12517                 / Asia Pacific (Hong Kong) Region
12518              14 | Needs location constraint ap-east-1.
12519                 \ "ap-east-1"
12520                 / South America (Sao Paulo) Region
12521              15 | Needs location constraint sa-east-1.
12522                 \ "sa-east-1"
12523              region> 1
12524              Endpoint for S3 API.
12525              Leave blank if using AWS to use the default endpoint for the region.
12526              endpoint>
12527              Location constraint - must be set to match the Region. Used when creating buckets only.
12528              Choose a number from below, or type in your own value
12529               1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
12530                 \ ""
12531               2 / US East (Ohio) Region.
12532                 \ "us-east-2"
12533               3 / US West (Oregon) Region.
12534                 \ "us-west-2"
12535               4 / US West (Northern California) Region.
12536                 \ "us-west-1"
12537               5 / Canada (Central) Region.
12538                 \ "ca-central-1"
12539               6 / EU (Ireland) Region.
12540                 \ "eu-west-1"
12541               7 / EU (London) Region.
12542                 \ "eu-west-2"
12543               8 / EU Region.
12544                 \ "EU"
12545               9 / Asia Pacific (Singapore) Region.
12546                 \ "ap-southeast-1"
12547              10 / Asia Pacific (Sydney) Region.
12548                 \ "ap-southeast-2"
12549              11 / Asia Pacific (Tokyo) Region.
12550                 \ "ap-northeast-1"
12551              12 / Asia Pacific (Seoul)
12552                 \ "ap-northeast-2"
12553              13 / Asia Pacific (Mumbai)
12554                 \ "ap-south-1"
12555              14 / Asia Pacific (Hong Kong)
12556                 \ "ap-east-1"
12557              15 / South America (Sao Paulo) Region.
12558                 \ "sa-east-1"
12559              location_constraint> 1
12560              Canned ACL used when creating buckets and/or storing objects in S3.
12561              For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
12562              Choose a number from below, or type in your own value
12563               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
12564                 \ "private"
12565               2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
12566                 \ "public-read"
12567                 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
12568               3 | Granting this on a bucket is generally not recommended.
12569                 \ "public-read-write"
12570               4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
12571                 \ "authenticated-read"
12572                 / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
12573               5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
12574                 \ "bucket-owner-read"
12575                 / Both the object owner and the bucket owner get FULL_CONTROL over the object.
12576               6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
12577                 \ "bucket-owner-full-control"
12578              acl> 1
12579              The server-side encryption algorithm used when storing this object in S3.
12580              Choose a number from below, or type in your own value
12581               1 / None
12582                 \ ""
12583               2 / AES256
12584                 \ "AES256"
12585              server_side_encryption> 1
12586              The storage class to use when storing objects in S3.
12587              Choose a number from below, or type in your own value
12588               1 / Default
12589                 \ ""
12590               2 / Standard storage class
12591                 \ "STANDARD"
12592               3 / Reduced redundancy storage class
12593                 \ "REDUCED_REDUNDANCY"
12594               4 / Standard Infrequent Access storage class
12595                 \ "STANDARD_IA"
12596               5 / One Zone Infrequent Access storage class
12597                 \ "ONEZONE_IA"
12598               6 / Glacier storage class
12599                 \ "GLACIER"
12600               7 / Glacier Deep Archive storage class
12601                 \ "DEEP_ARCHIVE"
12602               8 / Intelligent-Tiering storage class
12603                 \ "INTELLIGENT_TIERING"
12604              storage_class> 1
12605              Remote config
12606              --------------------
12607              [remote]
12608              type = s3
12609              provider = AWS
12610              env_auth = false
12611              access_key_id = XXX
12612              secret_access_key = YYY
12613              region = us-east-1
12614              endpoint =
12615              location_constraint =
12616              acl = private
12617              server_side_encryption =
12618              storage_class =
12619              --------------------
12620              y) Yes this is OK
12621              e) Edit this remote
12622              d) Delete this remote
12623              y/e/d>
12624
12625   Modified time
12626       The   modified   time   is   stored   as  metadata  on  the  object  as
12627       X-Amz-Meta-Mtime as floating point since the epoch accurate to 1 ns.
12628
12629       If the modification time needs to be updated  rclone  will  attempt  to
12630       perform a server side copy to update the modification if the object can
12631       be copied in a single part.  In the case the object is larger than  5Gb
12632       or is in Glacier or Glacier Deep Archive storage the object will be up‐
12633       loaded rather than copied.
12634
12635       Note that reading this from the object takes an additional HEAD request
12636       as the metadata isn't returned in object listings.
12637
12638   Reducing costs
12639   Avoiding HEAD requests to read the modification time
12640       By  default  rclone will use the modification time of objects stored in
12641       S3 for syncing.  This is stored in object metadata which  unfortunately
12642       takes an extra HEAD request to read which can be expensive (in time and
12643       money).
12644
12645       The modification time is used by default for all  operations  that  re‐
12646       quire  checking  the time a file was last updated.  It allows rclone to
12647       treat the remote more like a true filesystem, but it is inefficient  on
12648       S3 because it requires an extra API call to retrieve the metadata.
12649
12650       The  extra  API calls can be avoided when syncing (using rclone sync or
12651       rclone copy) in a few different ways, each with its own tradeoffs.
12652
12653       • --size-only
12654
12655         • Only checks the size of files.
12656
12657         • Uses no extra transactions.
12658
12659         • If the file doesn't change size then rclone  won't  detect  it  has
12660           changed.
12661
12662         • rclone sync --size-only /path/to/source s3:bucket
12663
12664       • --checksum
12665
12666         • Checks the size and MD5 checksum of files.
12667
12668         • Uses no extra transactions.
12669
12670         • The most accurate detection of changes possible.
12671
12672         • Will cause the source to read an MD5 checksum which, if it is a lo‐
12673           cal disk, will cause lots of disk activity.
12674
12675         • If the source and destination are both S3 this is  the  recommended
12676           flag to use for maximum efficiency.
12677
12678         • rclone sync --checksum /path/to/source s3:bucket
12679
12680       • --update --use-server-modtime
12681
12682         • Uses no extra transactions.
12683
12684         • Modification time becomes the time the object was uploaded.
12685
12686         • For many operations this is sufficient to determine if it needs up‐
12687           loading.
12688
12689         • Using --update along with --use-server-modtime,  avoids  the  extra
12690           API  call  and uploads files whose local modification time is newer
12691           than the time it was last uploaded.
12692
12693         • Files created with timestamps in the past will  be  missed  by  the
12694           sync.
12695
12696         • rclone sync --update --use-server-modtime /path/to/source s3:bucket
12697
12698       These  flags  can  and should be used in combination with --fast-list -
12699       see below.
12700
12701       If using rclone mount or any command using the VFS  (eg  rclone  serve)
12702       commands  then  you might want to consider using the VFS flag --no-mod‐
12703       time which will stop rclone reading the modification time for every ob‐
12704       ject.   You  could  also use --use-server-modtime if you are happy with
12705       the modification times of the objects being the time of upload.
12706
12707   Avoiding GET requests to read directory listings
12708       Rclone's default directory traversal is to process each directory indi‐
12709       vidually.    This   takes  one  API  call  per  directory.   Using  the
12710       --fast-list flag will read all info about the the objects  into  memory
12711       first  using a smaller number of API calls (one per 1000 objects).  See
12712       the rclone docs (https://rclone.org/docs/#fast-list) for more details.
12713
12714              rclone sync --fast-list --checksum /path/to/source s3:bucket
12715
12716       --fast-list trades off API transactions for memory  use.   As  a  rough
12717       guide  rclone uses 1k of memory per object stored, so using --fast-list
12718       on a sync of a million objects will use roughly 1 GB of RAM.
12719
12720       If you are only copying a small number of files into a  big  repository
12721       then  using  --no-traverse is a good idea.  This finds objects directly
12722       instead of through directory listings.  You can do a "top-up" sync very
12723       cheaply by using --max-age and --no-traverse to copy only recent files,
12724       eg
12725
12726              rclone copy --min-age 24h --no-traverse /path/to/source s3:bucket
12727
12728       You'd then do a full rclone sync less often.
12729
12730       Note that --fast-list isn't required in the top-up sync.
12731
12732   Avoiding HEAD requests after PUT
12733       By default rclone will HEAD every object it uploads.  It does  this  to
12734       check the object got uploaded correctly.
12735
12736       You  can disable this with the --s3-no-head option - see there for more
12737       details.
12738
12739       Setting this flag increases the chance for undetected upload failures.
12740
12741   Hashes
12742       For small objects which weren't uploaded as multipart uploads  (objects
12743       sized below --s3-upload-cutoff if uploaded with rclone) rclone uses the
12744       ETag: header as an MD5 checksum.
12745
12746       However for objects which were uploaded as multipart  uploads  or  with
12747       server  side encryption (SSE-AWS or SSE-C) the ETag header is no longer
12748       the MD5 sum of the data, so rclone adds an additional piece of metadata
12749       X-Amz-Meta-Md5chksum  which  is  a base64 encoded MD5 hash (in the same
12750       format as is required for Content-MD5).
12751
12752       For large objects, calculating this hash can take some time so the  ad‐
12753       dition  of  this hash can be disabled with --s3-disable-checksum.  This
12754       will mean that these objects do not have an MD5 checksum.
12755
12756       Note that reading this from the object takes an additional HEAD request
12757       as the metadata isn't returned in object listings.
12758
12759   Cleanup
12760       If  you  run  rclone  cleanup s3:bucket then it will remove all pending
12761       multipart uploads older than 24 hours.  You can use the -i flag to  see
12762       exactly what it will do.  If you want more control over the expiry date
12763       then run rclone backend cleanup s3:bucket -o max-age=1h to  expire  all
12764       uploads  older  than  one hour.  You can use rclone backend list-multi‐
12765       part-uploads s3:bucket to see the pending multipart uploads.
12766
12767   Restricted filename characters
12768       S3 allows any valid UTF-8 string as a key.
12769
12770       Invalid UTF-8 bytes will be replaced  (https://rclone.org/overview/#in‐
12771       valid-utf8), as they can't be used in XML.
12772
12773       The  following characters are replaced since these are problematic when
12774       dealing with the REST API:
12775
12776       Character   Value   Replacement
12777       ────────────────────────────────
12778       NUL         0x00         ␀
12779       /           0x2F        /
12780
12781       The encoding will also encode these file names as they  don't  seem  to
12782       work with the SDK properly:
12783
12784       File name   Replacement
12785       ────────────────────────
12786       .               .
12787       ..             ..
12788
12789   Multipart uploads
12790       rclone  supports  multipart uploads with S3 which means that it can up‐
12791       load files bigger than 5GB.
12792
12793       Note that files uploaded both with multipart upload and  through  crypt
12794       remotes do not have MD5 sums.
12795
12796       rclone  switches  from  single part uploads to multipart uploads at the
12797       point specified by --s3-upload-cutoff.  This can be a  maximum  of  5GB
12798       and a minimum of 0 (ie always upload multipart files).
12799
12800       The  chunk  sizes  used  in  the  multipart  upload  are  specified  by
12801       --s3-chunk-size and the number of chunks uploaded concurrently is spec‐
12802       ified by --s3-upload-concurrency.
12803
12804       Multipart  uploads  will  use  --transfers  * --s3-upload-concurrency *
12805       --s3-chunk-size extra memory.  Single part uploads  to  not  use  extra
12806       memory.
12807
12808       Single  part transfers can be faster than multipart transfers or slower
12809       depending on your latency from S3 - the more latency, the  more  likely
12810       single part transfers will be faster.
12811
12812       Increasing --s3-upload-concurrency will increase throughput (8 would be
12813       a  sensible  value)  and  increasing  --s3-chunk-size  also   increases
12814       throughput  (16M  would  be sensible).  Increasing either of these will
12815       use more memory.  The default values are high enough to  gain  most  of
12816       the possible performance without using too much memory.
12817
12818   Buckets and Regions
12819       With  Amazon S3 you can list buckets (rclone lsd) using any region, but
12820       you can only access the content of a bucket from the region it was cre‐
12821       ated  in.  If you attempt to access a bucket from the wrong region, you
12822       will get an error, incorrect region, the bucket is not in 'XXX' region.
12823
12824   Authentication
12825       There are a number of ways to supply rclone with a set of  AWS  creden‐
12826       tials, with and without using the environment.
12827
12828       The different authentication methods are tried in this order:
12829
12830       • Directly  in  the  rclone configuration file (env_auth = false in the
12831         config file):
12832
12833         • access_key_id and secret_access_key are required.
12834
12835         • session_token can be optionally set when using AWS STS.
12836
12837       • Runtime configuration (env_auth = true in the config file):
12838
12839         • Export the following environment variables before running rclone:
12840
12841           • Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
12842
12843           • Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
12844
12845           • Session Token: AWS_SESSION_TOKEN (optional)
12846
12847         • Or,  use  a  named  profile   (https://docs.aws.amazon.com/cli/lat
12848           est/userguide/cli-multiple-profiles.html):
12849
12850           • Profile files are standard files used by AWS CLI tools
12851
12852           • By  default  it will use the profile in your home directory (e.g.
12853             ~/.aws/credentials on unix based systems) file and the  "default"
12854             profile, to change set these environment variables:
12855
12856             • AWS_SHARED_CREDENTIALS_FILE to control which file.
12857
12858             • AWS_PROFILE to control which profile to use.
12859
12860         • Or, run rclone in an ECS task with an IAM role (AWS only).
12861
12862         • Or, run rclone on an EC2 instance with an IAM role (AWS only).
12863
12864         • Or,  run  rclone  in an EKS pod with an IAM role that is associated
12865           with a service account (AWS only).
12866
12867       If none of these option actually end up providing rclone with AWS  cre‐
12868       dentials then S3 interaction will be non-authenticated (see below).
12869
12870   S3 Permissions
12871       When  using the sync subcommand of rclone the following minimum permis‐
12872       sions are required to be available on the bucket being written to:
12873
12874       • ListBucket
12875
12876       • DeleteObject
12877
12878       • GetObject
12879
12880       • PutObject
12881
12882       • PutObjectACL
12883
12884       When using the lsd subcommand, the ListAllMyBuckets permission  is  re‐
12885       quired.
12886
12887       Example policy:
12888
12889              {
12890                  "Version": "2012-10-17",
12891                  "Statement": [
12892                      {
12893                          "Effect": "Allow",
12894                          "Principal": {
12895                              "AWS": "arn:aws:iam::USER_SID:user/USER_NAME"
12896                          },
12897                          "Action": [
12898                              "s3:ListBucket",
12899                              "s3:DeleteObject",
12900                              "s3:GetObject",
12901                              "s3:PutObject",
12902                              "s3:PutObjectAcl"
12903                          ],
12904                          "Resource": [
12905                            "arn:aws:s3:::BUCKET_NAME/*",
12906                            "arn:aws:s3:::BUCKET_NAME"
12907                          ]
12908                      },
12909                      {
12910                          "Effect": "Allow",
12911                          "Action": "s3:ListAllMyBuckets",
12912                          "Resource": "arn:aws:s3:::*"
12913                      }
12914                  ]
12915              }
12916
12917       Notes on above:
12918
12919       1. This  is a policy that can be used when creating bucket.  It assumes
12920          that USER_NAME has been created.
12921
12922       2. The Resource entry must include both resource ARNs, as  one  implies
12923          the bucket and the other implies the bucket's objects.
12924
12925       For        reference,        here's       an       Ansible       script
12926       (https://gist.github.com/ebridges/ebfc9042dd7c756cd101cfa807b7ae2b)
12927       that will generate one or more buckets that will work with rclone sync.
12928
12929   Key Management System (KMS)
12930       If  you  are  using  server-side encryption with KMS then you must make
12931       sure rclone is configured with server_side_encryption = aws:kms  other‐
12932       wise you will find you can't transfer small objects - these will create
12933       checksum errors.
12934
12935   Glacier and Glacier Deep Archive
12936       You can upload objects using the glacier storage  class  or  transition
12937       them   to   glacier  using  a  lifecycle  policy  (http://docs.aws.ama
12938       zon.com/AmazonS3/latest/user-guide/create-lifecycle.html).  The  bucket
12939       can still be synced or copied into normally, but if rclone tries to ac‐
12940       cess data from the glacier storage class you will see an error like be‐
12941       low.
12942
12943              2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
12944
12945       In  this  case  you  need  to  restore (http://docs.aws.amazon.com/Ama
12946       zonS3/latest/user-guide/restore-archived-objects.html) the object(s) in
12947       question before using rclone.
12948
12949       Note  that  rclone only speaks the S3 API it does not speak the Glacier
12950       Vault API, so rclone cannot directly access Glacier Vaults.
12951
12952   Standard Options
12953       Here are the standard options specific to s3 (Amazon S3 Compliant Stor‐
12954       age  Providers  including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost,
12955       IBM COS, Minio, and Tencent COS).
12956
12957   --s3-provider
12958       Choose your S3 provider.
12959
12960       • Config: provider
12961
12962       • Env Var: RCLONE_S3_PROVIDER
12963
12964       • Type: string
12965
12966       • Default: ""
12967
12968       • Examples:
12969
12970         • "AWS"
12971
12972           • Amazon Web Services (AWS) S3
12973
12974         • "Alibaba"
12975
12976           • Alibaba Cloud Object Storage System (OSS) formerly Aliyun
12977
12978         • "Ceph"
12979
12980           • Ceph Object Storage
12981
12982         • "DigitalOcean"
12983
12984           • Digital Ocean Spaces
12985
12986         • "Dreamhost"
12987
12988           • Dreamhost DreamObjects
12989
12990         • "IBMCOS"
12991
12992           • IBM COS S3
12993
12994         • "Minio"
12995
12996           • Minio Object Storage
12997
12998         • "Netease"
12999
13000           • Netease Object Storage (NOS)
13001
13002         • "Scaleway"
13003
13004           • Scaleway Object Storage
13005
13006         • "StackPath"
13007
13008           • StackPath Object Storage
13009
13010         • "TencentCOS"
13011
13012           • Tencent Cloud Object Storage (COS)
13013
13014         • "Wasabi"
13015
13016           • Wasabi Object Storage
13017
13018         • "Other"
13019
13020           • Any other S3 compatible provider
13021
13022   --s3-env-auth
13023       Get AWS credentials from runtime (environment variables or EC2/ECS meta
13024       data  if  no  env  vars).  Only applies if access_key_id and secret_ac‐
13025       cess_key is blank.
13026
13027       • Config: env_auth
13028
13029       • Env Var: RCLONE_S3_ENV_AUTH
13030
13031       • Type: bool
13032
13033       • Default: false
13034
13035       • Examples:
13036
13037         • "false"
13038
13039           • Enter AWS credentials in the next step
13040
13041         • "true"
13042
13043           • Get AWS credentials from the environment (env vars or IAM)
13044
13045   --s3-access-key-id
13046       AWS Access Key ID.  Leave blank for anonymous access or runtime creden‐
13047       tials.
13048
13049       • Config: access_key_id
13050
13051       • Env Var: RCLONE_S3_ACCESS_KEY_ID
13052
13053       • Type: string
13054
13055       • Default: ""
13056
13057   --s3-secret-access-key
13058       AWS  Secret  Access  Key (password) Leave blank for anonymous access or
13059       runtime credentials.
13060
13061       • Config: secret_access_key
13062
13063       • Env Var: RCLONE_S3_SECRET_ACCESS_KEY
13064
13065       • Type: string
13066
13067       • Default: ""
13068
13069   --s3-region
13070       Region to connect to.
13071
13072       • Config: region
13073
13074       • Env Var: RCLONE_S3_REGION
13075
13076       • Type: string
13077
13078       • Default: ""
13079
13080       • Examples:
13081
13082         • "us-east-1"
13083
13084           • The default endpoint - a good choice if you are unsure.
13085
13086           • US Region, Northern Virginia, or Pacific Northwest.
13087
13088           • Leave location constraint empty.
13089
13090         • "us-east-2"
13091
13092           • US East (Ohio) Region
13093
13094           • Needs location constraint us-east-2.
13095
13096         • "us-west-1"
13097
13098           • US West (Northern California) Region
13099
13100           • Needs location constraint us-west-1.
13101
13102         • "us-west-2"
13103
13104           • US West (Oregon) Region
13105
13106           • Needs location constraint us-west-2.
13107
13108         • "ca-central-1"
13109
13110           • Canada (Central) Region
13111
13112           • Needs location constraint ca-central-1.
13113
13114         • "eu-west-1"
13115
13116           • EU (Ireland) Region
13117
13118           • Needs location constraint EU or eu-west-1.
13119
13120         • "eu-west-2"
13121
13122           • EU (London) Region
13123
13124           • Needs location constraint eu-west-2.
13125
13126         • "eu-west-3"
13127
13128           • EU (Paris) Region
13129
13130           • Needs location constraint eu-west-3.
13131
13132         • "eu-north-1"
13133
13134           • EU (Stockholm) Region
13135
13136           • Needs location constraint eu-north-1.
13137
13138         • "eu-south-1"
13139
13140           • EU (Milan) Region
13141
13142           • Needs location constraint eu-south-1.
13143
13144         • "eu-central-1"
13145
13146           • EU (Frankfurt) Region
13147
13148           • Needs location constraint eu-central-1.
13149
13150         • "ap-southeast-1"
13151
13152           • Asia Pacific (Singapore) Region
13153
13154           • Needs location constraint ap-southeast-1.
13155
13156         • "ap-southeast-2"
13157
13158           • Asia Pacific (Sydney) Region
13159
13160           • Needs location constraint ap-southeast-2.
13161
13162         • "ap-northeast-1"
13163
13164           • Asia Pacific (Tokyo) Region
13165
13166           • Needs location constraint ap-northeast-1.
13167
13168         • "ap-northeast-2"
13169
13170           • Asia Pacific (Seoul)
13171
13172           • Needs location constraint ap-northeast-2.
13173
13174         • "ap-northeast-3"
13175
13176           • Asia Pacific (Osaka-Local)
13177
13178           • Needs location constraint ap-northeast-3.
13179
13180         • "ap-south-1"
13181
13182           • Asia Pacific (Mumbai)
13183
13184           • Needs location constraint ap-south-1.
13185
13186         • "ap-east-1"
13187
13188           • Asia Pacific (Hong Kong) Region
13189
13190           • Needs location constraint ap-east-1.
13191
13192         • "sa-east-1"
13193
13194           • South America (Sao Paulo) Region
13195
13196           • Needs location constraint sa-east-1.
13197
13198         • "me-south-1"
13199
13200           • Middle East (Bahrain) Region
13201
13202           • Needs location constraint me-south-1.
13203
13204         • "af-south-1"
13205
13206           • Africa (Cape Town) Region
13207
13208           • Needs location constraint af-south-1.
13209
13210         • "cn-north-1"
13211
13212           • China (Beijing) Region
13213
13214           • Needs location constraint cn-north-1.
13215
13216         • "cn-northwest-1"
13217
13218           • China (Ningxia) Region
13219
13220           • Needs location constraint cn-northwest-1.
13221
13222         • "us-gov-east-1"
13223
13224           • AWS GovCloud (US-East) Region
13225
13226           • Needs location constraint us-gov-east-1.
13227
13228         • "us-gov-west-1"
13229
13230           • AWS GovCloud (US) Region
13231
13232           • Needs location constraint us-gov-west-1.
13233
13234   --s3-region
13235       Region to connect to.
13236
13237       • Config: region
13238
13239       • Env Var: RCLONE_S3_REGION
13240
13241       • Type: string
13242
13243       • Default: ""
13244
13245       • Examples:
13246
13247         • "nl-ams"
13248
13249           • Amsterdam, The Netherlands
13250
13251         • "fr-par"
13252
13253           • Paris, France
13254
13255   --s3-region
13256       Region to connect to.  Leave blank if you are using an S3 clone and you
13257       don't have a region.
13258
13259       • Config: region
13260
13261       • Env Var: RCLONE_S3_REGION
13262
13263       • Type: string
13264
13265       • Default: ""
13266
13267       • Examples:
13268
13269         • ""
13270
13271           • Use this if unsure.  Will use v4 signatures and an empty region.
13272
13273         • "other-v2-signature"
13274
13275           • Use  this  only  if v4 signatures don't work, e.g.  pre Jewel/v10
13276             CEPH.
13277
13278   --s3-endpoint
13279       Endpoint for S3 API.  Leave blank if using AWS to use the default  end‐
13280       point for the region.
13281
13282       • Config: endpoint
13283
13284       • Env Var: RCLONE_S3_ENDPOINT
13285
13286       • Type: string
13287
13288       • Default: ""
13289
13290   --s3-endpoint
13291       Endpoint for IBM COS S3 API.  Specify if using an IBM COS On Premise.
13292
13293       • Config: endpoint
13294
13295       • Env Var: RCLONE_S3_ENDPOINT
13296
13297       • Type: string
13298
13299       • Default: ""
13300
13301       • Examples:
13302
13303         • "s3.us.cloud-object-storage.appdomain.cloud"
13304
13305           • US Cross Region Endpoint
13306
13307         • "s3.dal.us.cloud-object-storage.appdomain.cloud"
13308
13309           • US Cross Region Dallas Endpoint
13310
13311         • "s3.wdc.us.cloud-object-storage.appdomain.cloud"
13312
13313           • US Cross Region Washington DC Endpoint
13314
13315         • "s3.sjc.us.cloud-object-storage.appdomain.cloud"
13316
13317           • US Cross Region San Jose Endpoint
13318
13319         • "s3.private.us.cloud-object-storage.appdomain.cloud"
13320
13321           • US Cross Region Private Endpoint
13322
13323         • "s3.private.dal.us.cloud-object-storage.appdomain.cloud"
13324
13325           • US Cross Region Dallas Private Endpoint
13326
13327         • "s3.private.wdc.us.cloud-object-storage.appdomain.cloud"
13328
13329           • US Cross Region Washington DC Private Endpoint
13330
13331         • "s3.private.sjc.us.cloud-object-storage.appdomain.cloud"
13332
13333           • US Cross Region San Jose Private Endpoint
13334
13335         • "s3.us-east.cloud-object-storage.appdomain.cloud"
13336
13337           • US Region East Endpoint
13338
13339         • "s3.private.us-east.cloud-object-storage.appdomain.cloud"
13340
13341           • US Region East Private Endpoint
13342
13343         • "s3.us-south.cloud-object-storage.appdomain.cloud"
13344
13345           • US Region South Endpoint
13346
13347         • "s3.private.us-south.cloud-object-storage.appdomain.cloud"
13348
13349           • US Region South Private Endpoint
13350
13351         • "s3.eu.cloud-object-storage.appdomain.cloud"
13352
13353           • EU Cross Region Endpoint
13354
13355         • "s3.fra.eu.cloud-object-storage.appdomain.cloud"
13356
13357           • EU Cross Region Frankfurt Endpoint
13358
13359         • "s3.mil.eu.cloud-object-storage.appdomain.cloud"
13360
13361           • EU Cross Region Milan Endpoint
13362
13363         • "s3.ams.eu.cloud-object-storage.appdomain.cloud"
13364
13365           • EU Cross Region Amsterdam Endpoint
13366
13367         • "s3.private.eu.cloud-object-storage.appdomain.cloud"
13368
13369           • EU Cross Region Private Endpoint
13370
13371         • "s3.private.fra.eu.cloud-object-storage.appdomain.cloud"
13372
13373           • EU Cross Region Frankfurt Private Endpoint
13374
13375         • "s3.private.mil.eu.cloud-object-storage.appdomain.cloud"
13376
13377           • EU Cross Region Milan Private Endpoint
13378
13379         • "s3.private.ams.eu.cloud-object-storage.appdomain.cloud"
13380
13381           • EU Cross Region Amsterdam Private Endpoint
13382
13383         • "s3.eu-gb.cloud-object-storage.appdomain.cloud"
13384
13385           • Great Britain Endpoint
13386
13387         • "s3.private.eu-gb.cloud-object-storage.appdomain.cloud"
13388
13389           • Great Britain Private Endpoint
13390
13391         • "s3.eu-de.cloud-object-storage.appdomain.cloud"
13392
13393           • EU Region DE Endpoint
13394
13395         • "s3.private.eu-de.cloud-object-storage.appdomain.cloud"
13396
13397           • EU Region DE Private Endpoint
13398
13399         • "s3.ap.cloud-object-storage.appdomain.cloud"
13400
13401           • APAC Cross Regional Endpoint
13402
13403         • "s3.tok.ap.cloud-object-storage.appdomain.cloud"
13404
13405           • APAC Cross Regional Tokyo Endpoint
13406
13407         • "s3.hkg.ap.cloud-object-storage.appdomain.cloud"
13408
13409           • APAC Cross Regional HongKong Endpoint
13410
13411         • "s3.seo.ap.cloud-object-storage.appdomain.cloud"
13412
13413           • APAC Cross Regional Seoul Endpoint
13414
13415         • "s3.private.ap.cloud-object-storage.appdomain.cloud"
13416
13417           • APAC Cross Regional Private Endpoint
13418
13419         • "s3.private.tok.ap.cloud-object-storage.appdomain.cloud"
13420
13421           • APAC Cross Regional Tokyo Private Endpoint
13422
13423         • "s3.private.hkg.ap.cloud-object-storage.appdomain.cloud"
13424
13425           • APAC Cross Regional HongKong Private Endpoint
13426
13427         • "s3.private.seo.ap.cloud-object-storage.appdomain.cloud"
13428
13429           • APAC Cross Regional Seoul Private Endpoint
13430
13431         • "s3.jp-tok.cloud-object-storage.appdomain.cloud"
13432
13433           • APAC Region Japan Endpoint
13434
13435         • "s3.private.jp-tok.cloud-object-storage.appdomain.cloud"
13436
13437           • APAC Region Japan Private Endpoint
13438
13439         • "s3.au-syd.cloud-object-storage.appdomain.cloud"
13440
13441           • APAC Region Australia Endpoint
13442
13443         • "s3.private.au-syd.cloud-object-storage.appdomain.cloud"
13444
13445           • APAC Region Australia Private Endpoint
13446
13447         • "s3.ams03.cloud-object-storage.appdomain.cloud"
13448
13449           • Amsterdam Single Site Endpoint
13450
13451         • "s3.private.ams03.cloud-object-storage.appdomain.cloud"
13452
13453           • Amsterdam Single Site Private Endpoint
13454
13455         • "s3.che01.cloud-object-storage.appdomain.cloud"
13456
13457           • Chennai Single Site Endpoint
13458
13459         • "s3.private.che01.cloud-object-storage.appdomain.cloud"
13460
13461           • Chennai Single Site Private Endpoint
13462
13463         • "s3.mel01.cloud-object-storage.appdomain.cloud"
13464
13465           • Melbourne Single Site Endpoint
13466
13467         • "s3.private.mel01.cloud-object-storage.appdomain.cloud"
13468
13469           • Melbourne Single Site Private Endpoint
13470
13471         • "s3.osl01.cloud-object-storage.appdomain.cloud"
13472
13473           • Oslo Single Site Endpoint
13474
13475         • "s3.private.osl01.cloud-object-storage.appdomain.cloud"
13476
13477           • Oslo Single Site Private Endpoint
13478
13479         • "s3.tor01.cloud-object-storage.appdomain.cloud"
13480
13481           • Toronto Single Site Endpoint
13482
13483         • "s3.private.tor01.cloud-object-storage.appdomain.cloud"
13484
13485           • Toronto Single Site Private Endpoint
13486
13487         • "s3.seo01.cloud-object-storage.appdomain.cloud"
13488
13489           • Seoul Single Site Endpoint
13490
13491         • "s3.private.seo01.cloud-object-storage.appdomain.cloud"
13492
13493           • Seoul Single Site Private Endpoint
13494
13495         • "s3.mon01.cloud-object-storage.appdomain.cloud"
13496
13497           • Montreal Single Site Endpoint
13498
13499         • "s3.private.mon01.cloud-object-storage.appdomain.cloud"
13500
13501           • Montreal Single Site Private Endpoint
13502
13503         • "s3.mex01.cloud-object-storage.appdomain.cloud"
13504
13505           • Mexico Single Site Endpoint
13506
13507         • "s3.private.mex01.cloud-object-storage.appdomain.cloud"
13508
13509           • Mexico Single Site Private Endpoint
13510
13511         • "s3.sjc04.cloud-object-storage.appdomain.cloud"
13512
13513           • San Jose Single Site Endpoint
13514
13515         • "s3.private.sjc04.cloud-object-storage.appdomain.cloud"
13516
13517           • San Jose Single Site Private Endpoint
13518
13519         • "s3.mil01.cloud-object-storage.appdomain.cloud"
13520
13521           • Milan Single Site Endpoint
13522
13523         • "s3.private.mil01.cloud-object-storage.appdomain.cloud"
13524
13525           • Milan Single Site Private Endpoint
13526
13527         • "s3.hkg02.cloud-object-storage.appdomain.cloud"
13528
13529           • Hong Kong Single Site Endpoint
13530
13531         • "s3.private.hkg02.cloud-object-storage.appdomain.cloud"
13532
13533           • Hong Kong Single Site Private Endpoint
13534
13535         • "s3.par01.cloud-object-storage.appdomain.cloud"
13536
13537           • Paris Single Site Endpoint
13538
13539         • "s3.private.par01.cloud-object-storage.appdomain.cloud"
13540
13541           • Paris Single Site Private Endpoint
13542
13543         • "s3.sng01.cloud-object-storage.appdomain.cloud"
13544
13545           • Singapore Single Site Endpoint
13546
13547         • "s3.private.sng01.cloud-object-storage.appdomain.cloud"
13548
13549           • Singapore Single Site Private Endpoint
13550
13551   --s3-endpoint
13552       Endpoint for OSS API.
13553
13554       • Config: endpoint
13555
13556       • Env Var: RCLONE_S3_ENDPOINT
13557
13558       • Type: string
13559
13560       • Default: ""
13561
13562       • Examples:
13563
13564         • "oss-cn-hangzhou.aliyuncs.com"
13565
13566           • East China 1 (Hangzhou)
13567
13568         • "oss-cn-shanghai.aliyuncs.com"
13569
13570           • East China 2 (Shanghai)
13571
13572         • "oss-cn-qingdao.aliyuncs.com"
13573
13574           • North China 1 (Qingdao)
13575
13576         • "oss-cn-beijing.aliyuncs.com"
13577
13578           • North China 2 (Beijing)
13579
13580         • "oss-cn-zhangjiakou.aliyuncs.com"
13581
13582           • North China 3 (Zhangjiakou)
13583
13584         • "oss-cn-huhehaote.aliyuncs.com"
13585
13586           • North China 5 (Huhehaote)
13587
13588         • "oss-cn-shenzhen.aliyuncs.com"
13589
13590           • South China 1 (Shenzhen)
13591
13592         • "oss-cn-hongkong.aliyuncs.com"
13593
13594           • Hong Kong (Hong Kong)
13595
13596         • "oss-us-west-1.aliyuncs.com"
13597
13598           • US West 1 (Silicon Valley)
13599
13600         • "oss-us-east-1.aliyuncs.com"
13601
13602           • US East 1 (Virginia)
13603
13604         • "oss-ap-southeast-1.aliyuncs.com"
13605
13606           • Southeast Asia Southeast 1 (Singapore)
13607
13608         • "oss-ap-southeast-2.aliyuncs.com"
13609
13610           • Asia Pacific Southeast 2 (Sydney)
13611
13612         • "oss-ap-southeast-3.aliyuncs.com"
13613
13614           • Southeast Asia Southeast 3 (Kuala Lumpur)
13615
13616         • "oss-ap-southeast-5.aliyuncs.com"
13617
13618           • Asia Pacific Southeast 5 (Jakarta)
13619
13620         • "oss-ap-northeast-1.aliyuncs.com"
13621
13622           • Asia Pacific Northeast 1 (Japan)
13623
13624         • "oss-ap-south-1.aliyuncs.com"
13625
13626           • Asia Pacific South 1 (Mumbai)
13627
13628         • "oss-eu-central-1.aliyuncs.com"
13629
13630           • Central Europe 1 (Frankfurt)
13631
13632         • "oss-eu-west-1.aliyuncs.com"
13633
13634           • West Europe (London)
13635
13636         • "oss-me-east-1.aliyuncs.com"
13637
13638           • Middle East 1 (Dubai)
13639
13640   --s3-endpoint
13641       Endpoint for Scaleway Object Storage.
13642
13643       • Config: endpoint
13644
13645       • Env Var: RCLONE_S3_ENDPOINT
13646
13647       • Type: string
13648
13649       • Default: ""
13650
13651       • Examples:
13652
13653         • "s3.nl-ams.scw.cloud"
13654
13655           • Amsterdam Endpoint
13656
13657         • "s3.fr-par.scw.cloud"
13658
13659           • Paris Endpoint
13660
13661   --s3-endpoint
13662       Endpoint for StackPath Object Storage.
13663
13664       • Config: endpoint
13665
13666       • Env Var: RCLONE_S3_ENDPOINT
13667
13668       • Type: string
13669
13670       • Default: ""
13671
13672       • Examples:
13673
13674         • "s3.us-east-2.stackpathstorage.com"
13675
13676           • US East Endpoint
13677
13678         • "s3.us-west-1.stackpathstorage.com"
13679
13680           • US West Endpoint
13681
13682         • "s3.eu-central-1.stackpathstorage.com"
13683
13684           • EU Endpoint
13685
13686   --s3-endpoint
13687       Endpoint for Tencent COS API.
13688
13689       • Config: endpoint
13690
13691       • Env Var: RCLONE_S3_ENDPOINT
13692
13693       • Type: string
13694
13695       • Default: ""
13696
13697       • Examples:
13698
13699         • "cos.ap-beijing.myqcloud.com"
13700
13701           • Beijing Region.
13702
13703         • "cos.ap-nanjing.myqcloud.com"
13704
13705           • Nanjing Region.
13706
13707         • "cos.ap-shanghai.myqcloud.com"
13708
13709           • Shanghai Region.
13710
13711         • "cos.ap-guangzhou.myqcloud.com"
13712
13713           • Guangzhou Region.
13714
13715         • "cos.ap-nanjing.myqcloud.com"
13716
13717           • Nanjing Region.
13718
13719         • "cos.ap-chengdu.myqcloud.com"
13720
13721           • Chengdu Region.
13722
13723         • "cos.ap-chongqing.myqcloud.com"
13724
13725           • Chongqing Region.
13726
13727         • "cos.ap-hongkong.myqcloud.com"
13728
13729           • Hong Kong (China) Region.
13730
13731         • "cos.ap-singapore.myqcloud.com"
13732
13733           • Singapore Region.
13734
13735         • "cos.ap-mumbai.myqcloud.com"
13736
13737           • Mumbai Region.
13738
13739         • "cos.ap-seoul.myqcloud.com"
13740
13741           • Seoul Region.
13742
13743         • "cos.ap-bangkok.myqcloud.com"
13744
13745           • Bangkok Region.
13746
13747         • "cos.ap-tokyo.myqcloud.com"
13748
13749           • Tokyo Region.
13750
13751         • "cos.na-siliconvalley.myqcloud.com"
13752
13753           • Silicon Valley Region.
13754
13755         • "cos.na-ashburn.myqcloud.com"
13756
13757           • Virginia Region.
13758
13759         • "cos.na-toronto.myqcloud.com"
13760
13761           • Toronto Region.
13762
13763         • "cos.eu-frankfurt.myqcloud.com"
13764
13765           • Frankfurt Region.
13766
13767         • "cos.eu-moscow.myqcloud.com"
13768
13769           • Moscow Region.
13770
13771         • "cos.accelerate.myqcloud.com"
13772
13773           • Use Tencent COS Accelerate Endpoint.
13774
13775   --s3-endpoint
13776       Endpoint for S3 API.  Required when using an S3 clone.
13777
13778       • Config: endpoint
13779
13780       • Env Var: RCLONE_S3_ENDPOINT
13781
13782       • Type: string
13783
13784       • Default: ""
13785
13786       • Examples:
13787
13788         • "objects-us-east-1.dream.io"
13789
13790           • Dream Objects endpoint
13791
13792         • "nyc3.digitaloceanspaces.com"
13793
13794           • Digital Ocean Spaces New York 3
13795
13796         • "ams3.digitaloceanspaces.com"
13797
13798           • Digital Ocean Spaces Amsterdam 3
13799
13800         • "sgp1.digitaloceanspaces.com"
13801
13802           • Digital Ocean Spaces Singapore 1
13803
13804         • "s3.wasabisys.com"
13805
13806           • Wasabi US East endpoint
13807
13808         • "s3.us-west-1.wasabisys.com"
13809
13810           • Wasabi US West endpoint
13811
13812         • "s3.eu-central-1.wasabisys.com"
13813
13814           • Wasabi EU Central endpoint
13815
13816   --s3-location-constraint
13817       Location  constraint - must be set to match the Region.  Used when cre‐
13818       ating buckets only.
13819
13820       • Config: location_constraint
13821
13822       • Env Var: RCLONE_S3_LOCATION_CONSTRAINT
13823
13824       • Type: string
13825
13826       • Default: ""
13827
13828       • Examples:
13829
13830         • ""
13831
13832           • Empty for US Region, Northern Virginia, or Pacific Northwest.
13833
13834         • "us-east-2"
13835
13836           • US East (Ohio) Region.
13837
13838         • "us-west-1"
13839
13840           • US West (Northern California) Region.
13841
13842         • "us-west-2"
13843
13844           • US West (Oregon) Region.
13845
13846         • "ca-central-1"
13847
13848           • Canada (Central) Region.
13849
13850         • "eu-west-1"
13851
13852           • EU (Ireland) Region.
13853
13854         • "eu-west-2"
13855
13856           • EU (London) Region.
13857
13858         • "eu-west-3"
13859
13860           • EU (Paris) Region.
13861
13862         • "eu-north-1"
13863
13864           • EU (Stockholm) Region.
13865
13866         • "eu-south-1"
13867
13868           • EU (Milan) Region.
13869
13870         • "EU"
13871
13872           • EU Region.
13873
13874         • "ap-southeast-1"
13875
13876           • Asia Pacific (Singapore) Region.
13877
13878         • "ap-southeast-2"
13879
13880           • Asia Pacific (Sydney) Region.
13881
13882         • "ap-northeast-1"
13883
13884           • Asia Pacific (Tokyo) Region.
13885
13886         • "ap-northeast-2"
13887
13888           • Asia Pacific (Seoul) Region.
13889
13890         • "ap-northeast-3"
13891
13892           • Asia Pacific (Osaka-Local) Region.
13893
13894         • "ap-south-1"
13895
13896           • Asia Pacific (Mumbai) Region.
13897
13898         • "ap-east-1"
13899
13900           • Asia Pacific (Hong Kong) Region.
13901
13902         • "sa-east-1"
13903
13904           • South America (Sao Paulo) Region.
13905
13906         • "me-south-1"
13907
13908           • Middle East (Bahrain) Region.
13909
13910         • "af-south-1"
13911
13912           • Africa (Cape Town) Region.
13913
13914         • "cn-north-1"
13915
13916           • China (Beijing) Region
13917
13918         • "cn-northwest-1"
13919
13920           • China (Ningxia) Region.
13921
13922         • "us-gov-east-1"
13923
13924           • AWS GovCloud (US-East) Region.
13925
13926         • "us-gov-west-1"
13927
13928           • AWS GovCloud (US) Region.
13929
13930   --s3-location-constraint
13931       Location constraint - must match endpoint when using IBM Cloud  Public.
13932       For on-prem COS, do not make a selection from this list, hit enter
13933
13934       • Config: location_constraint
13935
13936       • Env Var: RCLONE_S3_LOCATION_CONSTRAINT
13937
13938       • Type: string
13939
13940       • Default: ""
13941
13942       • Examples:
13943
13944         • "us-standard"
13945
13946           • US Cross Region Standard
13947
13948         • "us-vault"
13949
13950           • US Cross Region Vault
13951
13952         • "us-cold"
13953
13954           • US Cross Region Cold
13955
13956         • "us-flex"
13957
13958           • US Cross Region Flex
13959
13960         • "us-east-standard"
13961
13962           • US East Region Standard
13963
13964         • "us-east-vault"
13965
13966           • US East Region Vault
13967
13968         • "us-east-cold"
13969
13970           • US East Region Cold
13971
13972         • "us-east-flex"
13973
13974           • US East Region Flex
13975
13976         • "us-south-standard"
13977
13978           • US South Region Standard
13979
13980         • "us-south-vault"
13981
13982           • US South Region Vault
13983
13984         • "us-south-cold"
13985
13986           • US South Region Cold
13987
13988         • "us-south-flex"
13989
13990           • US South Region Flex
13991
13992         • "eu-standard"
13993
13994           • EU Cross Region Standard
13995
13996         • "eu-vault"
13997
13998           • EU Cross Region Vault
13999
14000         • "eu-cold"
14001
14002           • EU Cross Region Cold
14003
14004         • "eu-flex"
14005
14006           • EU Cross Region Flex
14007
14008         • "eu-gb-standard"
14009
14010           • Great Britain Standard
14011
14012         • "eu-gb-vault"
14013
14014           • Great Britain Vault
14015
14016         • "eu-gb-cold"
14017
14018           • Great Britain Cold
14019
14020         • "eu-gb-flex"
14021
14022           • Great Britain Flex
14023
14024         • "ap-standard"
14025
14026           • APAC Standard
14027
14028         • "ap-vault"
14029
14030           • APAC Vault
14031
14032         • "ap-cold"
14033
14034           • APAC Cold
14035
14036         • "ap-flex"
14037
14038           • APAC Flex
14039
14040         • "mel01-standard"
14041
14042           • Melbourne Standard
14043
14044         • "mel01-vault"
14045
14046           • Melbourne Vault
14047
14048         • "mel01-cold"
14049
14050           • Melbourne Cold
14051
14052         • "mel01-flex"
14053
14054           • Melbourne Flex
14055
14056         • "tor01-standard"
14057
14058           • Toronto Standard
14059
14060         • "tor01-vault"
14061
14062           • Toronto Vault
14063
14064         • "tor01-cold"
14065
14066           • Toronto Cold
14067
14068         • "tor01-flex"
14069
14070           • Toronto Flex
14071
14072   --s3-location-constraint
14073       Location  constraint - must be set to match the Region.  Leave blank if
14074       not sure.  Used when creating buckets only.
14075
14076       • Config: location_constraint
14077
14078       • Env Var: RCLONE_S3_LOCATION_CONSTRAINT
14079
14080       • Type: string
14081
14082       • Default: ""
14083
14084   --s3-acl
14085       Canned ACL used when creating buckets and storing or copying objects.
14086
14087       This ACL is used for creating objects and if bucket_acl isn't set,  for
14088       creating buckets too.
14089
14090       For    more    info   visit   https://docs.aws.amazon.com/AmazonS3/lat
14091       est/dev/acl-overview.html#canned-acl
14092
14093       Note that this ACL is applied when server-side copying  objects  as  S3
14094       doesn't copy the ACL from the source but rather writes a fresh one.
14095
14096       • Config: acl
14097
14098       • Env Var: RCLONE_S3_ACL
14099
14100       • Type: string
14101
14102       • Default: ""
14103
14104       • Examples:
14105
14106         • "default"
14107
14108           • Owner  gets  Full_CONTROL.   No  one  else has access rights (de‐
14109             fault).
14110
14111         • "private"
14112
14113           • Owner gets FULL_CONTROL.  No one  else  has  access  rights  (de‐
14114             fault).
14115
14116         • "public-read"
14117
14118           • Owner gets FULL_CONTROL.  The AllUsers group gets READ access.
14119
14120         • "public-read-write"
14121
14122           • Owner  gets FULL_CONTROL.  The AllUsers group gets READ and WRITE
14123             access.
14124
14125           • Granting this on a bucket is generally not recommended.
14126
14127         • "authenticated-read"
14128
14129           • Owner gets FULL_CONTROL.  The AuthenticatedUsers group gets  READ
14130             access.
14131
14132         • "bucket-owner-read"
14133
14134           • Object owner gets FULL_CONTROL.  Bucket owner gets READ access.
14135
14136           • If  you specify this canned ACL when creating a bucket, Amazon S3
14137             ignores it.
14138
14139         • "bucket-owner-full-control"
14140
14141           • Both the object owner and the bucket owner get FULL_CONTROL  over
14142             the object.
14143
14144           • If  you specify this canned ACL when creating a bucket, Amazon S3
14145             ignores it.
14146
14147         • "private"
14148
14149           • Owner gets FULL_CONTROL.  No one  else  has  access  rights  (de‐
14150             fault).   This  acl  is available on IBM Cloud (Infra), IBM Cloud
14151             (Storage), On-Premise COS
14152
14153         • "public-read"
14154
14155           • Owner gets FULL_CONTROL.  The AllUsers group  gets  READ  access.
14156             This  acl is available on IBM Cloud (Infra), IBM Cloud (Storage),
14157             On-Premise IBM COS
14158
14159         • "public-read-write"
14160
14161           • Owner gets FULL_CONTROL.  The AllUsers group gets READ and  WRITE
14162             access.   This  acl is available on IBM Cloud (Infra), On-Premise
14163             IBM COS
14164
14165         • "authenticated-read"
14166
14167           • Owner gets FULL_CONTROL.  The AuthenticatedUsers group gets  READ
14168             access.   Not supported on Buckets.  This acl is available on IBM
14169             Cloud (Infra) and On-Premise IBM COS
14170
14171   --s3-server-side-encryption
14172       The server-side encryption algorithm used when storing this  object  in
14173       S3.
14174
14175       • Config: server_side_encryption
14176
14177       • Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
14178
14179       • Type: string
14180
14181       • Default: ""
14182
14183       • Examples:
14184
14185         • ""
14186
14187           • None
14188
14189         • "AES256"
14190
14191           • AES256
14192
14193         • "aws:kms"
14194
14195           • aws:kms
14196
14197   --s3-sse-kms-key-id
14198       If using KMS ID you must provide the ARN of Key.
14199
14200       • Config: sse_kms_key_id
14201
14202       • Env Var: RCLONE_S3_SSE_KMS_KEY_ID
14203
14204       • Type: string
14205
14206       • Default: ""
14207
14208       • Examples:
14209
14210         • ""
14211
14212           • None
14213
14214         • "arn:aws:kms:us-east-1:*"
14215
14216           • arn:aws:kms:*
14217
14218   --s3-storage-class
14219       The storage class to use when storing new objects in S3.
14220
14221       • Config: storage_class
14222
14223       • Env Var: RCLONE_S3_STORAGE_CLASS
14224
14225       • Type: string
14226
14227       • Default: ""
14228
14229       • Examples:
14230
14231         • ""
14232
14233           • Default
14234
14235         • "STANDARD"
14236
14237           • Standard storage class
14238
14239         • "REDUCED_REDUNDANCY"
14240
14241           • Reduced redundancy storage class
14242
14243         • "STANDARD_IA"
14244
14245           • Standard Infrequent Access storage class
14246
14247         • "ONEZONE_IA"
14248
14249           • One Zone Infrequent Access storage class
14250
14251         • "GLACIER"
14252
14253           • Glacier storage class
14254
14255         • "DEEP_ARCHIVE"
14256
14257           • Glacier Deep Archive storage class
14258
14259         • "INTELLIGENT_TIERING"
14260
14261           • Intelligent-Tiering storage class
14262
14263   --s3-storage-class
14264       The storage class to use when storing new objects in OSS.
14265
14266       • Config: storage_class
14267
14268       • Env Var: RCLONE_S3_STORAGE_CLASS
14269
14270       • Type: string
14271
14272       • Default: ""
14273
14274       • Examples:
14275
14276         • ""
14277
14278           • Default
14279
14280         • "STANDARD"
14281
14282           • Standard storage class
14283
14284         • "GLACIER"
14285
14286           • Archive storage mode.
14287
14288         • "STANDARD_IA"
14289
14290           • Infrequent access storage mode.
14291
14292   --s3-storage-class
14293       The storage class to use when storing new objects in Tencent COS.
14294
14295       • Config: storage_class
14296
14297       • Env Var: RCLONE_S3_STORAGE_CLASS
14298
14299       • Type: string
14300
14301       • Default: ""
14302
14303       • Examples:
14304
14305         • ""
14306
14307           • Default
14308
14309         • "STANDARD"
14310
14311           • Standard storage class
14312
14313         • "ARCHIVE"
14314
14315           • Archive storage mode.
14316
14317         • "STANDARD_IA"
14318
14319           • Infrequent access storage mode.
14320
14321   --s3-storage-class
14322       The storage class to use when storing new objects in S3.
14323
14324       • Config: storage_class
14325
14326       • Env Var: RCLONE_S3_STORAGE_CLASS
14327
14328       • Type: string
14329
14330       • Default: ""
14331
14332       • Examples:
14333
14334         • ""
14335
14336           • Default
14337
14338         • "STANDARD"
14339
14340           • The Standard class for any upload; suitable for on-demand content
14341             like streaming or CDN.
14342
14343         • "GLACIER"
14344
14345           • Archived storage; prices are lower, but it needs to  be  restored
14346             first to be accessed.
14347
14348   Advanced Options
14349       Here are the advanced options specific to s3 (Amazon S3 Compliant Stor‐
14350       age Providers including AWS, Alibaba, Ceph, Digital  Ocean,  Dreamhost,
14351       IBM COS, Minio, and Tencent COS).
14352
14353   --s3-bucket-acl
14354       Canned ACL used when creating buckets.
14355
14356       For    more    info   visit   https://docs.aws.amazon.com/AmazonS3/lat
14357       est/dev/acl-overview.html#canned-acl
14358
14359       Note that this ACL is applied when only when creating buckets.   If  it
14360       isn't set then "acl" is used instead.
14361
14362       • Config: bucket_acl
14363
14364       • Env Var: RCLONE_S3_BUCKET_ACL
14365
14366       • Type: string
14367
14368       • Default: ""
14369
14370       • Examples:
14371
14372         • "private"
14373
14374           • Owner  gets  FULL_CONTROL.   No  one  else has access rights (de‐
14375             fault).
14376
14377         • "public-read"
14378
14379           • Owner gets FULL_CONTROL.  The AllUsers group gets READ access.
14380
14381         • "public-read-write"
14382
14383           • Owner gets FULL_CONTROL.  The AllUsers group gets READ and  WRITE
14384             access.
14385
14386           • Granting this on a bucket is generally not recommended.
14387
14388         • "authenticated-read"
14389
14390           • Owner  gets FULL_CONTROL.  The AuthenticatedUsers group gets READ
14391             access.
14392
14393   --s3-requester-pays
14394       Enables requester pays option when interacting with S3 bucket.
14395
14396       • Config: requester_pays
14397
14398       • Env Var: RCLONE_S3_REQUESTER_PAYS
14399
14400       • Type: bool
14401
14402       • Default: false
14403
14404   --s3-sse-customer-algorithm
14405       If using SSE-C, the server-side encryption algorithm used when  storing
14406       this object in S3.
14407
14408       • Config: sse_customer_algorithm
14409
14410       • Env Var: RCLONE_S3_SSE_CUSTOMER_ALGORITHM
14411
14412       • Type: string
14413
14414       • Default: ""
14415
14416       • Examples:
14417
14418         • ""
14419
14420           • None
14421
14422         • "AES256"
14423
14424           • AES256
14425
14426   --s3-sse-customer-key
14427       If  using  SSE-C you must provide the secret encryption key used to en‐
14428       crypt/decrypt your data.
14429
14430       • Config: sse_customer_key
14431
14432       • Env Var: RCLONE_S3_SSE_CUSTOMER_KEY
14433
14434       • Type: string
14435
14436       • Default: ""
14437
14438       • Examples:
14439
14440         • ""
14441
14442           • None
14443
14444   --s3-sse-customer-key-md5
14445       If using SSE-C you may provide the secret encryption key  MD5  checksum
14446       (optional).
14447
14448       If  you  leave  it  blank,  this  is  calculated automatically from the
14449       sse_customer_key provided.
14450
14451       • Config: sse_customer_key_md5
14452
14453       • Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_MD5
14454
14455       • Type: string
14456
14457       • Default: ""
14458
14459       • Examples:
14460
14461         • ""
14462
14463           • None
14464
14465   --s3-upload-cutoff
14466       Cutoff for switching to chunked upload
14467
14468       Any files larger than this will be uploaded in  chunks  of  chunk_size.
14469       The minimum is 0 and the maximum is 5GB.
14470
14471       • Config: upload_cutoff
14472
14473       • Env Var: RCLONE_S3_UPLOAD_CUTOFF
14474
14475       • Type: SizeSuffix
14476
14477       • Default: 200M
14478
14479   --s3-chunk-size
14480       Chunk size to use for uploading.
14481
14482       When  uploading  files  larger than upload_cutoff or files with unknown
14483       size (e.g.  from "rclone rcat"  or  uploaded  with  "rclone  mount"  or
14484       google  photos  or  google docs) they will be uploaded as multipart up‐
14485       loads using this chunk size.
14486
14487       Note that "--s3-upload-concurrency" chunks of this size are buffered in
14488       memory per transfer.
14489
14490       If  you are transferring large files over high-speed links and you have
14491       enough memory, then increasing this will speed up the transfers.
14492
14493       Rclone will automatically increase the  chunk  size  when  uploading  a
14494       large file of known size to stay below the 10,000 chunks limit.
14495
14496       Files  of  unknown  size  are  uploaded with the configured chunk_size.
14497       Since the default chunk size is 5MB and there can  be  at  most  10,000
14498       chunks,  this  means that by default the maximum size of a file you can
14499       stream upload is 48GB.  If you wish to stream upload larger files  then
14500       you will need to increase chunk_size.
14501
14502       • Config: chunk_size
14503
14504       • Env Var: RCLONE_S3_CHUNK_SIZE
14505
14506       • Type: SizeSuffix
14507
14508       • Default: 5M
14509
14510   --s3-max-upload-parts
14511       Maximum number of parts in a multipart upload.
14512
14513       This  option defines the maximum number of multipart chunks to use when
14514       doing a multipart upload.
14515
14516       This can be useful if a service does not support the AWS S3  specifica‐
14517       tion of 10,000 chunks.
14518
14519       Rclone  will  automatically  increase  the  chunk size when uploading a
14520       large file of a known size to stay below this number of chunks limit.
14521
14522       • Config: max_upload_parts
14523
14524       • Env Var: RCLONE_S3_MAX_UPLOAD_PARTS
14525
14526       • Type: int
14527
14528       • Default: 10000
14529
14530   --s3-copy-cutoff
14531       Cutoff for switching to multipart copy
14532
14533       Any files larger than this that need to be server-side copied  will  be
14534       copied in chunks of this size.
14535
14536       The minimum is 0 and the maximum is 5GB.
14537
14538       • Config: copy_cutoff
14539
14540       • Env Var: RCLONE_S3_COPY_CUTOFF
14541
14542       • Type: SizeSuffix
14543
14544       • Default: 4.656G
14545
14546   --s3-disable-checksum
14547       Don't store MD5 checksum with object metadata
14548
14549       Normally rclone will calculate the MD5 checksum of the input before up‐
14550       loading it so it can add it to metadata on the object.  This  is  great
14551       for  data  integrity checking but can cause long delays for large files
14552       to start uploading.
14553
14554       • Config: disable_checksum
14555
14556       • Env Var: RCLONE_S3_DISABLE_CHECKSUM
14557
14558       • Type: bool
14559
14560       • Default: false
14561
14562   --s3-shared-credentials-file
14563       Path to the shared credentials file
14564
14565       If env_auth = true then rclone can use a shared credentials file.
14566
14567       If this variable is empty rclone will look for the  "AWS_SHARED_CREDEN‐
14568       TIALS_FILE" env variable.  If the env value is empty it will default to
14569       the current user's home directory.
14570
14571              Linux/OSX: "$HOME/.aws/credentials"
14572              Windows:   "%USERPROFILE%\.aws\credentials"
14573
14574       • Config: shared_credentials_file
14575
14576       • Env Var: RCLONE_S3_SHARED_CREDENTIALS_FILE
14577
14578       • Type: string
14579
14580       • Default: ""
14581
14582   --s3-profile
14583       Profile to use in the shared credentials file
14584
14585       If env_auth = true then rclone can use a shared credentials file.  This
14586       variable controls which profile is used in that file.
14587
14588       If  empty  it will default to the environment variable "AWS_PROFILE" or
14589       "default" if that environment variable is also not set.
14590
14591       • Config: profile
14592
14593       • Env Var: RCLONE_S3_PROFILE
14594
14595       • Type: string
14596
14597       • Default: ""
14598
14599   --s3-session-token
14600       An AWS session token
14601
14602       • Config: session_token
14603
14604       • Env Var: RCLONE_S3_SESSION_TOKEN
14605
14606       • Type: string
14607
14608       • Default: ""
14609
14610   --s3-upload-concurrency
14611       Concurrency for multipart uploads.
14612
14613       This is the number of chunks of the same file that are uploaded concur‐
14614       rently.
14615
14616       If you are uploading small numbers of large files over high-speed links
14617       and these uploads do not fully utilize your bandwidth, then  increasing
14618       this may help to speed up the transfers.
14619
14620       • Config: upload_concurrency
14621
14622       • Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
14623
14624       • Type: int
14625
14626       • Default: 4
14627
14628   --s3-force-path-style
14629       If true use path style access if false use virtual hosted style.
14630
14631       If  this  is true (the default) then rclone will use path style access,
14632       if false then rclone will use virtual path style.  See the AWS S3  docs
14633       (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#ac‐
14634       cess-bucket-intro) for more info.
14635
14636       Some providers (e.g.  AWS, Aliyun OSS, Netease COS, or Tencent COS) re‐
14637       quire  this  set  to false - rclone will do this automatically based on
14638       the provider setting.
14639
14640       • Config: force_path_style
14641
14642       • Env Var: RCLONE_S3_FORCE_PATH_STYLE
14643
14644       • Type: bool
14645
14646       • Default: true
14647
14648   --s3-v2-auth
14649       If true use v2 authentication.
14650
14651       If this is false (the default) then rclone will use v4  authentication.
14652       If it is set then rclone will use v2 authentication.
14653
14654       Use this only if v4 signatures don't work, e.g.  pre Jewel/v10 CEPH.
14655
14656       • Config: v2_auth
14657
14658       • Env Var: RCLONE_S3_V2_AUTH
14659
14660       • Type: bool
14661
14662       • Default: false
14663
14664   --s3-use-accelerate-endpoint
14665       If true use the AWS S3 accelerated endpoint.
14666
14667       See:  AWS  S3  Transfer  acceleration (https://docs.aws.amazon.com/Ama
14668       zonS3/latest/dev/transfer-acceleration-examples.html)
14669
14670       • Config: use_accelerate_endpoint
14671
14672       • Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT
14673
14674       • Type: bool
14675
14676       • Default: false
14677
14678   --s3-leave-parts-on-error
14679       If true avoid calling abort upload on a failure, leaving  all  success‐
14680       fully uploaded parts on S3 for manual recovery.
14681
14682       It  should  be  set  to true for resuming uploads across different ses‐
14683       sions.
14684
14685       WARNING: Storing parts of an incomplete multipart upload counts towards
14686       space usage on S3 and will add additional costs if not cleaned up.
14687
14688       • Config: leave_parts_on_error
14689
14690       • Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR
14691
14692       • Type: bool
14693
14694       • Default: false
14695
14696   --s3-list-chunk
14697       Size of listing chunk (response list for each ListObject S3 request).
14698
14699       This  option  is  also  known as "MaxKeys", "max-items", or "page-size"
14700       from the AWS S3 specification.  Most  services  truncate  the  response
14701       list  to 1000 objects even if requested more than that.  In AWS S3 this
14702       is  a  global   maximum   and   cannot   be   changed,   see   AWS   S3
14703       (https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html).       In
14704       Ceph, this can be increased with the "rgw list buckets max  chunk"  op‐
14705       tion.
14706
14707       • Config: list_chunk
14708
14709       • Env Var: RCLONE_S3_LIST_CHUNK
14710
14711       • Type: int
14712
14713       • Default: 1000
14714
14715   --s3-no-check-bucket
14716       If set, don't attempt to check the bucket exists or create it
14717
14718       This  can  be useful when trying to minimise the number of transactions
14719       rclone does if you know the bucket exists already.
14720
14721       It can also be needed if the user you are using does  not  have  bucket
14722       creation  permissions.   Before v1.52.0 this would have passed silently
14723       due to a bug.
14724
14725       • Config: no_check_bucket
14726
14727       • Env Var: RCLONE_S3_NO_CHECK_BUCKET
14728
14729       • Type: bool
14730
14731       • Default: false
14732
14733   --s3-no-head
14734       If set, don't HEAD uploaded objects to check integrity
14735
14736       This can be useful when trying to minimise the number  of  transactions
14737       rclone does.
14738
14739       Setting it means that if rclone receives a 200 OK message after upload‐
14740       ing an object with PUT then it will assume that it got uploaded proper‐
14741       ly.
14742
14743       In particular it will assume:
14744
14745       • the  metadata,  including modtime, storage class and content type was
14746         as uploaded
14747
14748       • the size was as uploaded
14749
14750       It reads the following items from the response for a single part PUT:
14751
14752       • the MD5SUM
14753
14754       • The uploaded date
14755
14756       For multipart uploads these items aren't read.
14757
14758       If an source object of unknown length is uploaded then rclone will do a
14759       HEAD request.
14760
14761       Setting  this flag increases the chance for undetected upload failures,
14762       in particular an incorrect size, so it isn't recommended for normal op‐
14763       eration.   In  practice  the  chance of an undetected upload failure is
14764       very small even with this flag.
14765
14766       • Config: no_head
14767
14768       • Env Var: RCLONE_S3_NO_HEAD
14769
14770       • Type: bool
14771
14772       • Default: false
14773
14774   --s3-encoding
14775       This sets the encoding for the backend.
14776
14777       See: the encoding section  in  the  overview  (https://rclone.org/over
14778       view/#encoding) for more info.
14779
14780       • Config: encoding
14781
14782       • Env Var: RCLONE_S3_ENCODING
14783
14784       • Type: MultiEncoder
14785
14786       • Default: Slash,InvalidUtf8,Dot
14787
14788   --s3-memory-pool-flush-time
14789       How  often internal memory buffer pools will be flushed.  Uploads which
14790       requires additional buffers (f.e multipart) will use  memory  pool  for
14791       allocations.  This option controls how often unused buffers will be re‐
14792       moved from the pool.
14793
14794       • Config: memory_pool_flush_time
14795
14796       • Env Var: RCLONE_S3_MEMORY_POOL_FLUSH_TIME
14797
14798       • Type: Duration
14799
14800       • Default: 1m0s
14801
14802   --s3-memory-pool-use-mmap
14803       Whether to use mmap buffers in internal memory pool.
14804
14805       • Config: memory_pool_use_mmap
14806
14807       • Env Var: RCLONE_S3_MEMORY_POOL_USE_MMAP
14808
14809       • Type: bool
14810
14811       • Default: false
14812
14813   --s3-disable-http2
14814       Disable usage of http2 for S3 backends
14815
14816       There is currently an unsolved issue with the s3  (specifically  minio)
14817       backend  and  HTTP/2.   HTTP/2 is enabled by default for the s3 backend
14818       but can be disabled here.  When the issue is solved this flag  will  be
14819       removed.
14820
14821       See:                      https://github.com/rclone/rclone/issues/4673,
14822       https://github.com/rclone/rclone/issues/3631
14823
14824       • Config: disable_http2
14825
14826       • Env Var: RCLONE_S3_DISABLE_HTTP2
14827
14828       • Type: bool
14829
14830       • Default: false
14831
14832   Backend commands
14833       Here are the commands specific to the s3 backend.
14834
14835       Run them with
14836
14837              rclone backend COMMAND remote:
14838
14839       The help below will explain what arguments each command takes.
14840
14841       See   the    "rclone    backend"    command    (https://rclone.org/com
14842       mands/rclone_backend/)  for  more info on how to pass options and argu‐
14843       ments.
14844
14845       These can be run on a running backend using the rc command backend/com‐
14846       mand (https://rclone.org/rc/#backend/command).
14847
14848   restore
14849       Restore objects from GLACIER to normal storage
14850
14851              rclone backend restore remote: [options] [<arguments>+]
14852
14853       This command can be used to restore one or more objects from GLACIER to
14854       normal storage.
14855
14856       Usage Examples:
14857
14858              rclone backend restore s3:bucket/path/to/object [-o priority=PRIORITY] [-o lifetime=DAYS]
14859              rclone backend restore s3:bucket/path/to/directory [-o priority=PRIORITY] [-o lifetime=DAYS]
14860              rclone backend restore s3:bucket [-o priority=PRIORITY] [-o lifetime=DAYS]
14861
14862       This flag also obeys the filters.  Test first with -i/--interactive  or
14863       --dry-run flags
14864
14865              rclone -i backend restore --include "*.txt" s3:bucket/path -o priority=Standard
14866
14867       All the objects shown will be marked for restore, then
14868
14869              rclone backend restore --include "*.txt" s3:bucket/path -o priority=Standard
14870
14871       It  returns  a list of status dictionaries with Remote and Status keys.
14872       The Status will be OK if it was successful or an error message if not.
14873
14874              [
14875                  {
14876                      "Status": "OK",
14877                      "Path": "test.txt"
14878                  },
14879                  {
14880                      "Status": "OK",
14881                      "Path": "test/file4.txt"
14882                  }
14883              ]
14884
14885       Options:
14886
14887       • "description": The optional description for the job.
14888
14889       • "lifetime": Lifetime of the active copy in days
14890
14891       • "priority": Priority of restore: Standard|Expedited|Bulk
14892
14893   list-multipart-uploads
14894       List the unfinished multipart uploads
14895
14896              rclone backend list-multipart-uploads remote: [options] [<arguments>+]
14897
14898       This command lists the unfinished multipart uploads in JSON format.
14899
14900              rclone backend list-multipart s3:bucket/path/to/object
14901
14902       It returns a dictionary of buckets with values as lists  of  unfinished
14903       multipart uploads.
14904
14905       You  can call it with no bucket in which case it lists all bucket, with
14906       a bucket or with a bucket and path.
14907
14908              {
14909                "rclone": [
14910                  {
14911                    "Initiated": "2020-06-26T14:20:36Z",
14912                    "Initiator": {
14913                      "DisplayName": "XXX",
14914                      "ID": "arn:aws:iam::XXX:user/XXX"
14915                    },
14916                    "Key": "KEY",
14917                    "Owner": {
14918                      "DisplayName": null,
14919                      "ID": "XXX"
14920                    },
14921                    "StorageClass": "STANDARD",
14922                    "UploadId": "XXX"
14923                  }
14924                ],
14925                "rclone-1000files": [],
14926                "rclone-dst": []
14927              }
14928
14929   cleanup
14930       Remove unfinished multipart uploads.
14931
14932              rclone backend cleanup remote: [options] [<arguments>+]
14933
14934       This command removes unfinished multipart uploads of age  greater  than
14935       max-age which defaults to 24 hours.
14936
14937       Note  that  you  can  use -i/--dry-run with this command to see what it
14938       would do.
14939
14940              rclone backend cleanup s3:bucket/path/to/object
14941              rclone backend cleanup -o max-age=7w s3:bucket/path/to/object
14942
14943       Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
14944
14945       Options:
14946
14947       • "max-age": Max age of upload to delete
14948
14949   Anonymous access to public buckets
14950       If you want to use rclone to access a public bucket, configure  with  a
14951       blank  access_key_id  and secret_access_key.  Your config should end up
14952       looking like this:
14953
14954              [anons3]
14955              type = s3
14956              provider = AWS
14957              env_auth = false
14958              access_key_id =
14959              secret_access_key =
14960              region = us-east-1
14961              endpoint =
14962              location_constraint =
14963              acl = private
14964              server_side_encryption =
14965              storage_class =
14966
14967       Then use it as normal with the name of the public bucket, e.g.
14968
14969              rclone lsd anons3:1000genomes
14970
14971       You will be able to list and copy data but not upload it.
14972
14973   Ceph
14974       Ceph (https://ceph.com/) is an open source unified, distributed storage
14975       system designed for excellent performance, reliability and scalability.
14976       It has an S3 compatible object storage interface.
14977
14978       To use rclone with Ceph, configure as above but leave the region  blank
14979       and  set  the  endpoint.  You should end up with something like this in
14980       your config:
14981
14982              [ceph]
14983              type = s3
14984              provider = Ceph
14985              env_auth = false
14986              access_key_id = XXX
14987              secret_access_key = YYY
14988              region =
14989              endpoint = https://ceph.endpoint.example.com
14990              location_constraint =
14991              acl =
14992              server_side_encryption =
14993              storage_class =
14994
14995       If you are using an older version of CEPH, e.g.  10.2.x Jewel, then you
14996       may  need  to  supply the parameter --s3-upload-cutoff 0 or put this in
14997       the config file as upload_cutoff 0 to work around a  bug  which  causes
14998       uploading of small files to fail.
14999
15000       Note  also  that Ceph sometimes puts / in the passwords it gives users.
15001       If you read the secret access key using the command line tools you will
15002       get  a  JSON blob with the / escaped as \/.  Make sure you only write /
15003       in the secret access key.
15004
15005       Eg the dump from Ceph looks something like this  (irrelevant  keys  re‐
15006       moved).
15007
15008              {
15009                  "user_id": "xxx",
15010                  "display_name": "xxxx",
15011                  "keys": [
15012                      {
15013                          "user": "xxx",
15014                          "access_key": "xxxxxx",
15015                          "secret_key": "xxxxxx\/xxxx"
15016                      }
15017                  ],
15018              }
15019
15020       Because  this is a json dump, it is encoding the / as \/, so if you use
15021       the secret key as xxxxxx/xxxx it will work fine.
15022
15023   Dreamhost
15024       Dreamhost DreamObjects (https://www.dreamhost.com/cloud/storage/) is an
15025       object storage system based on CEPH.
15026
15027       To  use  rclone with Dreamhost, configure as above but leave the region
15028       blank and set the endpoint.  You should end up with something like this
15029       in your config:
15030
15031              [dreamobjects]
15032              type = s3
15033              provider = DreamHost
15034              env_auth = false
15035              access_key_id = your_access_key
15036              secret_access_key = your_secret_key
15037              region =
15038              endpoint = objects-us-west-1.dream.io
15039              location_constraint =
15040              acl = private
15041              server_side_encryption =
15042              storage_class =
15043
15044   DigitalOcean Spaces
15045       Spaces  (https://www.digitalocean.com/products/object-storage/)  is  an
15046       S3-interoperable        (https://developers.digitalocean.com/documenta
15047       tion/spaces/) object storage service from cloud provider DigitalOcean.
15048
15049       To  connect  to DigitalOcean Spaces you will need an access key and se‐
15050       cret  key.   These  can  be  retrieved  on  the  "Applications  &   API
15051       (https://cloud.digitalocean.com/settings/api/tokens)" page of the Digi‐
15052       talOcean control panel.  They will be needed when  prompted  by  rclone
15053       config for your access_key_id and secret_access_key.
15054
15055       When  prompted  for a region or location_constraint, press enter to use
15056       the default value.  The region must be included in the endpoint setting
15057       (e.g.   nyc3.digitaloceanspaces.com).   The  default values can be used
15058       for other settings.
15059
15060       Going through the whole process of creating a  new  remote  by  running
15061       rclone config, each prompt should be answered as shown below:
15062
15063              Storage> s3
15064              env_auth> 1
15065              access_key_id> YOUR_ACCESS_KEY
15066              secret_access_key> YOUR_SECRET_KEY
15067              region>
15068              endpoint> nyc3.digitaloceanspaces.com
15069              location_constraint>
15070              acl>
15071              storage_class>
15072
15073       The resulting configuration file should look like:
15074
15075              [spaces]
15076              type = s3
15077              provider = DigitalOcean
15078              env_auth = false
15079              access_key_id = YOUR_ACCESS_KEY
15080              secret_access_key = YOUR_SECRET_KEY
15081              region =
15082              endpoint = nyc3.digitaloceanspaces.com
15083              location_constraint =
15084              acl =
15085              server_side_encryption =
15086              storage_class =
15087
15088       Once  configured,  you  can create a new Space and begin copying files.
15089       For example:
15090
15091              rclone mkdir spaces:my-new-space
15092              rclone copy /path/to/files spaces:my-new-space
15093
15094   IBM COS (S3)
15095       Information stored with IBM Cloud Object Storage is encrypted and  dis‐
15096       persed  across  multiple  geographic locations, and accessed through an
15097       implementation of the S3 API.  This service makes use of  the  distrib‐
15098       uted storage technologies provided by IBM’s Cloud Object Storage System
15099       (formerly     Cleversafe).      For     more     information     visit:
15100       (http://www.ibm.com/cloud/object-storage)
15101
15102       To configure access to IBM COS S3, follow the steps below:
15103
15104       1. Run rclone config and select n for a new remote.
15105
15106              2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults
15107              No remotes found - make a new one
15108              n) New remote
15109              s) Set configuration password
15110              q) Quit config
15111              n/s/q> n
15112
15113       2. Enter the name for the configuration
15114
15115              name> <YOUR NAME>
15116
15117       3. Select "s3" storage.
15118
15119          Choose a number from below, or type in your own value
15120              1 / Alias for an existing remote
15121              \ "alias"
15122              2 / Amazon Drive
15123              \ "amazon cloud drive"
15124              3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, Minio, IBM COS)
15125              \ "s3"
15126              4 / Backblaze B2
15127              \ "b2"
15128          [snip]
15129              23 / http Connection
15130              \ "http"
15131          Storage> 3
15132
15133       4. Select IBM COS as the S3 Storage Provider.
15134
15135          Choose the S3 provider.
15136          Choose a number from below, or type in your own value
15137               1 / Choose this option to configure Storage to AWS S3
15138                 \ "AWS"
15139               2 / Choose this option to configure Storage to Ceph Systems
15140               \ "Ceph"
15141               3 /  Choose this option to configure Storage to Dreamhost
15142               \ "Dreamhost"
15143             4 / Choose this option to the configure Storage to IBM COS S3
15144               \ "IBMCOS"
15145               5 / Choose this option to the configure Storage to Minio
15146               \ "Minio"
15147               Provider>4
15148
15149       5. Enter the Access Key and Secret.
15150
15151              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
15152              access_key_id> <>
15153              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
15154              secret_access_key> <>
15155
15156       6. Specify  the  endpoint for IBM COS.  For Public IBM COS, choose from
15157          the option below.  For On Premise IBM COS,  enter  an  endpoint  ad‐
15158          dress.
15159
15160              Endpoint for IBM COS S3 API.
15161              Specify if using an IBM COS On Premise.
15162              Choose a number from below, or type in your own value
15163               1 / US Cross Region Endpoint
15164                 \ "s3-api.us-geo.objectstorage.softlayer.net"
15165               2 / US Cross Region Dallas Endpoint
15166                 \ "s3-api.dal.us-geo.objectstorage.softlayer.net"
15167               3 / US Cross Region Washington DC Endpoint
15168                 \ "s3-api.wdc-us-geo.objectstorage.softlayer.net"
15169               4 / US Cross Region San Jose Endpoint
15170                 \ "s3-api.sjc-us-geo.objectstorage.softlayer.net"
15171               5 / US Cross Region Private Endpoint
15172                 \ "s3-api.us-geo.objectstorage.service.networklayer.com"
15173               6 / US Cross Region Dallas Private Endpoint
15174                 \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
15175               7 / US Cross Region Washington DC Private Endpoint
15176                 \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
15177               8 / US Cross Region San Jose Private Endpoint
15178                 \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
15179               9 / US Region East Endpoint
15180                 \ "s3.us-east.objectstorage.softlayer.net"
15181              10 / US Region East Private Endpoint
15182                 \ "s3.us-east.objectstorage.service.networklayer.com"
15183              11 / US Region South Endpoint
15184          [snip]
15185              34 / Toronto Single Site Private Endpoint
15186                 \ "s3.tor01.objectstorage.service.networklayer.com"
15187              endpoint>1
15188
15189       7. Specify a IBM COS Location Constraint.  The location constraint must
15190          match endpoint when using IBM Cloud Public.  For on-prem COS, do not
15191          make a selection from this list, hit enter
15192
15193               1 / US Cross Region Standard
15194                 \ "us-standard"
15195               2 / US Cross Region Vault
15196                 \ "us-vault"
15197               3 / US Cross Region Cold
15198                 \ "us-cold"
15199               4 / US Cross Region Flex
15200                 \ "us-flex"
15201               5 / US East Region Standard
15202                 \ "us-east-standard"
15203               6 / US East Region Vault
15204                 \ "us-east-vault"
15205               7 / US East Region Cold
15206                 \ "us-east-cold"
15207               8 / US East Region Flex
15208                 \ "us-east-flex"
15209               9 / US South Region Standard
15210                 \ "us-south-standard"
15211              10 / US South Region Vault
15212                 \ "us-south-vault"
15213          [snip]
15214              32 / Toronto Flex
15215                 \ "tor01-flex"
15216          location_constraint>1
15217
15218       9. Specify  a  canned  ACL.  IBM Cloud (Storage) supports "public-read"
15219          and "private".  IBM  Cloud(Infra)  supports  all  the  canned  ACLs.
15220          On-Premise COS supports all the canned ACLs.
15221
15222          Canned ACL used when creating buckets and/or storing objects in S3.
15223          For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
15224          Choose a number from below, or type in your own value
15225                1 / Owner gets FULL_CONTROL. No one else has access rights (default). This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise COS
15226                \ "private"
15227                2  / Owner gets FULL_CONTROL. The AllUsers group gets READ access. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise IBM COS
15228                \ "public-read"
15229                3 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. This acl is available on IBM Cloud (Infra), On-Premise IBM COS
15230                \ "public-read-write"
15231                4  / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. Not supported on Buckets. This acl is available on IBM Cloud (Infra) and On-Premise IBM COS
15232                \ "authenticated-read"
15233          acl> 1
15234
15235       12. Review  the displayed configuration and accept to save the "remote"
15236           then quit.  The config file should look like this
15237
15238               [xxx]
15239               type = s3
15240               Provider = IBMCOS
15241               access_key_id = xxx
15242               secret_access_key = yyy
15243               endpoint = s3-api.us-geo.objectstorage.softlayer.net
15244               location_constraint = us-standard
15245               acl = private
15246
15247       13. Execute rclone commands
15248
15249               1)  Create a bucket.
15250                   rclone mkdir IBM-COS-XREGION:newbucket
15251               2)  List available buckets.
15252                   rclone lsd IBM-COS-XREGION:
15253                   -1 2017-11-08 21:16:22        -1 test
15254                   -1 2018-02-14 20:16:39        -1 newbucket
15255               3)  List contents of a bucket.
15256                   rclone ls IBM-COS-XREGION:newbucket
15257                   18685952 test.exe
15258               4)  Copy a file from local to remote.
15259                   rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
15260               5)  Copy a file from remote to local.
15261                   rclone copy IBM-COS-XREGION:newbucket/file.txt .
15262               6)  Delete a file on remote.
15263                   rclone delete IBM-COS-XREGION:newbucket/file.txt
15264
15265   Minio
15266       Minio (https://minio.io/) is an object storage server built  for  cloud
15267       application developers and devops.
15268
15269       It  is  very easy to install and provides an S3 compatible server which
15270       can be used by rclone.
15271
15272       To  use   it,   install   Minio   following   the   instructions   here
15273       (https://docs.minio.io/docs/minio-quickstart-guide).
15274
15275       When it configures itself Minio will print something like this
15276
15277              Endpoint:  http://192.168.1.106:9000  http://172.23.0.1:9000
15278              AccessKey: USWUXHGYZQYFYFFIT3RE
15279              SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
15280              Region:    us-east-1
15281              SQS ARNs:  arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
15282
15283              Browser Access:
15284                 http://192.168.1.106:9000  http://172.23.0.1:9000
15285
15286              Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
15287                 $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
15288
15289              Object API (Amazon S3 compatible):
15290                 Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
15291                 Java:       https://docs.minio.io/docs/java-client-quickstart-guide
15292                 Python:     https://docs.minio.io/docs/python-client-quickstart-guide
15293                 JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
15294                 .NET:       https://docs.minio.io/docs/dotnet-client-quickstart-guide
15295
15296              Drive Capacity: 26 GiB Free, 165 GiB Total
15297
15298       These details need to go into rclone config like this.  Note that it is
15299       important to put the region in as stated above.
15300
15301              env_auth> 1
15302              access_key_id> USWUXHGYZQYFYFFIT3RE
15303              secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
15304              region> us-east-1
15305              endpoint> http://192.168.1.106:9000
15306              location_constraint>
15307              server_side_encryption>
15308
15309       Which makes the config file look like this
15310
15311              [minio]
15312              type = s3
15313              provider = Minio
15314              env_auth = false
15315              access_key_id = USWUXHGYZQYFYFFIT3RE
15316              secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
15317              region = us-east-1
15318              endpoint = http://192.168.1.106:9000
15319              location_constraint =
15320              server_side_encryption =
15321
15322       So once set up, for example to copy files into a bucket
15323
15324              rclone copy /path/to/files minio:bucket
15325
15326   Scaleway
15327       Scaleway (https://www.scaleway.com/object-storage/) The Object  Storage
15328       platform allows you to store anything from backups, logs and web assets
15329       to documents and photos.  Files can be dropped from the  Scaleway  con‐
15330       sole  or transferred through our API and CLI or using any S3-compatible
15331       tool.
15332
15333       Scaleway provides an S3 interface which can be configured for use  with
15334       rclone like this:
15335
15336              [scaleway]
15337              type = s3
15338              provider = Scaleway
15339              env_auth = false
15340              endpoint = s3.nl-ams.scw.cloud
15341              access_key_id = SCWXXXXXXXXXXXXXX
15342              secret_access_key = 1111111-2222-3333-44444-55555555555555
15343              region = nl-ams
15344              location_constraint =
15345              acl = private
15346              server_side_encryption =
15347              storage_class =
15348
15349   Wasabi
15350       Wasabi (https://wasabi.com) is a cloud-based object storage service for
15351       a broad range of applications and use cases.  Wasabi  is  designed  for
15352       individuals  and  organizations  that require a high-performance, reli‐
15353       able, and secure data storage infrastructure at minimal cost.
15354
15355       Wasabi provides an S3 interface which can be configured  for  use  with
15356       rclone like this.
15357
15358              No remotes found - make a new one
15359              n) New remote
15360              s) Set configuration password
15361              n/s> n
15362              name> wasabi
15363              Type of storage to configure.
15364              Choose a number from below, or type in your own value
15365              [snip]
15366              XX / Amazon S3 (also Dreamhost, Ceph, Minio)
15367                 \ "s3"
15368              [snip]
15369              Storage> s3
15370              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
15371              Choose a number from below, or type in your own value
15372               1 / Enter AWS credentials in the next step
15373                 \ "false"
15374               2 / Get AWS credentials from the environment (env vars or IAM)
15375                 \ "true"
15376              env_auth> 1
15377              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
15378              access_key_id> YOURACCESSKEY
15379              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
15380              secret_access_key> YOURSECRETACCESSKEY
15381              Region to connect to.
15382              Choose a number from below, or type in your own value
15383                 / The default endpoint - a good choice if you are unsure.
15384               1 | US Region, Northern Virginia, or Pacific Northwest.
15385                 | Leave location constraint empty.
15386                 \ "us-east-1"
15387              [snip]
15388              region> us-east-1
15389              Endpoint for S3 API.
15390              Leave blank if using AWS to use the default endpoint for the region.
15391              Specify if using an S3 clone such as Ceph.
15392              endpoint> s3.wasabisys.com
15393              Location constraint - must be set to match the Region. Used when creating buckets only.
15394              Choose a number from below, or type in your own value
15395               1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
15396                 \ ""
15397              [snip]
15398              location_constraint>
15399              Canned ACL used when creating buckets and/or storing objects in S3.
15400              For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
15401              Choose a number from below, or type in your own value
15402               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
15403                 \ "private"
15404              [snip]
15405              acl>
15406              The server-side encryption algorithm used when storing this object in S3.
15407              Choose a number from below, or type in your own value
15408               1 / None
15409                 \ ""
15410               2 / AES256
15411                 \ "AES256"
15412              server_side_encryption>
15413              The storage class to use when storing objects in S3.
15414              Choose a number from below, or type in your own value
15415               1 / Default
15416                 \ ""
15417               2 / Standard storage class
15418                 \ "STANDARD"
15419               3 / Reduced redundancy storage class
15420                 \ "REDUCED_REDUNDANCY"
15421               4 / Standard Infrequent Access storage class
15422                 \ "STANDARD_IA"
15423              storage_class>
15424              Remote config
15425              --------------------
15426              [wasabi]
15427              env_auth = false
15428              access_key_id = YOURACCESSKEY
15429              secret_access_key = YOURSECRETACCESSKEY
15430              region = us-east-1
15431              endpoint = s3.wasabisys.com
15432              location_constraint =
15433              acl =
15434              server_side_encryption =
15435              storage_class =
15436              --------------------
15437              y) Yes this is OK
15438              e) Edit this remote
15439              d) Delete this remote
15440              y/e/d> y
15441
15442       This will leave the config file looking like this.
15443
15444              [wasabi]
15445              type = s3
15446              provider = Wasabi
15447              env_auth = false
15448              access_key_id = YOURACCESSKEY
15449              secret_access_key = YOURSECRETACCESSKEY
15450              region =
15451              endpoint = s3.wasabisys.com
15452              location_constraint =
15453              acl =
15454              server_side_encryption =
15455              storage_class =
15456
15457   Alibaba OSS
15458       Here   is   an   example  of  making  an  Alibaba  Cloud  (Aliyun)  OSS
15459       (https://www.alibabacloud.com/product/oss/) configuration.  First run:
15460
15461              rclone config
15462
15463       This will guide you through an interactive setup process.
15464
15465              No remotes found - make a new one
15466              n) New remote
15467              s) Set configuration password
15468              q) Quit config
15469              n/s/q> n
15470              name> oss
15471              Type of storage to configure.
15472              Enter a string value. Press Enter for the default ("").
15473              Choose a number from below, or type in your own value
15474              [snip]
15475               4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
15476                 \ "s3"
15477              [snip]
15478              Storage> s3
15479              Choose your S3 provider.
15480              Enter a string value. Press Enter for the default ("").
15481              Choose a number from below, or type in your own value
15482               1 / Amazon Web Services (AWS) S3
15483                 \ "AWS"
15484               2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
15485                 \ "Alibaba"
15486               3 / Ceph Object Storage
15487                 \ "Ceph"
15488              [snip]
15489              provider> Alibaba
15490              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
15491              Only applies if access_key_id and secret_access_key is blank.
15492              Enter a boolean value (true or false). Press Enter for the default ("false").
15493              Choose a number from below, or type in your own value
15494               1 / Enter AWS credentials in the next step
15495                 \ "false"
15496               2 / Get AWS credentials from the environment (env vars or IAM)
15497                 \ "true"
15498              env_auth> 1
15499              AWS Access Key ID.
15500              Leave blank for anonymous access or runtime credentials.
15501              Enter a string value. Press Enter for the default ("").
15502              access_key_id> accesskeyid
15503              AWS Secret Access Key (password)
15504              Leave blank for anonymous access or runtime credentials.
15505              Enter a string value. Press Enter for the default ("").
15506              secret_access_key> secretaccesskey
15507              Endpoint for OSS API.
15508              Enter a string value. Press Enter for the default ("").
15509              Choose a number from below, or type in your own value
15510               1 / East China 1 (Hangzhou)
15511                 \ "oss-cn-hangzhou.aliyuncs.com"
15512               2 / East China 2 (Shanghai)
15513                 \ "oss-cn-shanghai.aliyuncs.com"
15514               3 / North China 1 (Qingdao)
15515                 \ "oss-cn-qingdao.aliyuncs.com"
15516              [snip]
15517              endpoint> 1
15518              Canned ACL used when creating buckets and storing or copying objects.
15519
15520              Note that this ACL is applied when server-side copying objects as S3
15521              doesn't copy the ACL from the source but rather writes a fresh one.
15522              Enter a string value. Press Enter for the default ("").
15523              Choose a number from below, or type in your own value
15524               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
15525                 \ "private"
15526               2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
15527                 \ "public-read"
15528                 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
15529              [snip]
15530              acl> 1
15531              The storage class to use when storing new objects in OSS.
15532              Enter a string value. Press Enter for the default ("").
15533              Choose a number from below, or type in your own value
15534               1 / Default
15535                 \ ""
15536               2 / Standard storage class
15537                 \ "STANDARD"
15538               3 / Archive storage mode.
15539                 \ "GLACIER"
15540               4 / Infrequent access storage mode.
15541                 \ "STANDARD_IA"
15542              storage_class> 1
15543              Edit advanced config? (y/n)
15544              y) Yes
15545              n) No
15546              y/n> n
15547              Remote config
15548              --------------------
15549              [oss]
15550              type = s3
15551              provider = Alibaba
15552              env_auth = false
15553              access_key_id = accesskeyid
15554              secret_access_key = secretaccesskey
15555              endpoint = oss-cn-hangzhou.aliyuncs.com
15556              acl = private
15557              storage_class = Standard
15558              --------------------
15559              y) Yes this is OK
15560              e) Edit this remote
15561              d) Delete this remote
15562              y/e/d> y
15563
15564   Tencent COS
15565       Tencent   Cloud   Object   Storage    (COS)    (https://intl.cloud.ten
15566       cent.com/product/cos)  is a distributed storage service offered by Ten‐
15567       cent Cloud for unstructured data.  It is secure, stable, massive,  con‐
15568       venient, low-delay and low-cost.
15569
15570       To configure access to Tencent COS, follow the steps below:
15571
15572       1. Run rclone config and select n for a new remote.
15573
15574          rclone config
15575          No remotes found - make a new one
15576          n) New remote
15577          s) Set configuration password
15578          q) Quit config
15579          n/s/q> n
15580
15581       2. Give the name of the configuration.  For example, name it 'cos'.
15582
15583          name> cos
15584
15585       3. Select s3 storage.
15586
15587          Choose a number from below, or type in your own value
15588          1 / 1Fichier
15589             \ "fichier"
15590           2 / Alias for an existing remote
15591             \ "alias"
15592           3 / Amazon Drive
15593             \ "amazon cloud drive"
15594           4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
15595             \ "s3"
15596          [snip]
15597          Storage> s3
15598
15599       4. Select TencentCOS provider.
15600
15601          Choose a number from below, or type in your own value
15602          1 / Amazon Web Services (AWS) S3
15603             \ "AWS"
15604          [snip]
15605          11 / Tencent Cloud Object Storage (COS)
15606             \ "TencentCOS"
15607          [snip]
15608          provider> TencentCOS
15609
15610       5. Enter your SecretId and SecretKey of Tencent Cloud.
15611
15612          Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
15613          Only applies if access_key_id and secret_access_key is blank.
15614          Enter a boolean value (true or false). Press Enter for the default ("false").
15615          Choose a number from below, or type in your own value
15616           1 / Enter AWS credentials in the next step
15617             \ "false"
15618           2 / Get AWS credentials from the environment (env vars or IAM)
15619             \ "true"
15620          env_auth> 1
15621          AWS Access Key ID.
15622          Leave blank for anonymous access or runtime credentials.
15623          Enter a string value. Press Enter for the default ("").
15624          access_key_id> AKIDxxxxxxxxxx
15625          AWS Secret Access Key (password)
15626          Leave blank for anonymous access or runtime credentials.
15627          Enter a string value. Press Enter for the default ("").
15628          secret_access_key> xxxxxxxxxxx
15629
15630       6. Select  endpoint for Tencent COS.  This is the standard endpoint for
15631          different region.
15632
15633           1 / Beijing Region.
15634             \ "cos.ap-beijing.myqcloud.com"
15635           2 / Nanjing Region.
15636             \ "cos.ap-nanjing.myqcloud.com"
15637           3 / Shanghai Region.
15638             \ "cos.ap-shanghai.myqcloud.com"
15639           4 / Guangzhou Region.
15640             \ "cos.ap-guangzhou.myqcloud.com"
15641          [snip]
15642          endpoint> 4
15643
15644       7. Choose acl and storage class.
15645
15646          Note that this ACL is applied when server-side copying objects as S3
15647          doesn't copy the ACL from the source but rather writes a fresh one.
15648          Enter a string value. Press Enter for the default ("").
15649          Choose a number from below, or type in your own value
15650           1 / Owner gets Full_CONTROL. No one else has access rights (default).
15651             \ "default"
15652          [snip]
15653          acl> 1
15654          The storage class to use when storing new objects in Tencent COS.
15655          Enter a string value. Press Enter for the default ("").
15656          Choose a number from below, or type in your own value
15657           1 / Default
15658             \ ""
15659          [snip]
15660          storage_class> 1
15661          Edit advanced config? (y/n)
15662          y) Yes
15663          n) No (default)
15664          y/n> n
15665          Remote config
15666          --------------------
15667          [cos]
15668          type = s3
15669          provider = TencentCOS
15670          env_auth = false
15671          access_key_id = xxx
15672          secret_access_key = xxx
15673          endpoint = cos.ap-guangzhou.myqcloud.com
15674          acl = default
15675          --------------------
15676          y) Yes this is OK (default)
15677          e) Edit this remote
15678          d) Delete this remote
15679          y/e/d> y
15680          Current remotes:
15681
15682          Name                 Type
15683          ====                 ====
15684          cos                  s3
15685
15686   Netease NOS
15687       For Netease NOS configure as per the configurator rclone config setting
15688       the  provider  Netease.  This will automatically set force_path_style =
15689       false which is necessary for it to run properly.
15690
15691   Limitations
15692       rclone about is not supported by the S3 backend.  Backends without this
15693       capability cannot determine free space for an rclone mount or use poli‐
15694       cy mfs (most free space) as a member of an rclone union remote.
15695
15696       See   List   of   backends   that   do   not   support   rclone   about
15697       (https://rclone.org/overview/#optional-features)   See   rclone   about
15698       (https://rclone.org/commands/rclone_about/)
15699
15700   Backblaze B2
15701       B2 is Backblaze's cloud storage system (https://www.backblaze.com/b2/).
15702
15703       Paths are specified as remote:bucket (or remote: for the lsd  command.)
15704       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
15705
15706       Here is an example of making a b2 configuration.  First run
15707
15708              rclone config
15709
15710       This will guide you through an interactive setup process.  To authenti‐
15711       cate you will either need your Account ID (a short hex number) and Mas‐
15712       ter Application Key (a long hex number) OR an Application Key, which is
15713       the recommended method.  See below for further  details  on  generating
15714       and using an Application Key.
15715
15716              No remotes found - make a new one
15717              n) New remote
15718              q) Quit config
15719              n/q> n
15720              name> remote
15721              Type of storage to configure.
15722              Choose a number from below, or type in your own value
15723              [snip]
15724              XX / Backblaze B2
15725                 \ "b2"
15726              [snip]
15727              Storage> b2
15728              Account ID or Application Key ID
15729              account> 123456789abc
15730              Application Key
15731              key> 0123456789abcdef0123456789abcdef0123456789
15732              Endpoint for the service - leave blank normally.
15733              endpoint>
15734              Remote config
15735              --------------------
15736              [remote]
15737              account = 123456789abc
15738              key = 0123456789abcdef0123456789abcdef0123456789
15739              endpoint =
15740              --------------------
15741              y) Yes this is OK
15742              e) Edit this remote
15743              d) Delete this remote
15744              y/e/d> y
15745
15746       This remote is called remote and can now be used like this
15747
15748       See all buckets
15749
15750              rclone lsd remote:
15751
15752       Create a new bucket
15753
15754              rclone mkdir remote:bucket
15755
15756       List the contents of a bucket
15757
15758              rclone ls remote:bucket
15759
15760       Sync  /home/local/directory  to  the remote bucket, deleting any excess
15761       files in the bucket.
15762
15763              rclone sync -i /home/local/directory remote:bucket
15764
15765   Application Keys
15766       B2 supports multiple Application Keys for different  access  permission
15767       to      B2      Buckets     (https://www.backblaze.com/b2/docs/applica
15768       tion_keys.html).
15769
15770       You can use these with rclone too; you will need to use rclone  version
15771       1.43 or later.
15772
15773       Follow  Backblaze's docs to create an Application Key with the required
15774       permission and add the applicationKeyId as the account and the Applica‐
15775       tion Key itself as the key.
15776
15777       Note  that you must put the applicationKeyId as the account – you can't
15778       use the master Account ID.  If you try then B2 will return 401 errors.
15779
15780   --fast-list
15781       This remote supports --fast-list which allows you to use fewer transac‐
15782       tions   in   exchange   for   more   memory.    See   the  rclone  docs
15783       (https://rclone.org/docs/#fast-list) for more details.
15784
15785   Modified time
15786       The modified time is stored as  metadata  on  the  object  as  X-Bz-In‐
15787       fo-src_last_modified_millis  as  milliseconds  since  1970-01-01 in the
15788       Backblaze standard.  Other tools should be able to use this as a  modi‐
15789       fied time.
15790
15791       Modified  times are used in syncing and are fully supported.  Note that
15792       if a modification time needs to be updated on an object  then  it  will
15793       create a new version of the object.
15794
15795   Restricted filename characters
15796       In    addition    to    the    default    restricted   characters   set
15797       (https://rclone.org/overview/#restricted-characters)   the    following
15798       characters are also replaced:
15799
15800       Character   Value   Replacement
15801       ────────────────────────────────
15802       \           0x5C        \
15803
15804       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
15805       view/#invalid-utf8), as they can't be used in JSON strings.
15806
15807       Note that in 2020-05 Backblaze started  allowing   characters  in  file
15808       names.  Rclone hasn't changed its encoding as this could cause syncs to
15809       re-transfer files.  If you want rclone not to  replace   then  see  the
15810       --b2-encoding  flag  below  and  remove  the BackSlash from the string.
15811       This can be set in the config.
15812
15813   SHA1 checksums
15814       The SHA1 checksums of the files are checked on upload and download  and
15815       will be used in the syncing process.
15816
15817       Large files (bigger than the limit in --b2-upload-cutoff) which are up‐
15818       loaded in chunks will store  their  SHA1  on  the  object  as  X-Bz-In‐
15819       fo-large_file_sha1 as recommended by Backblaze.
15820
15821       For a large file to be uploaded with an SHA1 checksum, the source needs
15822       to support SHA1 checksums.  The local disk supports SHA1  checksums  so
15823       large  file transfers from local disk will have an SHA1.  See the over‐
15824       view (https://rclone.org/overview/#features) for exactly which  remotes
15825       support SHA1.
15826
15827       Sources which don't support SHA1, in particular crypt will upload large
15828       files without SHA1 checksums.  This may be fixed  in  the  future  (see
15829       #1767 (https://github.com/rclone/rclone/issues/1767)).
15830
15831       Files  sizes  below --b2-upload-cutoff will always have an SHA1 regard‐
15832       less of the source.
15833
15834   Transfers
15835       Backblaze recommends that you do lots of transfers  simultaneously  for
15836       maximum  speed.   In tests from my SSD equipped laptop the optimum set‐
15837       ting is about --transfers 32 though higher numbers may be  used  for  a
15838       slight  speed improvement.  The optimum number for you may vary depend‐
15839       ing on your hardware, how big the files are, how much you want to  load
15840       your computer, etc.  The default of --transfers 4 is definitely too low
15841       for Backblaze B2 though.
15842
15843       Note that uploading big files (bigger than 200 MB by default) will  use
15844       a  96  MB  RAM  buffer by default.  There can be at most --transfers of
15845       these in use at any moment, so this sets the upper limit on the  memory
15846       used.
15847
15848   Versions
15849       When rclone uploads a new version of a file it creates a new version of
15850       it  (https://www.backblaze.com/b2/docs/file_versions.html).    Likewise
15851       when you delete a file, the old version will be marked hidden and still
15852       be available.  Conversely, you may opt in to a "hard delete"  of  files
15853       with  the --b2-hard-delete flag which would permanently remove the file
15854       instead of hiding it.
15855
15856       Old versions of files, where available, are visible using the --b2-ver‐
15857       sions flag.
15858
15859       NB Note that --b2-versions does not work with crypt at the moment #1627
15860       (https://github.com/rclone/rclone/issues/1627).    Using   --backup-dir
15861       (https://rclone.org/docs/#backup-dir-dir) with rclone is the recommend‐
15862       ed way of working around this.
15863
15864       If you wish to remove all the old versions then you can use the  rclone
15865       cleanup remote:bucket command which will delete all the old versions of
15866       files, leaving the current ones intact.  You can also supply a path and
15867       only old versions under that path will be deleted, e.g.  rclone cleanup
15868       remote:bucket/path/to/stuff.
15869
15870       Note that cleanup will remove partially uploaded files from the  bucket
15871       if they are more than a day old.
15872
15873       When  you  purge  a  bucket,  the  current and the old versions will be
15874       deleted then the bucket will be deleted.
15875
15876       However delete will cause the current versions of the files  to  become
15877       hidden old versions.
15878
15879       Here  is  a session showing the listing and retrieval of an old version
15880       followed by a cleanup of the old versions.
15881
15882       Show current version and all the versions with --b2-versions flag.
15883
15884              $ rclone -q ls b2:cleanup-test
15885                      9 one.txt
15886
15887              $ rclone -q --b2-versions ls b2:cleanup-test
15888                      9 one.txt
15889                      8 one-v2016-07-04-141032-000.txt
15890                     16 one-v2016-07-04-141003-000.txt
15891                     15 one-v2016-07-02-155621-000.txt
15892
15893       Retrieve an old version
15894
15895              $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
15896
15897              $ ls -l /tmp/one-v2016-07-04-141003-000.txt
15898              -rw-rw-r-- 1 ncw ncw 16 Jul  2 17:46 /tmp/one-v2016-07-04-141003-000.txt
15899
15900       Clean up all the old versions and show that they've gone.
15901
15902              $ rclone -q cleanup b2:cleanup-test
15903
15904              $ rclone -q ls b2:cleanup-test
15905                      9 one.txt
15906
15907              $ rclone -q --b2-versions ls b2:cleanup-test
15908                      9 one.txt
15909
15910   Data usage
15911       It is useful to know how many requests are sent to the server  in  dif‐
15912       ferent scenarios.
15913
15914       All copy commands send the following 4 requests:
15915
15916              /b2api/v1/b2_authorize_account
15917              /b2api/v1/b2_create_bucket
15918              /b2api/v1/b2_list_buckets
15919              /b2api/v1/b2_list_file_names
15920
15921       The  b2_list_file_names request will be sent once for every 1k files in
15922       the remote path, providing the checksum and modification  time  of  the
15923       listed     files.      As     of     version     1.33     issue    #818
15924       (https://github.com/rclone/rclone/issues/818) causes extra requests  to
15925       be  sent  when using B2 with Crypt.  When a copy operation does not re‐
15926       quire any files to be uploaded, no more requests will be sent.
15927
15928       Uploading files that do not require chunking, will send 2 requests  per
15929       file upload:
15930
15931              /b2api/v1/b2_get_upload_url
15932              /b2api/v1/b2_upload_file/
15933
15934       Uploading  files  requiring chunking, will send 2 requests (one each to
15935       start and finish the upload) and another 2 requests for each chunk:
15936
15937              /b2api/v1/b2_start_large_file
15938              /b2api/v1/b2_get_upload_part_url
15939              /b2api/v1/b2_upload_part/
15940              /b2api/v1/b2_finish_large_file
15941
15942   Versions
15943       Versions can be viewed with the --b2-versions flag.   When  it  is  set
15944       rclone will show and act on older versions of files.  For example
15945
15946       Listing without --b2-versions
15947
15948              $ rclone -q ls b2:cleanup-test
15949                      9 one.txt
15950
15951       And with
15952
15953              $ rclone -q --b2-versions ls b2:cleanup-test
15954                      9 one.txt
15955                      8 one-v2016-07-04-141032-000.txt
15956                     16 one-v2016-07-04-141003-000.txt
15957                     15 one-v2016-07-02-155621-000.txt
15958
15959       Showing that the current version is unchanged but older versions can be
15960       seen.  These have the UTC date that they were uploaded to the server to
15961       the nearest millisecond appended to them.
15962
15963       Note that when using --b2-versions no file write operations are permit‐
15964       ted, so you can't upload files or delete them.
15965
15966   B2 and rclone link
15967       Rclone supports generating file share links  for  private  B2  buckets.
15968       They can either be for a file for example:
15969
15970              ./rclone link B2:bucket/path/to/file.txt
15971              https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
15972
15973       or if run on a directory you will get:
15974
15975              ./rclone link B2:bucket/path
15976              https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
15977
15978       you  can then use the authorization token (the part of the url from the
15979       ?Authorization= on) on any file path under that directory.   For  exam‐
15980       ple:
15981
15982              https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx
15983              https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx
15984              https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
15985
15986   Standard Options
15987       Here are the standard options specific to b2 (Backblaze B2).
15988
15989   --b2-account
15990       Account ID or Application Key ID
15991
15992       • Config: account
15993
15994       • Env Var: RCLONE_B2_ACCOUNT
15995
15996       • Type: string
15997
15998       • Default: ""
15999
16000   --b2-key
16001       Application Key
16002
16003       • Config: key
16004
16005       • Env Var: RCLONE_B2_KEY
16006
16007       • Type: string
16008
16009       • Default: ""
16010
16011   --b2-hard-delete
16012       Permanently delete files on remote removal, otherwise hide files.
16013
16014       • Config: hard_delete
16015
16016       • Env Var: RCLONE_B2_HARD_DELETE
16017
16018       • Type: bool
16019
16020       • Default: false
16021
16022   Advanced Options
16023       Here are the advanced options specific to b2 (Backblaze B2).
16024
16025   --b2-endpoint
16026       Endpoint for the service.  Leave blank normally.
16027
16028       • Config: endpoint
16029
16030       • Env Var: RCLONE_B2_ENDPOINT
16031
16032       • Type: string
16033
16034       • Default: ""
16035
16036   --b2-test-mode
16037       A flag string for X-Bz-Test-Mode header for debugging.
16038
16039       This  is for debugging purposes only.  Setting it to one of the strings
16040       below will cause b2 to return specific errors:
16041
16042       • "fail_some_uploads"
16043
16044       • "expire_some_account_authorization_tokens"
16045
16046       • "force_cap_exceeded"
16047
16048       These will be set in the "X-Bz-Test-Mode" header which is documented in
16049       the  b2 integrations checklist (https://www.backblaze.com/b2/docs/inte
16050       gration_checklist.html).
16051
16052       • Config: test_mode
16053
16054       • Env Var: RCLONE_B2_TEST_MODE
16055
16056       • Type: string
16057
16058       • Default: ""
16059
16060   --b2-versions
16061       Include old versions in directory listings.  Note that when using  this
16062       no  file  write  operations are permitted, so you can't upload files or
16063       delete them.
16064
16065       • Config: versions
16066
16067       • Env Var: RCLONE_B2_VERSIONS
16068
16069       • Type: bool
16070
16071       • Default: false
16072
16073   --b2-upload-cutoff
16074       Cutoff for switching to chunked upload.
16075
16076       Files above this size will be uploaded in chunks of "--b2-chunk-size".
16077
16078       This value should be set no larger than 4.657GiB (== 5GB).
16079
16080       • Config: upload_cutoff
16081
16082       • Env Var: RCLONE_B2_UPLOAD_CUTOFF
16083
16084       • Type: SizeSuffix
16085
16086       • Default: 200M
16087
16088   --b2-copy-cutoff
16089       Cutoff for switching to multipart copy
16090
16091       Any files larger than this that need to be server-side copied  will  be
16092       copied in chunks of this size.
16093
16094       The minimum is 0 and the maximum is 4.6GB.
16095
16096       • Config: copy_cutoff
16097
16098       • Env Var: RCLONE_B2_COPY_CUTOFF
16099
16100       • Type: SizeSuffix
16101
16102       • Default: 4G
16103
16104   --b2-chunk-size
16105       Upload chunk size.  Must fit in memory.
16106
16107       When  uploading  large files, chunk the file into this size.  Note that
16108       these chunks are buffered in  memory  and  there  might  a  maximum  of
16109       "--transfers" chunks in progress at once.  5,000,000 Bytes is the mini‐
16110       mum size.
16111
16112       • Config: chunk_size
16113
16114       • Env Var: RCLONE_B2_CHUNK_SIZE
16115
16116       • Type: SizeSuffix
16117
16118       • Default: 96M
16119
16120   --b2-disable-checksum
16121       Disable checksums for large (> upload cutoff) files
16122
16123       Normally rclone will calculate the SHA1 checksum of  the  input  before
16124       uploading it so it can add it to metadata on the object.  This is great
16125       for data integrity checking but can cause long delays for  large  files
16126       to start uploading.
16127
16128       • Config: disable_checksum
16129
16130       • Env Var: RCLONE_B2_DISABLE_CHECKSUM
16131
16132       • Type: bool
16133
16134       • Default: false
16135
16136   --b2-download-url
16137       Custom endpoint for downloads.
16138
16139       This  is  usually  set to a Cloudflare CDN URL as Backblaze offers free
16140       egress for data downloaded  through  the  Cloudflare  network.   Rclone
16141       works  with  private  buckets by sending an "Authorization" header.  If
16142       the custom endpoint rewrites the requests for authentication, e.g.,  in
16143       Cloudflare  Workers,  this  header needs to be handled properly.  Leave
16144       blank if you want to use the endpoint provided by Backblaze.
16145
16146       • Config: download_url
16147
16148       • Env Var: RCLONE_B2_DOWNLOAD_URL
16149
16150       • Type: string
16151
16152       • Default: ""
16153
16154   --b2-download-auth-duration
16155       Time before  the  authorization  token  will  expire  in  s  or  suffix
16156       ms|s|m|h|d.
16157
16158       The  duration before the download authorization token will expire.  The
16159       minimum value is 1 second.  The maximum value is one week.
16160
16161       • Config: download_auth_duration
16162
16163       • Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION
16164
16165       • Type: Duration
16166
16167       • Default: 1w
16168
16169   --b2-memory-pool-flush-time
16170       How often internal memory buffer pools will be flushed.  Uploads  which
16171       requires  additional  buffers  (f.e multipart) will use memory pool for
16172       allocations.  This option controls how often unused buffers will be re‐
16173       moved from the pool.
16174
16175       • Config: memory_pool_flush_time
16176
16177       • Env Var: RCLONE_B2_MEMORY_POOL_FLUSH_TIME
16178
16179       • Type: Duration
16180
16181       • Default: 1m0s
16182
16183   --b2-memory-pool-use-mmap
16184       Whether to use mmap buffers in internal memory pool.
16185
16186       • Config: memory_pool_use_mmap
16187
16188       • Env Var: RCLONE_B2_MEMORY_POOL_USE_MMAP
16189
16190       • Type: bool
16191
16192       • Default: false
16193
16194   --b2-encoding
16195       This sets the encoding for the backend.
16196
16197       See:  the  encoding  section  in the overview (https://rclone.org/over
16198       view/#encoding) for more info.
16199
16200       • Config: encoding
16201
16202       • Env Var: RCLONE_B2_ENCODING
16203
16204       • Type: MultiEncoder
16205
16206       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
16207
16208   Limitations
16209       rclone about is not supported by the B2 backend.  Backends without this
16210       capability cannot determine free space for an rclone mount or use poli‐
16211       cy mfs (most free space) as a member of an rclone union remote.
16212
16213       See   List   of   backends   that   do   not   support   rclone   about
16214       (https://rclone.org/overview/#optional-features)   See   rclone   about
16215       (https://rclone.org/commands/rclone_about/)
16216
16217   Box
16218       Paths are specified as remote:path
16219
16220       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
16221
16222       The initial setup for Box involves getting a token from Box  which  you
16223       can  do  either  in your browser, or with a config.json downloaded from
16224       Box to use JWT authentication.  rclone config walks you through it.
16225
16226       Here is an example of how to make a remote called remote.  First run:
16227
16228               rclone config
16229
16230       This will guide you through an interactive setup process:
16231
16232              No remotes found - make a new one
16233              n) New remote
16234              s) Set configuration password
16235              q) Quit config
16236              n/s/q> n
16237              name> remote
16238              Type of storage to configure.
16239              Choose a number from below, or type in your own value
16240              [snip]
16241              XX / Box
16242                 \ "box"
16243              [snip]
16244              Storage> box
16245              Box App Client Id - leave blank normally.
16246              client_id>
16247              Box App Client Secret - leave blank normally.
16248              client_secret>
16249              Box App config.json location
16250              Leave blank normally.
16251              Enter a string value. Press Enter for the default ("").
16252              box_config_file>
16253              Box App Primary Access Token
16254              Leave blank normally.
16255              Enter a string value. Press Enter for the default ("").
16256              access_token>
16257
16258              Enter a string value. Press Enter for the default ("user").
16259              Choose a number from below, or type in your own value
16260               1 / Rclone should act on behalf of a user
16261                 \ "user"
16262               2 / Rclone should act on behalf of a service account
16263                 \ "enterprise"
16264              box_sub_type>
16265              Remote config
16266              Use auto config?
16267               * Say Y if not sure
16268               * Say N if you are working on a remote or headless machine
16269              y) Yes
16270              n) No
16271              y/n> y
16272              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
16273              Log in and authorize rclone for access
16274              Waiting for code...
16275              Got code
16276              --------------------
16277              [remote]
16278              client_id =
16279              client_secret =
16280              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"}
16281              --------------------
16282              y) Yes this is OK
16283              e) Edit this remote
16284              d) Delete this remote
16285              y/e/d> y
16286
16287       See the remote setup docs (https://rclone.org/remote_setup/) for how to
16288       set it up on a machine with no Internet browser available.
16289
16290       Note  that rclone runs a webserver on your local machine to collect the
16291       token as returned from Box.  This only runs from the  moment  it  opens
16292       your browser to the moment you get back the verification code.  This is
16293       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
16294       temporarily if you are running a host firewall.
16295
16296       Once configured you can then use rclone like this,
16297
16298       List directories in top level of your Box
16299
16300              rclone lsd remote:
16301
16302       List all the files in your Box
16303
16304              rclone ls remote:
16305
16306       To copy a local directory to an Box directory called backup
16307
16308              rclone copy /home/source remote:backup
16309
16310   Using rclone with an Enterprise account with SSO
16311       If  you  have an "Enterprise" account type with Box with single sign on
16312       (SSO), you need to create a password to use Box with rclone.  This  can
16313       be  done at your Enterprise Box account by going to Settings, "Account"
16314       Tab, and then set the password in the "Authentication" field.
16315
16316       Once you have done this, you can setup your Enterprise Box account  us‐
16317       ing  the  same  procedure detailed above in the, using the password you
16318       have just set.
16319
16320   Invalid refresh token
16321       According      to      the       box       docs       (https://develop
16322       er.box.com/v2.0/docs/oauth-20#section-6-using-the-access-and-refresh-
16323       tokens):
16324
16325              Each refresh_token is valid for one use in 60 days.
16326
16327       This means that if you
16328
16329       • Don't use the box remote for 60 days
16330
16331       • Copy the config file with a box refresh token in and use  it  in  two
16332         places
16333
16334       • Get an error on a token refresh
16335
16336       then  rclone  will  return an error which includes the text Invalid re‐
16337       fresh token.
16338
16339       To fix this you will need to use oauth2 again to update the refresh to‐
16340       ken.    You   can   use   the   methods   in   the  remote  setup  docs
16341       (https://rclone.org/remote_setup/), bearing in mind that if you use the
16342       copy the config file method, you should not use that remote on the com‐
16343       puter you did the authentication on.
16344
16345       Here is how to do it.
16346
16347              $ rclone config
16348              Current remotes:
16349
16350              Name                 Type
16351              ====                 ====
16352              remote               box
16353
16354              e) Edit existing remote
16355              n) New remote
16356              d) Delete remote
16357              r) Rename remote
16358              c) Copy remote
16359              s) Set configuration password
16360              q) Quit config
16361              e/n/d/r/c/s/q> e
16362              Choose a number from below, or type in an existing value
16363               1 > remote
16364              remote> remote
16365              --------------------
16366              [remote]
16367              type = box
16368              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"}
16369              --------------------
16370              Edit remote
16371              Value "client_id" = ""
16372              Edit? (y/n)>
16373              y) Yes
16374              n) No
16375              y/n> n
16376              Value "client_secret" = ""
16377              Edit? (y/n)>
16378              y) Yes
16379              n) No
16380              y/n> n
16381              Remote config
16382              Already have a token - refresh?
16383              y) Yes
16384              n) No
16385              y/n> y
16386              Use auto config?
16387               * Say Y if not sure
16388               * Say N if you are working on a remote or headless machine
16389              y) Yes
16390              n) No
16391              y/n> y
16392              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
16393              Log in and authorize rclone for access
16394              Waiting for code...
16395              Got code
16396              --------------------
16397              [remote]
16398              type = box
16399              token = {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"}
16400              --------------------
16401              y) Yes this is OK
16402              e) Edit this remote
16403              d) Delete this remote
16404              y/e/d> y
16405
16406   Modified time and hashes
16407       Box allows modification times to be set on objects accurate to  1  sec‐
16408       ond.  These will be used to detect whether objects need syncing or not.
16409
16410       Box supports SHA1 type hashes, so you can use the --checksum flag.
16411
16412   Restricted filename characters
16413       In    addition    to    the    default    restricted   characters   set
16414       (https://rclone.org/overview/#restricted-characters)   the    following
16415       characters are also replaced:
16416
16417       Character   Value   Replacement
16418       ────────────────────────────────
16419       \           0x5C        \
16420
16421       File  names can also not end with the following characters.  These only
16422       get replaced if they are the last character in the name:
16423
16424       Character   Value   Replacement
16425       ────────────────────────────────
16426       SP          0x20         ␠
16427
16428       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
16429       view/#invalid-utf8), as they can't be used in JSON strings.
16430
16431   Transfers
16432       For  files  above 50MB rclone will use a chunked transfer.  Rclone will
16433       upload up to --transfers chunks at the same time (shared among all  the
16434       multipart uploads).  Chunks are buffered in memory and are normally 8MB
16435       so increasing --transfers will increase memory use.
16436
16437   Deleting files
16438       Depending on the enterprise settings for your user, the item  will  ei‐
16439       ther be actually deleted from Box or moved to the trash.
16440
16441       Emptying  the trash is supported via the rclone however cleanup command
16442       however this deletes every trashed file and folder individually  so  it
16443       may  take  a very long time.  Emptying the trash via the WebUI does not
16444       have this limitation so it is advised to empty the trash via the WebUI.
16445
16446   Root folder ID
16447       You can set the root_folder_id  for  rclone.   This  is  the  directory
16448       (identified  by  its Folder ID) that rclone considers to be the root of
16449       your Box drive.
16450
16451       Normally you will leave this blank and rclone will determine  the  cor‐
16452       rect root to use itself.
16453
16454       However  you can set this to restrict rclone to a specific folder hier‐
16455       archy.
16456
16457       In order to do this you will have to find the Folder ID of the directo‐
16458       ry  you  wish  rclone to display.  This will be the last segment of the
16459       URL when you open the relevant folder in the Box web interface.
16460
16461       So if the folder you want rclone to use has  a  URL  which  looks  like
16462       https://app.box.com/folder/11xxxxxxxxx8  in  the  browser, then you use
16463       11xxxxxxxxx8 as the root_folder_id in the config.
16464
16465   Standard Options
16466       Here are the standard options specific to box (Box).
16467
16468   --box-client-id
16469       OAuth Client Id Leave blank normally.
16470
16471       • Config: client_id
16472
16473       • Env Var: RCLONE_BOX_CLIENT_ID
16474
16475       • Type: string
16476
16477       • Default: ""
16478
16479   --box-client-secret
16480       OAuth Client Secret Leave blank normally.
16481
16482       • Config: client_secret
16483
16484       • Env Var: RCLONE_BOX_CLIENT_SECRET
16485
16486       • Type: string
16487
16488       • Default: ""
16489
16490   --box-box-config-file
16491       Box App config.json location Leave blank normally.
16492
16493       Leading ~ will be expanded in the file name as will  environment  vari‐
16494       ables such as ${RCLONE_CONFIG_DIR}.
16495
16496       • Config: box_config_file
16497
16498       • Env Var: RCLONE_BOX_BOX_CONFIG_FILE
16499
16500       • Type: string
16501
16502       • Default: ""
16503
16504   --box-access-token
16505       Box App Primary Access Token Leave blank normally.
16506
16507       • Config: access_token
16508
16509       • Env Var: RCLONE_BOX_ACCESS_TOKEN
16510
16511       • Type: string
16512
16513       • Default: ""
16514
16515   --box-box-sub-type
16516       • Config: box_sub_type
16517
16518       • Env Var: RCLONE_BOX_BOX_SUB_TYPE
16519
16520       • Type: string
16521
16522       • Default: "user"
16523
16524       • Examples:
16525
16526         • "user"
16527
16528           • Rclone should act on behalf of a user
16529
16530         • "enterprise"
16531
16532           • Rclone should act on behalf of a service account
16533
16534   Advanced Options
16535       Here are the advanced options specific to box (Box).
16536
16537   --box-token
16538       OAuth Access Token as a JSON blob.
16539
16540       • Config: token
16541
16542       • Env Var: RCLONE_BOX_TOKEN
16543
16544       • Type: string
16545
16546       • Default: ""
16547
16548   --box-auth-url
16549       Auth server URL.  Leave blank to use the provider defaults.
16550
16551       • Config: auth_url
16552
16553       • Env Var: RCLONE_BOX_AUTH_URL
16554
16555       • Type: string
16556
16557       • Default: ""
16558
16559   --box-token-url
16560       Token server url.  Leave blank to use the provider defaults.
16561
16562       • Config: token_url
16563
16564       • Env Var: RCLONE_BOX_TOKEN_URL
16565
16566       • Type: string
16567
16568       • Default: ""
16569
16570   --box-root-folder-id
16571       Fill in for rclone to use a non root folder as its starting point.
16572
16573       • Config: root_folder_id
16574
16575       • Env Var: RCLONE_BOX_ROOT_FOLDER_ID
16576
16577       • Type: string
16578
16579       • Default: "0"
16580
16581   --box-upload-cutoff
16582       Cutoff for switching to multipart upload (>= 50MB).
16583
16584       • Config: upload_cutoff
16585
16586       • Env Var: RCLONE_BOX_UPLOAD_CUTOFF
16587
16588       • Type: SizeSuffix
16589
16590       • Default: 50M
16591
16592   --box-commit-retries
16593       Max number of times to try committing a multipart file.
16594
16595       • Config: commit_retries
16596
16597       • Env Var: RCLONE_BOX_COMMIT_RETRIES
16598
16599       • Type: int
16600
16601       • Default: 100
16602
16603   --box-encoding
16604       This sets the encoding for the backend.
16605
16606       See:  the  encoding  section  in the overview (https://rclone.org/over
16607       view/#encoding) for more info.
16608
16609       • Config: encoding
16610
16611       • Env Var: RCLONE_BOX_ENCODING
16612
16613       • Type: MultiEncoder
16614
16615       • Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
16616
16617   Limitations
16618       Note that Box is case insensitive so you can't have a file called "Hel‐
16619       lo.doc" and one called "hello.doc".
16620
16621       Box  file names can't have the \ character in.  rclone maps this to and
16622       from an identical looking unicode equivalent \ (U+FF3C  Fullwidth  Re‐
16623       verse Solidus).
16624
16625       Box only supports filenames up to 255 characters in length.
16626
16627       rclone  about  is  not  supported by the Box backend.  Backends without
16628       this capability cannot determine free space for an rclone mount or  use
16629       policy mfs (most free space) as a member of an rclone union remote.
16630
16631       See   List   of   backends   that   do   not   support   rclone   about
16632       (https://rclone.org/overview/#optional-features)   See   rclone   about
16633       (https://rclone.org/commands/rclone_about/)
16634
16635   Cache (BETA)
16636       The  cache  remote wraps another existing remote and stores file struc‐
16637       ture and its data for long running tasks like rclone mount.
16638
16639   Status
16640       The cache backend code is working but it currently doesn't have a main‐
16641       tainer        so        there        are        outstanding        bugs
16642       (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+la‐
16643       bel%3Abug+label%3A%22Remote%3A+Cache%22) which aren't getting fixed.
16644
16645       The  cache backend is due to be phased out in favour of the VFS caching
16646       layer eventually which is more tightly integrated into rclone.
16647
16648       Until this happens we recommend only using the  cache  backend  if  you
16649       find  you can't work without it.  There are many docs online describing
16650       the use of the cache backend to  minimize  API  hits  and  by-and-large
16651       these  are out of date and the cache backend isn't needed in those sce‐
16652       narios any more.
16653
16654   Setup
16655       To get started you just need to have an existing remote  which  can  be
16656       configured with cache.
16657
16658       Here  is  an  example of how to make a remote called test-cache.  First
16659       run:
16660
16661               rclone config
16662
16663       This will guide you through an interactive setup process:
16664
16665              No remotes found - make a new one
16666              n) New remote
16667              r) Rename remote
16668              c) Copy remote
16669              s) Set configuration password
16670              q) Quit config
16671              n/r/c/s/q> n
16672              name> test-cache
16673              Type of storage to configure.
16674              Choose a number from below, or type in your own value
16675              [snip]
16676              XX / Cache a remote
16677                 \ "cache"
16678              [snip]
16679              Storage> cache
16680              Remote to cache.
16681              Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
16682              "myremote:bucket" or maybe "myremote:" (not recommended).
16683              remote> local:/test
16684              Optional: The URL of the Plex server
16685              plex_url> http://127.0.0.1:32400
16686              Optional: The username of the Plex user
16687              plex_username> dummyusername
16688              Optional: The password of the Plex user
16689              y) Yes type in my own password
16690              g) Generate random password
16691              n) No leave this optional password blank
16692              y/g/n> y
16693              Enter the password:
16694              password:
16695              Confirm the password:
16696              password:
16697              The size of a chunk. Lower value good for slow connections but can affect seamless reading.
16698              Default: 5M
16699              Choose a number from below, or type in your own value
16700               1 / 1MB
16701                 \ "1m"
16702               2 / 5 MB
16703                 \ "5M"
16704               3 / 10 MB
16705                 \ "10M"
16706              chunk_size> 2
16707              How much time should object info (file size, file hashes, etc.) be stored in cache. Use a very high value if you don't plan on changing the source FS from outside the cache.
16708              Accepted units are: "s", "m", "h".
16709              Default: 5m
16710              Choose a number from below, or type in your own value
16711               1 / 1 hour
16712                 \ "1h"
16713               2 / 24 hours
16714                 \ "24h"
16715               3 / 24 hours
16716                 \ "48h"
16717              info_age> 2
16718              The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted.
16719              Default: 10G
16720              Choose a number from below, or type in your own value
16721               1 / 500 MB
16722                 \ "500M"
16723               2 / 1 GB
16724                 \ "1G"
16725               3 / 10 GB
16726                 \ "10G"
16727              chunk_total_size> 3
16728              Remote config
16729              --------------------
16730              [test-cache]
16731              remote = local:/test
16732              plex_url = http://127.0.0.1:32400
16733              plex_username = dummyusername
16734              plex_password = *** ENCRYPTED ***
16735              chunk_size = 5M
16736              info_age = 48h
16737              chunk_total_size = 10G
16738
16739       You can then use it like this,
16740
16741       List directories in top level of your drive
16742
16743              rclone lsd test-cache:
16744
16745       List all the files in your drive
16746
16747              rclone ls test-cache:
16748
16749       To start a cached mount
16750
16751              rclone mount --allow-other test-cache: /var/tmp/test-cache
16752
16753   Write Features
16754   Offline uploading
16755       In an effort to make writing through cache more reliable,  the  backend
16756       now  supports  this  feature  which  can  be  activated by specifying a
16757       cache-tmp-upload-path.
16758
16759       A files goes through these states when using this feature:
16760
16761       1. An upload is started (usually by copying a file on the cache remote)
16762
16763       2. When the copy to the temporary location is complete the file is part
16764          of  the  cached  remote  and  looks  and behaves like any other file
16765          (reading included)
16766
16767       3. After cache-tmp-wait-time passes and  the  file  is  next  in  line,
16768          rclone move is used to move the file to the cloud provider
16769
16770       4. Reading  the  file  still works during the upload but most modifica‐
16771          tions on it will be prohibited
16772
16773       5. Once the move is complete the file is unlocked for modifications  as
16774          it becomes as any other regular file
16775
16776       6. If  the  file is being read through cache when it's actually deleted
16777          from the temporary path then cache will simply swap  the  source  to
16778          the  cloud provider without interrupting the reading (small blip can
16779          happen though)
16780
16781       Files are uploaded in sequence and only one file is uploaded at a time.
16782       Uploads  will  be stored in a queue and be processed based on the order
16783       they were added.  The queue and the  temporary  storage  is  persistent
16784       across restarts but can be cleared on startup with the --cache-db-purge
16785       flag.
16786
16787   Write Support
16788       Writes are supported through cache.  One caveat is that a mounted cache
16789       remote does not add any retry or fallback mechanism to the upload oper‐
16790       ation.  This will depend on the implementation of the  wrapped  remote.
16791       Consider using Offline uploading for reliable writes.
16792
16793       One special case is covered with cache-writes which will cache the file
16794       data at the same time as the upload when it is enabled making it avail‐
16795       able from the cache store immediately once the upload is finished.
16796
16797   Read Features
16798   Multiple connections
16799       To  counter the high latency between a local PC where rclone is running
16800       and cloud providers, the cache remote can split  multiple  requests  to
16801       the  cloud  provider for smaller file chunks and combines them together
16802       locally where they can be available almost immediately before the read‐
16803       er usually needs them.
16804
16805       This  is  similar  to  buffering  when  media  files are played online.
16806       Rclone will stay around the current marker but always try its  best  to
16807       stay ahead and prepare the data before.
16808
16809   Plex Integration
16810       There  is  a  direct integration with Plex which allows cache to detect
16811       during reading if the file is in playback or not.  This helps cache  to
16812       adapt  how  it  queries  the cloud provider depending on what is needed
16813       for.
16814
16815       Scans will have a minimum amount of workers (1) while  in  a  confirmed
16816       playback cache will deploy the configured number of workers.
16817
16818       This  integration  opens the doorway to additional performance improve‐
16819       ments which will be explored in the near future.
16820
16821       Note: If Plex options are not configured, cache will function with  its
16822       configured options without adapting any of its settings.
16823
16824       How  to  enable?   Run rclone config and add all the Plex options (end‐
16825       point, username and password) in your remote and it will  be  automati‐
16826       cally enabled.
16827
16828       Affected  settings:  - cache-workers: Configured value during confirmed
16829       playback or 1 all the other times
16830
16831   Certificate Validation
16832       When the Plex server is configured to only accept  secure  connections,
16833       it  is  possible to use .plex.direct URLs to ensure certificate valida‐
16834       tion succeeds.  These URLs are used by Plex internally  to  connect  to
16835       the Plex server securely.
16836
16837       The format for these URLs is the following:
16838
16839       https://ip-with-dots-replaced.server-hash.plex.direct:32400/
16840
16841       The  ip-with-dots-replaced part can be any IPv4 address, where the dots
16842       have been replaced with dashes, e.g.  127.0.0.1 becomes 127-0-0-1.
16843
16844       To get the server-hash part, the easiest way is to visit
16845
16846       https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-to‐
16847       ken
16848
16849       This  page  will  list  all the available Plex servers for your account
16850       with at least one .plex.direct link for each.  Copy one URL and replace
16851       the  IP  address  with  the  desired  address.  This can be used as the
16852       plex_url value.
16853
16854   Known issues
16855   Mount and --dir-cache-time
16856       --dir-cache-time controls the first layer of  directory  caching  which
16857       works  at the mount layer.  Being an independent caching mechanism from
16858       the cache backend, it will manage its own entries based on the  config‐
16859       ured time.
16860
16861       To  avoid  getting  in a scenario where dir cache has obsolete data and
16862       cache would have the correct one, try to set --dir-cache-time to a low‐
16863       er  time  than --cache-info-age.  Default values are already configured
16864       in this way.
16865
16866   Windows support - Experimental
16867       There are a couple of issues  with  Windows  mount  functionality  that
16868       still  require some investigations.  It should be considered as experi‐
16869       mental thus far as fixes come in for this OS.
16870
16871       Most of the issues  seem  to  be  related  to  the  difference  between
16872       filesystems  on Linux flavors and Windows as cache is heavily dependent
16873       on them.
16874
16875       Any reports or feedback on how cache behaves on this OS is greatly  ap‐
16876       preciated.
16877
16878https://github.com/rclone/rclone/issues/1935
16879
16880https://github.com/rclone/rclone/issues/1907
16881
16882https://github.com/rclone/rclone/issues/1834
16883
16884   Risk of throttling
16885       Future  iterations  of  the  cache backend will make use of the pooling
16886       functionality of the cloud provider to synchronize and at the same time
16887       make writing through it more tolerant to failures.
16888
16889       There  are  a  couple  of enhancements in track to add these but in the
16890       meantime there is a valid concern that the expiring cache listings  can
16891       lead  to cloud provider throttles or bans due to repeated queries on it
16892       for very large mounts.
16893
16894       Some recommendations: - don't use a very small interval for  entry  in‐
16895       formation  (--cache-info-age)  - while writes aren't yet optimised, you
16896       can still write through cache which gives you the advantage  of  adding
16897       the file in the cache at the same time if configured to do so.
16898
16899       Future enhancements:
16900
16901https://github.com/rclone/rclone/issues/1937
16902
16903https://github.com/rclone/rclone/issues/1936
16904
16905   cache and crypt
16906       One  common  scenario  is  to  keep  your  data  encrypted in the cloud
16907       provider using the crypt remote.  crypt uses  a  similar  technique  to
16908       wrap  around an existing remote and handles this translation in a seam‐
16909       less way.
16910
16911       There is an issue with wrapping the remotes in this order: cloud remote
16912       -> crypt -> cache
16913
16914       During  testing,  I  experienced a lot of bans with the remotes in this
16915       order.  I suspect it might be related to how crypt opens files  on  the
16916       cloud provider which makes it think we're downloading the full file in‐
16917       stead of small chunks.  Organizing the remotes  in  this  order  yields
16918       better results: cloud remote -> cache -> crypt
16919
16920   absolute remote paths
16921       cache can not differentiate between relative and absolute paths for the
16922       wrapped remote.  Any path given in the remote config setting and on the
16923       command  line will be passed to the wrapped remote as is, but for stor‐
16924       ing the chunks on disk the path will be made relative by  removing  any
16925       leading / character.
16926
16927       This behavior is irrelevant for most backend types, but there are back‐
16928       ends where a leading / changes the effective directory,  e.g.   in  the
16929       sftp  backend  paths  starting with a / are relative to the root of the
16930       SSH server and paths without are relative to the user  home  directory.
16931       As  a  result  sftp:bin and sftp:/bin will share the same cache folder,
16932       even if they represent a different directory on the SSH server.
16933
16934   Cache and Remote Control (--rc)
16935       Cache supports the new --rc mode in rclone and can be remote controlled
16936       through  the following end points: By default, the listener is disabled
16937       if you do not add the flag.
16938
16939   rc cache/expire
16940       Purge a remote from the cache backend.  Supports either a directory  or
16941       a file.  It supports both encrypted and unencrypted file names if cache
16942       is wrapped by crypt.
16943
16944       Params: - remote = path to remote (required) - withData = true/false to
16945       delete cached data (chunks) as well (optional, false by default)
16946
16947   Standard Options
16948       Here are the standard options specific to cache (Cache a remote).
16949
16950   --cache-remote
16951       Remote  to  cache.   Normally  should  contain  a  ':' and a path, e.g.
16952       "myremote:path/to/dir", "myremote:bucket"  or  maybe  "myremote:"  (not
16953       recommended).
16954
16955       • Config: remote
16956
16957       • Env Var: RCLONE_CACHE_REMOTE
16958
16959       • Type: string
16960
16961       • Default: ""
16962
16963   --cache-plex-url
16964       The URL of the Plex server
16965
16966       • Config: plex_url
16967
16968       • Env Var: RCLONE_CACHE_PLEX_URL
16969
16970       • Type: string
16971
16972       • Default: ""
16973
16974   --cache-plex-username
16975       The username of the Plex user
16976
16977       • Config: plex_username
16978
16979       • Env Var: RCLONE_CACHE_PLEX_USERNAME
16980
16981       • Type: string
16982
16983       • Default: ""
16984
16985   --cache-plex-password
16986       The password of the Plex user
16987
16988       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
16989       (https://rclone.org/commands/rclone_obscure/).
16990
16991       • Config: plex_password
16992
16993       • Env Var: RCLONE_CACHE_PLEX_PASSWORD
16994
16995       • Type: string
16996
16997       • Default: ""
16998
16999   --cache-chunk-size
17000       The size of a chunk (partial file data).
17001
17002       Use lower numbers  for  slower  connections.   If  the  chunk  size  is
17003       changed,  any  downloaded  chunks  will be invalid and cache-chunk-path
17004       will need to be cleared or unexpected EOF errors will occur.
17005
17006       • Config: chunk_size
17007
17008       • Env Var: RCLONE_CACHE_CHUNK_SIZE
17009
17010       • Type: SizeSuffix
17011
17012       • Default: 5M
17013
17014       • Examples:
17015
17016         • "1m"
17017
17018           • 1MB
17019
17020         • "5M"
17021
17022           • 5 MB
17023
17024         • "10M"
17025
17026           • 10 MB
17027
17028   --cache-info-age
17029       How long to cache file structure information (directory listings,  file
17030       size, times, etc.).  If all write operations are done through the cache
17031       then you can safely make this value very large as the cache store  will
17032       also be updated in real time.
17033
17034       • Config: info_age
17035
17036       • Env Var: RCLONE_CACHE_INFO_AGE
17037
17038       • Type: Duration
17039
17040       • Default: 6h0m0s
17041
17042       • Examples:
17043
17044         • "1h"
17045
17046           • 1 hour
17047
17048         • "24h"
17049
17050           • 24 hours
17051
17052         • "48h"
17053
17054           • 48 hours
17055
17056   --cache-chunk-total-size
17057       The total size that the chunks can take up on the local disk.
17058
17059       If the cache exceeds this value then it will start to delete the oldest
17060       chunks until it goes under this value.
17061
17062       • Config: chunk_total_size
17063
17064       • Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
17065
17066       • Type: SizeSuffix
17067
17068       • Default: 10G
17069
17070       • Examples:
17071
17072         • "500M"
17073
17074           • 500 MB
17075
17076         • "1G"
17077
17078           • 1 GB
17079
17080         • "10G"
17081
17082           • 10 GB
17083
17084   Advanced Options
17085       Here are the advanced options specific to cache (Cache a remote).
17086
17087   --cache-plex-token
17088       The plex token for authentication - auto set normally
17089
17090       • Config: plex_token
17091
17092       • Env Var: RCLONE_CACHE_PLEX_TOKEN
17093
17094       • Type: string
17095
17096       • Default: ""
17097
17098   --cache-plex-insecure
17099       Skip all certificate verification when connecting to the Plex server
17100
17101       • Config: plex_insecure
17102
17103       • Env Var: RCLONE_CACHE_PLEX_INSECURE
17104
17105       • Type: string
17106
17107       • Default: ""
17108
17109   --cache-db-path
17110       Directory to store file structure metadata DB.  The remote name is used
17111       as the DB file name.
17112
17113       • Config: db_path
17114
17115       • Env Var: RCLONE_CACHE_DB_PATH
17116
17117       • Type: string
17118
17119       • Default: "$HOME/.cache/rclone/cache-backend"
17120
17121   --cache-chunk-path
17122       Directory to cache chunk files.
17123
17124       Path  to  where partial file data (chunks) are stored locally.  The re‐
17125       mote name is appended to the final path.
17126
17127       This config follows the "--cache-db-path".  If you specify a custom lo‐
17128       cation    for    "--cache-db-path"    and   don't   specify   one   for
17129       "--cache-chunk-path" then "--cache-chunk-path" will use the  same  path
17130       as "--cache-db-path".
17131
17132       • Config: chunk_path
17133
17134       • Env Var: RCLONE_CACHE_CHUNK_PATH
17135
17136       • Type: string
17137
17138       • Default: "$HOME/.cache/rclone/cache-backend"
17139
17140   --cache-db-purge
17141       Clear all the cached data for this remote on start.
17142
17143       • Config: db_purge
17144
17145       • Env Var: RCLONE_CACHE_DB_PURGE
17146
17147       • Type: bool
17148
17149       • Default: false
17150
17151   --cache-chunk-clean-interval
17152       How  often should the cache perform cleanups of the chunk storage.  The
17153       default value should be ok for most people.  If you find that the cache
17154       goes  over  "cache-chunk-total-size"  too  often then try to lower this
17155       value to force it to perform cleanups more often.
17156
17157       • Config: chunk_clean_interval
17158
17159       • Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
17160
17161       • Type: Duration
17162
17163       • Default: 1m0s
17164
17165   --cache-read-retries
17166       How many times to retry a read from a cache storage.
17167
17168       Since reading from a cache stream is independent from downloading  file
17169       data,  readers  can  get  to  a point where there's no more data in the
17170       cache.  Most of the times this can indicate  a  connectivity  issue  if
17171       cache isn't able to provide file data anymore.
17172
17173       For  really slow connections, increase this to a point where the stream
17174       is able to provide data but your experience will be very stuttering.
17175
17176       • Config: read_retries
17177
17178       • Env Var: RCLONE_CACHE_READ_RETRIES
17179
17180       • Type: int
17181
17182       • Default: 10
17183
17184   --cache-workers
17185       How many workers should run in parallel to download chunks.
17186
17187       Higher values will mean more parallel processing  (better  CPU  needed)
17188       and  more concurrent requests on the cloud provider.  This impacts sev‐
17189       eral aspects like the cloud provider API limits,  more  stress  on  the
17190       hardware  that  rclone  runs  on but it also means that streams will be
17191       more fluid and data will be available much more faster to readers.
17192
17193       Note: If the optional Plex integration is  enabled  then  this  setting
17194       will  adapt  to  the  type of reading performed and the value specified
17195       here will be used as a maximum number of workers to use.
17196
17197       • Config: workers
17198
17199       • Env Var: RCLONE_CACHE_WORKERS
17200
17201       • Type: int
17202
17203       • Default: 4
17204
17205   --cache-chunk-no-memory
17206       Disable the in-memory cache for storing chunks during streaming.
17207
17208       By default, cache will keep file data during streaming in RAM  as  well
17209       to provide it to readers as fast as possible.
17210
17211       This  transient data is evicted as soon as it is read and the number of
17212       chunks stored doesn't exceed the number of workers.  However, depending
17213       on  other  settings  like  "cache-chunk-size"  and "cache-workers" this
17214       footprint can increase if there  are  parallel  streams  too  (multiple
17215       files being read at the same time).
17216
17217       If the hardware permits it, use this feature to provide an overall bet‐
17218       ter performance during streaming but it can also be disabled if RAM  is
17219       not available on the local machine.
17220
17221       • Config: chunk_no_memory
17222
17223       • Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
17224
17225       • Type: bool
17226
17227       • Default: false
17228
17229   --cache-rps
17230       Limits  the  number of requests per second to the source FS (-1 to dis‐
17231       able)
17232
17233       This setting places a hard limit on the number of requests  per  second
17234       that  cache  will  be doing to the cloud provider remote and try to re‐
17235       spect that value by setting waits between reads.
17236
17237       If you find that you're getting banned or limited on the cloud provider
17238       through  cache  and  know  that a smaller number of requests per second
17239       will allow you to work with it then you can use this setting for that.
17240
17241       A good balance of all the other settings should make this setting  use‐
17242       less but it is available to set for more special cases.
17243
17244       NOTE:  This  will limit the number of requests during streams but other
17245       API calls to the cloud provider  like  directory  listings  will  still
17246       pass.
17247
17248       • Config: rps
17249
17250       • Env Var: RCLONE_CACHE_RPS
17251
17252       • Type: int
17253
17254       • Default: -1
17255
17256   --cache-writes
17257       Cache file data on writes through the FS
17258
17259       If  you  need  to  read files immediately after you upload them through
17260       cache you can enable this flag to have their data stored in  the  cache
17261       store at the same time during upload.
17262
17263       • Config: writes
17264
17265       • Env Var: RCLONE_CACHE_WRITES
17266
17267       • Type: bool
17268
17269       • Default: false
17270
17271   --cache-tmp-upload-path
17272       Directory to keep temporary files until they are uploaded.
17273
17274       This  is  the  path where cache will use as a temporary storage for new
17275       files that need to be uploaded to the cloud provider.
17276
17277       Specifying a value will enable this feature.  Without it,  it  is  com‐
17278       pletely  disabled  and  files  will  be  uploaded directly to the cloud
17279       provider
17280
17281       • Config: tmp_upload_path
17282
17283       • Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
17284
17285       • Type: string
17286
17287       • Default: ""
17288
17289   --cache-tmp-wait-time
17290       How long should files be stored in local cache before being uploaded
17291
17292       This is the duration that a file must wait in  the  temporary  location
17293       cache-tmp-upload-path before it is selected for upload.
17294
17295       Note that only one file is uploaded at a time and it can take longer to
17296       start the upload if a queue formed for this purpose.
17297
17298       • Config: tmp_wait_time
17299
17300       • Env Var: RCLONE_CACHE_TMP_WAIT_TIME
17301
17302       • Type: Duration
17303
17304       • Default: 15s
17305
17306   --cache-db-wait-time
17307       How long to wait for the DB to be available - 0 is unlimited
17308
17309       Only one process can have the DB open at any one time, so rclone  waits
17310       for this duration for the DB to become available before it gives an er‐
17311       ror.
17312
17313       If you set it to 0 then it will wait forever.
17314
17315       • Config: db_wait_time
17316
17317       • Env Var: RCLONE_CACHE_DB_WAIT_TIME
17318
17319       • Type: Duration
17320
17321       • Default: 1s
17322
17323   Backend commands
17324       Here are the commands specific to the cache backend.
17325
17326       Run them with
17327
17328              rclone backend COMMAND remote:
17329
17330       The help below will explain what arguments each command takes.
17331
17332       See   the    "rclone    backend"    command    (https://rclone.org/com
17333       mands/rclone_backend/)  for  more info on how to pass options and argu‐
17334       ments.
17335
17336       These can be run on a running backend using the rc command backend/com‐
17337       mand (https://rclone.org/rc/#backend/command).
17338
17339   stats
17340       Print stats on the cache backend in JSON format.
17341
17342              rclone backend stats remote: [options] [<arguments>+]
17343
17344   Chunker (BETA)
17345       The  chunker  overlay  transparently  splits  large  files into smaller
17346       chunks during upload to wrapped remote and transparently assembles them
17347       back  when the file is downloaded.  This allows to effectively overcome
17348       size limits imposed by storage providers.
17349
17350       To use it, first set up the underlying remote following the  configura‐
17351       tion  instructions  for that remote.  You can also use a local pathname
17352       instead of a remote.
17353
17354       First check your chosen remote is working - we'll call  it  remote:path
17355       here.   Note  that anything inside remote:path will be chunked and any‐
17356       thing outside won't.  This means that if you are using a  bucket  based
17357       remote (e.g.  S3, B2, swift) then you should probably put the bucket in
17358       the remote s3:bucket.
17359
17360       Now configure chunker using rclone config.  We will call this one over‐
17361       lay to separate it from the remote itself.
17362
17363              No remotes found - make a new one
17364              n) New remote
17365              s) Set configuration password
17366              q) Quit config
17367              n/s/q> n
17368              name> overlay
17369              Type of storage to configure.
17370              Choose a number from below, or type in your own value
17371              [snip]
17372              XX / Transparently chunk/split large files
17373                 \ "chunker"
17374              [snip]
17375              Storage> chunker
17376              Remote to chunk/unchunk.
17377              Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
17378              "myremote:bucket" or maybe "myremote:" (not recommended).
17379              Enter a string value. Press Enter for the default ("").
17380              remote> remote:path
17381              Files larger than chunk size will be split in chunks.
17382              Enter a size with suffix k,M,G,T. Press Enter for the default ("2G").
17383              chunk_size> 100M
17384              Choose how chunker handles hash sums. All modes but "none" require metadata.
17385              Enter a string value. Press Enter for the default ("md5").
17386              Choose a number from below, or type in your own value
17387               1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise
17388                 \ "none"
17389               2 / MD5 for composite files
17390                 \ "md5"
17391               3 / SHA1 for composite files
17392                 \ "sha1"
17393               4 / MD5 for all files
17394                 \ "md5all"
17395               5 / SHA1 for all files
17396                 \ "sha1all"
17397               6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported
17398                 \ "md5quick"
17399               7 / Similar to "md5quick" but prefers SHA1 over MD5
17400                 \ "sha1quick"
17401              hash_type> md5
17402              Edit advanced config? (y/n)
17403              y) Yes
17404              n) No
17405              y/n> n
17406              Remote config
17407              --------------------
17408              [overlay]
17409              type = chunker
17410              remote = remote:bucket
17411              chunk_size = 100M
17412              hash_type = md5
17413              --------------------
17414              y) Yes this is OK
17415              e) Edit this remote
17416              d) Delete this remote
17417              y/e/d> y
17418
17419   Specifying the remote
17420       In normal use, make sure the remote has a : in.  If you specify the re‐
17421       mote without a : then rclone will use a local directory of  that  name.
17422       So  if you use a remote of /path/to/secret/files then rclone will chunk
17423       stuff in that directory.  If you use a remote of name then rclone  will
17424       put files in a directory called name in the current directory.
17425
17426   Chunking
17427       When  rclone starts a file upload, chunker checks the file size.  If it
17428       doesn't exceed the configured chunk size, chunker will  just  pass  the
17429       file to the wrapped remote.  If a file is large, chunker will transpar‐
17430       ently cut data in pieces with temporary names and stream  them  one  by
17431       one,  on the fly.  Each data chunk will contain the specified number of
17432       bytes, except for the last one which may have less data.  If file  size
17433       is unknown in advance (this is called a streaming upload), chunker will
17434       internally create a temporary copy, record  its  size  and  repeat  the
17435       above process.
17436
17437       When upload completes, temporary chunk files are finally renamed.  This
17438       scheme guarantees that operations can be run in parallel and look  from
17439       outside  as  atomic.   A similar method with hidden temporary chunks is
17440       used for other operations (copy/move/rename, etc.).   If  an  operation
17441       fails,  hidden  chunks are normally destroyed, and the target composite
17442       file stays intact.
17443
17444       When a composite file download is requested, chunker transparently  as‐
17445       sembles  it  by  concatenating  data  chunks in order.  As the split is
17446       trivial one could even manually concatenate data chunks together to ob‐
17447       tain the original content.
17448
17449       When  the  list rclone command scans a directory on wrapped remote, the
17450       potential chunk files are accounted for,  grouped  and  assembled  into
17451       composite directory entries.  Any temporary chunks are hidden.
17452
17453       List  and other commands can sometimes come across composite files with
17454       missing or invalid chunks, e.g.  shadowed by  like-named  directory  or
17455       another file.  This usually means that wrapped file system has been di‐
17456       rectly tampered with or damaged.  If chunker detects a missing chunk it
17457       will  by  default  print  warning,  skip  the whole incomplete group of
17458       chunks but proceed with current  command.   You  can  set  the  --chun‐
17459       ker-fail-hard  flag  to  have commands abort with error message in such
17460       cases.
17461
17462   Chunk names
17463       The default chunk name format is *.rclone_chunk.###, hence  by  default
17464       chunk         names         are         BIG_FILE_NAME.rclone_chunk.001,
17465       BIG_FILE_NAME.rclone_chunk.002 etc.  You  can  configure  another  name
17466       format using the name_format configuration file option.  The format us‐
17467       es asterisk * as a placeholder for the base file name and one  or  more
17468       consecutive  hash  characters  #  as a placeholder for sequential chunk
17469       number.  There must be one and only one asterisk.  The number  of  con‐
17470       secutive  hash characters defines the minimum length of a string repre‐
17471       senting a chunk number.  If decimal chunk number has less  digits  than
17472       the  number  of  hashes,  it  is  left-padded by zeros.  If the decimal
17473       string is longer, it is left intact.  By default numbering starts  from
17474       1  but  there  is another option that allows user to start from 0, e.g.
17475       for compatibility with legacy software.
17476
17477       For example, if name format is big_*-##.part and original file name  is
17478       data.txt  and  numbering  starts  from  0, then the first chunk will be
17479       named big_data.txt-00.part, the 99th chunk will be big_data.txt-98.part
17480       and the 302nd chunk will become big_data.txt-301.part.
17481
17482       Note  that  list  assembles composite directory entries only when chunk
17483       names match the configured format and treats non-conforming file  names
17484       as normal non-chunked files.
17485
17486       When  using norename transactions, chunk names will additionally have a
17487       unique       file       version       suffix.        For       example,
17488       BIG_FILE_NAME.rclone_chunk.001_bp562k.
17489
17490   Metadata
17491       Besides  data chunks chunker will by default create metadata object for
17492       a composite file.  The object is named after the original file.   Chun‐
17493       ker allows user to disable metadata completely (the none format).  Note
17494       that metadata is normally not created for files smaller than  the  con‐
17495       figured chunk size.  This may change in future rclone releases.
17496
17497   Simple JSON metadata format
17498       This is the default format.  It supports hash sums and chunk validation
17499       for composite files.  Meta objects carry the following fields:
17500
17501       • ver - version of format, currently 1
17502
17503       • size - total size of composite file
17504
17505       • nchunks - number of data chunks in file
17506
17507       • md5 - MD5 hashsum of composite file (if present)
17508
17509       • sha1 - SHA1 hashsum (if present)
17510
17511       • txn - identifies current version of the file
17512
17513       There is no field for composite file name as it's simply equal  to  the
17514       name  of meta object on the wrapped remote.  Please refer to respective
17515       sections for details on hashsums and modified time handling.
17516
17517   No metadata
17518       You can disable meta objects by setting the meta format option to none.
17519       In this mode chunker will scan directory for all files that follow con‐
17520       figured chunk name format, group them by detecting chunks with the same
17521       base name and show group names as virtual composite files.  This method
17522       is more prone to missing chunk errors (especially missing  last  chunk)
17523       than format with metadata enabled.
17524
17525   Hashsums
17526       Chunker  supports  hashsums only when a compatible metadata is present.
17527       Hence, if you choose metadata format of none, chunker will report hash‐
17528       sum as UNSUPPORTED.
17529
17530       Please  note  that  by  default  metadata  is stored only for composite
17531       files.  If a file is smaller than configured chunk size,  chunker  will
17532       transparently  redirect hash requests to wrapped remote, so support de‐
17533       pends on that.  You will see the empty string as a hashsum of requested
17534       type for small files if the wrapped remote doesn't support it.
17535
17536       Many storage backends support MD5 and SHA1 hash types, so does chunker.
17537       With chunker you can choose one or another but not both.  MD5 is set by
17538       default  as  the  most  supported type.  Since chunker keeps hashes for
17539       composite files and falls back to the wrapped remote hash for non-chun‐
17540       ked  ones,  we  advise you to choose the same hash type as supported by
17541       wrapped remote so that your file listings look coherent.
17542
17543       If your storage backend does not support MD5 or SHA1 but you need  con‐
17544       sistent  file hashing, configure chunker with md5all or sha1all.  These
17545       two modes guarantee given  hash  for  all  files.   If  wrapped  remote
17546       doesn't  support  it, chunker will then add metadata to all files, even
17547       small.  However, this can double the amount of small files  in  storage
17548       and  incur  additional  service  charges.   You can even use chunker to
17549       force md5/sha1 support in any other remote at expense of  sidecar  meta
17550       objects  by  setting  e.g.   chunk_type=sha1all  to  force hashsums and
17551       chunk_size=1P to effectively disable chunking.
17552
17553       Normally, when a file is copied to chunker controlled  remote,  chunker
17554       will  ask  the  file  source  for  compatible  file  hash and revert to
17555       on-the-fly calculation if none is found.  This involves some CPU  over‐
17556       head  but  provides a guarantee that given hashsum is available.  Also,
17557       chunker will reject a server-side copy or move operation if source  and
17558       destination  hashsum types are different resulting in the extra network
17559       bandwidth, too.  In some rare cases this may be undesired,  so  chunker
17560       provides  two  optional choices: sha1quick and md5quick.  If the source
17561       does not support primary hash type and the quick mode is enabled, chun‐
17562       ker  will  try  to fall back to the secondary type.  This will save CPU
17563       and bandwidth but can result in empty hashsums at destination.   Beware
17564       of  consequences:  the sync command will revert (sometimes silently) to
17565       time/size comparison if compatible hashsums between source  and  target
17566       are not found.
17567
17568   Modified time
17569       Chunker  stores  modification times using the wrapped remote so support
17570       depends on that.  For a small non-chunked file the chunker overlay sim‐
17571       ply  manipulates  modification  time of the wrapped remote file.  For a
17572       composite file with metadata chunker will get and set modification time
17573       of  the  metadata object on the wrapped remote.  If file is chunked but
17574       metadata format is none then chunker will use modification time of  the
17575       first data chunk.
17576
17577   Migrations
17578       The  idiomatic  way  to  migrate  to a different chunk size, hash type,
17579       transaction style or chunk naming scheme is to:
17580
17581       • Collect all your chunked files under a directory and have your  chun‐
17582         ker remote point to it.
17583
17584       • Create  another  directory  (most probably on the same cloud storage)
17585         and configure a new remote with desired metadata format,  hash  type,
17586         chunk naming etc.
17587
17588       • Now  run  rclone sync -i oldchunks: newchunks: and all your data will
17589         be transparently converted in transfer.  This may take some time, yet
17590         chunker will try server-side copy if possible.
17591
17592       • After checking data integrity you may remove configuration section of
17593         the old remote.
17594
17595       If rclone gets killed during a long operation on a big composite  file,
17596       hidden  temporary  chunks  may stay in the directory.  They will not be
17597       shown by the list command but will eat up your account  quota.   Please
17598       note  that the deletefile command deletes only active chunks of a file.
17599       As a workaround, you can use remote of the wrapped file system  to  see
17600       them.  An easy way to get rid of hidden garbage is to copy littered di‐
17601       rectory somewhere using the chunker remote and purge the  original  di‐
17602       rectory.  The copy command will copy only active chunks while the purge
17603       will remove everything including garbage.
17604
17605   Caveats and Limitations
17606       Chunker requires wrapped remote to support server-side move (or copy  +
17607       delete) operations, otherwise it will explicitly refuse to start.  This
17608       is because it internally renames temporary chunk files to  their  final
17609       names when an operation completes successfully.
17610
17611       Chunker  encodes chunk number in file name, so with default name_format
17612       setting it adds 17 characters.  Also chunker adds 7 characters of  tem‐
17613       porary  suffix  during  operations.   Many file systems limit base file
17614       name without path by 255 characters.  Using rclone's crypt remote as  a
17615       base  file  system  limits  file name by 143 characters.  Thus, maximum
17616       name length is 231 for most files and 119  for  chunker-over-crypt.   A
17617       user  in need can change name format to e.g.  *.rcc## and save 10 char‐
17618       acters (provided at most 99 chunks per file).
17619
17620       Note that a move implemented using the copy-and-delete method may incur
17621       double charging with some cloud storage providers.
17622
17623       Chunker  will  not  automatically  rename  existing chunks when you run
17624       rclone config on a live remote and change the chunk name  format.   Be‐
17625       ware  that  in  result  of  this  some files which have been treated as
17626       chunks before the change can pop up in  directory  listings  as  normal
17627       files  and  vice versa.  The same warning holds for the chunk size.  If
17628       you desperately need to change critical chunking settings,  you  should
17629       run data migration as described above.
17630
17631       If wrapped remote is case insensitive, the chunker overlay will inherit
17632       that property (so you can't have a file called  "Hello.doc"  and  "hel‐
17633       lo.doc" in the same directory).
17634
17635       Chunker  included  in rclone releases up to v1.54 can sometimes fail to
17636       detect metadata produced by recent versions of  rclone.   We  recommend
17637       users to keep rclone up-to-date to avoid data corruption.
17638
17639       Changing transactions is dangerous and requires explicit migration.
17640
17641   Standard Options
17642       Here  are  the  standard  options  specific  to  chunker (Transparently
17643       chunk/split large files).
17644
17645   --chunker-remote
17646       Remote to chunk/unchunk.  Normally should contain a  ':'  and  a  path,
17647       e.g.   "myremote:path/to/dir",  "myremote:bucket"  or maybe "myremote:"
17648       (not recommended).
17649
17650       • Config: remote
17651
17652       • Env Var: RCLONE_CHUNKER_REMOTE
17653
17654       • Type: string
17655
17656       • Default: ""
17657
17658   --chunker-chunk-size
17659       Files larger than chunk size will be split in chunks.
17660
17661       • Config: chunk_size
17662
17663       • Env Var: RCLONE_CHUNKER_CHUNK_SIZE
17664
17665       • Type: SizeSuffix
17666
17667       • Default: 2G
17668
17669   --chunker-hash-type
17670       Choose how chunker handles hash sums.  All  modes  but  "none"  require
17671       metadata.
17672
17673       • Config: hash_type
17674
17675       • Env Var: RCLONE_CHUNKER_HASH_TYPE
17676
17677       • Type: string
17678
17679       • Default: "md5"
17680
17681       • Examples:
17682
17683         • "none"
17684
17685           • Pass  any hash supported by wrapped remote for non-chunked files,
17686             return nothing otherwise
17687
17688         • "md5"
17689
17690           • MD5 for composite files
17691
17692         • "sha1"
17693
17694           • SHA1 for composite files
17695
17696         • "md5all"
17697
17698           • MD5 for all files
17699
17700         • "sha1all"
17701
17702           • SHA1 for all files
17703
17704         • "md5quick"
17705
17706           • Copying a file to chunker will request MD5 from the source  fall‐
17707             ing back to SHA1 if unsupported
17708
17709         • "sha1quick"
17710
17711           • Similar to "md5quick" but prefers SHA1 over MD5
17712
17713   Advanced Options
17714       Here  are  the  advanced  options  specific  to  chunker (Transparently
17715       chunk/split large files).
17716
17717   --chunker-name-format
17718       String format of chunk file names.  The two placeholders are: base file
17719       name  (*)  and chunk number (#...).  There must be one and only one as‐
17720       terisk and one or more consecutive hash characters.   If  chunk  number
17721       has  less digits than the number of hashes, it is left-padded by zeros.
17722       If there are more digits in the number, they are left as is.   Possible
17723       chunk files are ignored if their name does not match given format.
17724
17725       • Config: name_format
17726
17727       • Env Var: RCLONE_CHUNKER_NAME_FORMAT
17728
17729       • Type: string
17730
17731       • Default: "*.rclone_chunk.###"
17732
17733   --chunker-start-from
17734       Minimum  valid chunk number.  Usually 0 or 1.  By default chunk numbers
17735       start from 1.
17736
17737       • Config: start_from
17738
17739       • Env Var: RCLONE_CHUNKER_START_FROM
17740
17741       • Type: int
17742
17743       • Default: 1
17744
17745   --chunker-meta-format
17746       Format of the metadata object  or  "none".   By  default  "simplejson".
17747       Metadata is a small JSON file named after the composite file.
17748
17749       • Config: meta_format
17750
17751       • Env Var: RCLONE_CHUNKER_META_FORMAT
17752
17753       • Type: string
17754
17755       • Default: "simplejson"
17756
17757       • Examples:
17758
17759         • "none"
17760
17761           • Do not use metadata files at all.  Requires hash type "none".
17762
17763         • "simplejson"
17764
17765           • Simple JSON supports hash sums and chunk validation.
17766
17767           • It has the following fields: ver, size, nchunks, md5, sha1.
17768
17769   --chunker-fail-hard
17770       Choose how chunker should handle files with missing or invalid chunks.
17771
17772       • Config: fail_hard
17773
17774       • Env Var: RCLONE_CHUNKER_FAIL_HARD
17775
17776       • Type: bool
17777
17778       • Default: false
17779
17780       • Examples:
17781
17782         • "true"
17783
17784           • Report errors and abort current command.
17785
17786         • "false"
17787
17788           • Warn user, skip incomplete file and proceed.
17789
17790   --chunker-transactions
17791       Choose how chunker should handle temporary files during transactions.
17792
17793       • Config: transactions
17794
17795       • Env Var: RCLONE_CHUNKER_TRANSACTIONS
17796
17797       • Type: string
17798
17799       • Default: "rename"
17800
17801       • Examples:
17802
17803         • "rename"
17804
17805           • Rename temporary files after a successful transaction.
17806
17807         • "norename"
17808
17809           • Leave  temporary  file names and write transaction ID to metadata
17810             file.
17811
17812           • Metadata is required for no rename transactions (meta format can‐
17813             not be "none").
17814
17815           • If  you are using norename transactions you should be careful not
17816             to downgrade Rclone
17817
17818           • as older versions of Rclone don't support this transaction  style
17819             and will misinterpret
17820
17821           • files manipulated by norename transactions.
17822
17823           • This method is EXPERIMENTAL, don't use on production systems.
17824
17825         • "auto"
17826
17827           • Rename  or norename will be used depending on capabilities of the
17828             backend.
17829
17830           • If meta format is set to "none", rename transactions will  always
17831             be used.
17832
17833           • This method is EXPERIMENTAL, don't use on production systems.
17834
17835   Citrix ShareFile
17836       Citrix  ShareFile  (https://sharefile.com) is a secure file sharing and
17837       transfer service aimed as business.
17838
17839       The initial setup for Citrix ShareFile involves getting  a  token  from
17840       Citrix  ShareFile  which  you can in your browser.  rclone config walks
17841       you through it.
17842
17843       Here is an example of how to make a remote called remote.  First run:
17844
17845               rclone config
17846
17847       This will guide you through an interactive setup process:
17848
17849              No remotes found - make a new one
17850              n) New remote
17851              s) Set configuration password
17852              q) Quit config
17853              n/s/q> n
17854              name> remote
17855              Type of storage to configure.
17856              Enter a string value. Press Enter for the default ("").
17857              Choose a number from below, or type in your own value
17858              XX / Citrix Sharefile
17859                 \ "sharefile"
17860              Storage> sharefile
17861              ** See help for sharefile backend at: https://rclone.org/sharefile/ **
17862
17863              ID of the root folder
17864
17865              Leave blank to access "Personal Folders".  You can use one of the
17866              standard values here or any folder ID (long hex number ID).
17867              Enter a string value. Press Enter for the default ("").
17868              Choose a number from below, or type in your own value
17869               1 / Access the Personal Folders. (Default)
17870                 \ ""
17871               2 / Access the Favorites folder.
17872                 \ "favorites"
17873               3 / Access all the shared folders.
17874                 \ "allshared"
17875               4 / Access all the individual connectors.
17876                 \ "connectors"
17877               5 / Access the home, favorites, and shared folders as well as the connectors.
17878                 \ "top"
17879              root_folder_id>
17880              Edit advanced config? (y/n)
17881              y) Yes
17882              n) No
17883              y/n> n
17884              Remote config
17885              Use auto config?
17886               * Say Y if not sure
17887               * Say N if you are working on a remote or headless machine
17888              y) Yes
17889              n) No
17890              y/n> y
17891              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX
17892              Log in and authorize rclone for access
17893              Waiting for code...
17894              Got code
17895              --------------------
17896              [remote]
17897              type = sharefile
17898              endpoint = https://XXX.sharefile.com
17899              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2019-09-30T19:41:45.878561877+01:00"}
17900              --------------------
17901              y) Yes this is OK
17902              e) Edit this remote
17903              d) Delete this remote
17904              y/e/d> y
17905
17906       See the remote setup docs (https://rclone.org/remote_setup/) for how to
17907       set it up on a machine with no Internet browser available.
17908
17909       Note  that rclone runs a webserver on your local machine to collect the
17910       token as returned from Citrix ShareFile.  This only runs from  the  mo‐
17911       ment  it opens your browser to the moment you get back the verification
17912       code.  This is on http://127.0.0.1:53682/ and this it may  require  you
17913       to unblock it temporarily if you are running a host firewall.
17914
17915       Once configured you can then use rclone like this,
17916
17917       List directories in top level of your ShareFile
17918
17919              rclone lsd remote:
17920
17921       List all the files in your ShareFile
17922
17923              rclone ls remote:
17924
17925       To copy a local directory to an ShareFile directory called backup
17926
17927              rclone copy /home/source remote:backup
17928
17929       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
17930
17931   Modified time and hashes
17932       ShareFile  allows modification times to be set on objects accurate to 1
17933       second.  These will be used to detect whether objects need  syncing  or
17934       not.
17935
17936       ShareFile supports MD5 type hashes, so you can use the --checksum flag.
17937
17938   Transfers
17939       For  files above 128MB rclone will use a chunked transfer.  Rclone will
17940       upload up to --transfers chunks at the same time (shared among all  the
17941       multipart  uploads).   Chunks  are  buffered in memory and are normally
17942       64MB so increasing --transfers will increase memory use.
17943
17944   Limitations
17945       Note that ShareFile is case insensitive so you can't have a file called
17946       "Hello.doc" and one called "hello.doc".
17947
17948       ShareFile only supports filenames up to 256 characters in length.
17949
17950   Restricted filename characters
17951       In    addition    to    the    default    restricted   characters   set
17952       (https://rclone.org/overview/#restricted-characters)   the    following
17953       characters are also replaced:
17954
17955       Character   Value   Replacement
17956       ────────────────────────────────
17957       \           0x5C        \
17958       *           0x2A        *
17959       <           0x3C        <
17960       >           0x3E        >
17961       ?           0x3F        ?
17962       :           0x3A        :
17963       |           0x7C        |
17964       "           0x22        "
17965
17966       File  names  can  also  not start or end with the following characters.
17967       These only get replaced if they are the first or last character in  the
17968       name:
17969
17970       Character   Value   Replacement
17971       ────────────────────────────────
17972       SP          0x20         ␠
17973       .           0x2E        .
17974
17975       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
17976       view/#invalid-utf8), as they can't be used in JSON strings.
17977
17978   Standard Options
17979       Here are the standard options specific to sharefile (Citrix Sharefile).
17980
17981   --sharefile-root-folder-id
17982       ID of the root folder
17983
17984       Leave blank to access "Personal Folders".  You can use one of the stan‐
17985       dard values here or any folder ID (long hex number ID).
17986
17987       • Config: root_folder_id
17988
17989       • Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID
17990
17991       • Type: string
17992
17993       • Default: ""
17994
17995       • Examples:
17996
17997         • ""
17998
17999           • Access the Personal Folders.  (Default)
18000
18001         • "favorites"
18002
18003           • Access the Favorites folder.
18004
18005         • "allshared"
18006
18007           • Access all the shared folders.
18008
18009         • "connectors"
18010
18011           • Access all the individual connectors.
18012
18013         • "top"
18014
18015           • Access  the  home,  favorites,  and shared folders as well as the
18016             connectors.
18017
18018   Advanced Options
18019       Here are the advanced options specific to sharefile (Citrix Sharefile).
18020
18021   --sharefile-upload-cutoff
18022       Cutoff for switching to multipart upload.
18023
18024       • Config: upload_cutoff
18025
18026       • Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF
18027
18028       • Type: SizeSuffix
18029
18030       • Default: 128M
18031
18032   --sharefile-chunk-size
18033       Upload chunk size.  Must a power of 2 >= 256k.
18034
18035       Making this larger will improve performance, but note that  each  chunk
18036       is buffered in memory one per transfer.
18037
18038       Reducing this will reduce memory usage but decrease performance.
18039
18040       • Config: chunk_size
18041
18042       • Env Var: RCLONE_SHAREFILE_CHUNK_SIZE
18043
18044       • Type: SizeSuffix
18045
18046       • Default: 64M
18047
18048   --sharefile-endpoint
18049       Endpoint for API calls.
18050
18051       This  is  usually auto discovered as part of the oauth process, but can
18052       be set manually to something like: https://XXX.sharefile.com
18053
18054       • Config: endpoint
18055
18056       • Env Var: RCLONE_SHAREFILE_ENDPOINT
18057
18058       • Type: string
18059
18060       • Default: ""
18061
18062   --sharefile-encoding
18063       This sets the encoding for the backend.
18064
18065       See: the encoding section  in  the  overview  (https://rclone.org/over
18066       view/#encoding) for more info.
18067
18068       • Config: encoding
18069
18070       • Env Var: RCLONE_SHAREFILE_ENCODING
18071
18072       • Type: MultiEncoder
18073
18074       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
18075         Slash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
18076
18077   Limitations
18078       rclone about is not supported by the Citrix ShareFile  backend.   Back‐
18079       ends  without this capability cannot determine free space for an rclone
18080       mount or use policy mfs (most free space) as  a  member  of  an  rclone
18081       union remote.
18082
18083       See   List   of   backends   that   do   not   support   rclone   about
18084       (https://rclone.org/overview/#optional-features)   See   rclone   about
18085       (https://rclone.org/commands/rclone_about/)
18086
18087   Crypt
18088       Rclone crypt remotes encrypt and decrypt other remotes.
18089
18090       A   remote   of   type   crypt   does   not  access  a  storage  system
18091       (https://rclone.org/overview/) directly, but instead wraps another  re‐
18092       mote,  which  in  turn accesses the storage system.  This is similar to
18093       how          alias          (https://rclone.org/alias/),          union
18094       (https://rclone.org/union/),  chunker (https://rclone.org/chunker/) and
18095       a few others work.  It makes the usage very flexible, as you can add  a
18096       layer,  in  this case an encryption layer, on top of any other backend,
18097       even in multiple layers.  Rclone's functionality can be  used  as  with
18098       any  other  remote,  for example you can mount (https://rclone.org/com
18099       mands/rclone_mount/) a crypt remote.
18100
18101       Accessing a storage system through a crypt remote realizes  client-side
18102       encryption,  which makes it safe to keep your data in a location you do
18103       not trust will not get compromised.  When working against the crypt re‐
18104       mote,  rclone will automatically encrypt (before uploading) and decrypt
18105       (after downloading) on your local system as needed on the fly,  leaving
18106       the  data  encrypted  at rest in the wrapped remote.  If you access the
18107       storage system using an application other than rclone,  or  access  the
18108       wrapped  remote  directly  using  rclone, there will not be any encryp‐
18109       tion/decryption: Downloading existing content will just  give  you  the
18110       encrypted  (scrambled)  format, and anything you upload will not become
18111       encrypted.
18112
18113       The encryption is a secret-key encryption (also  called  symmetric  key
18114       encryption)  algorithm,  where  a  password (or pass phrase) is used to
18115       generate real encryption key.  The password can be supplied by user, or
18116       you  may  chose  to  let rclone generate one.  It will be stored in the
18117       configuration file, in a lightly obscured form.  If you are in an envi‐
18118       ronment  where you are not able to keep your configuration secured, you
18119       should add configuration encryption  (https://rclone.org/docs/#configu‐
18120       ration-encryption)  as protection.  As long as you have this configura‐
18121       tion file, you will be able to decrypt your data.  Without the configu‐
18122       ration file, as long as you remember the password (or keep it in a safe
18123       place), you can re-create the configuration and gain access to the  ex‐
18124       isting  data.   You may also configure a corresponding remote in a dif‐
18125       ferent installation to access the same data.  See below for guidance to
18126       changing password.
18127
18128       Encryption   uses   cryptographic   salt  (https://en.wikipedia.org/wi
18129       ki/Salt_(cryptography)), to permute the encryption key so that the same
18130       string  may be encrypted in different ways.  When configuring the crypt
18131       remote it is optional to enter a salt, or  to  let  rclone  generate  a
18132       unique  salt.   If omitted, rclone uses a built-in unique string.  Nor‐
18133       mally in cryptography, the salt is stored together with  the  encrypted
18134       content,  and do not have to be memorized by the user.  This is not the
18135       case in rclone, because rclone does not store any  additional  informa‐
18136       tion  on the remotes.  Use of custom salt is effectively a second pass‐
18137       word that must be memorized.
18138
18139       File   content   encryption   is   performed   using   NaCl   SecretBox
18140       (https://godoc.org/golang.org/x/crypto/nacl/secretbox),  based on XSal‐
18141       sa20 cipher and Poly1305 for integrity.   Names  (file-  and  directory
18142       names)  are  also  encrypted by default, but this has some implications
18143       and is therefore possible to turned off.
18144
18145   Configuration
18146       Here is an example of how to make a remote called secret.
18147
18148       To use crypt, first set up the underlying remote.   Follow  the  rclone
18149       config instructions for the specific backend.
18150
18151       Before  configuring  the  crypt  remote, check the underlying remote is
18152       working.  In this example the underlying remote is called  remote.   We
18153       will  configure a path path within this remote to contain the encrypted
18154       content.  Anything inside remote:path will be  encrypted  and  anything
18155       outside will not.
18156
18157       Configure  crypt using rclone config.  In this example the crypt remote
18158       is called secret, to differentiate it from the underlying remote.
18159
18160       When you are done you can use the crypt remote named secret just as you
18161       would  with  any  other remote, e.g.  rclone copy D:\docs secret:\docs,
18162       and rclone will encrypt and decrypt as needed on the fly.  If  you  ac‐
18163       cess  the  wrapped  remote remote:path directly you will bypass the en‐
18164       cryption, and anything you read will be in encrypted form, and anything
18165       you write will be unencrypted.  To avoid issues it is best to configure
18166       a dedicated path for  encrypted  content,  and  access  it  exclusively
18167       through a crypt remote.
18168
18169              No remotes found - make a new one
18170              n) New remote
18171              s) Set configuration password
18172              q) Quit config
18173              n/s/q> n
18174              name> secret
18175              Type of storage to configure.
18176              Enter a string value. Press Enter for the default ("").
18177              Choose a number from below, or type in your own value
18178              [snip]
18179              XX / Encrypt/Decrypt a remote
18180                 \ "crypt"
18181              [snip]
18182              Storage> crypt
18183              ** See help for crypt backend at: https://rclone.org/crypt/ **
18184
18185              Remote to encrypt/decrypt.
18186              Normally should contain a ':' and a path, eg "myremote:path/to/dir",
18187              "myremote:bucket" or maybe "myremote:" (not recommended).
18188              Enter a string value. Press Enter for the default ("").
18189              remote> remote:path
18190              How to encrypt the filenames.
18191              Enter a string value. Press Enter for the default ("standard").
18192              Choose a number from below, or type in your own value
18193               1 / Encrypt the filenames see the docs for the details.
18194                 \ "standard"
18195               2 / Very simple filename obfuscation.
18196                 \ "obfuscate"
18197               3 / Don't encrypt the file names.  Adds a ".bin" extension only.
18198                 \ "off"
18199              filename_encryption>
18200              Option to either encrypt directory names or leave them intact.
18201
18202              NB If filename_encryption is "off" then this option will do nothing.
18203              Enter a boolean value (true or false). Press Enter for the default ("true").
18204              Choose a number from below, or type in your own value
18205               1 / Encrypt directory names.
18206                 \ "true"
18207               2 / Don't encrypt directory names, leave them intact.
18208                 \ "false"
18209              directory_name_encryption>
18210              Password or pass phrase for encryption.
18211              y) Yes type in my own password
18212              g) Generate random password
18213              y/g> y
18214              Enter the password:
18215              password:
18216              Confirm the password:
18217              password:
18218              Password or pass phrase for salt. Optional but recommended.
18219              Should be different to the previous password.
18220              y) Yes type in my own password
18221              g) Generate random password
18222              n) No leave this optional password blank (default)
18223              y/g/n> g
18224              Password strength in bits.
18225              64 is just about memorable
18226              128 is secure
18227              1024 is the maximum
18228              Bits> 128
18229              Your password is: JAsJvRcgR-_veXNfy_sGmQ
18230              Use this password? Please note that an obscured version of this
18231              password (and not the password itself) will be stored under your
18232              configuration file, so keep this generated password in a safe place.
18233              y) Yes (default)
18234              n) No
18235              y/n>
18236              Edit advanced config? (y/n)
18237              y) Yes
18238              n) No (default)
18239              y/n>
18240              Remote config
18241              --------------------
18242              [secret]
18243              type = crypt
18244              remote = remote:path
18245              password = *** ENCRYPTED ***
18246              password2 = *** ENCRYPTED ***
18247              --------------------
18248              y) Yes this is OK (default)
18249              e) Edit this remote
18250              d) Delete this remote
18251              y/e/d>
18252
18253       Important The crypt password stored in rclone.conf is lightly obscured.
18254       That only protects it from cursory inspection.  It is not secure unless
18255       configuration   encryption  (https://rclone.org/docs/#configuration-en‐
18256       cryption) of rclone.conf is specified.
18257
18258       A long passphrase is recommended, or rclone config can generate a  ran‐
18259       dom one.
18260
18261       The  obscured password is created using AES-CTR with a static key.  The
18262       salt is stored verbatim at the  beginning  of  the  obscured  password.
18263       This static key is shared between all versions of rclone.
18264
18265       If you reconfigure rclone with the same passwords/passphrases elsewhere
18266       it will be compatible, but the obscured version will be  different  due
18267       to the different salt.
18268
18269       Rclone does not encrypt
18270
18271       • file length - this can be calculated within 16 bytes
18272
18273       • modification time - used for syncing
18274
18275   Specifying the remote
18276       When  configuring  the  remote  to encrypt/decrypt, you may specify any
18277       string that rclone accepts as a source/destination of other commands.
18278
18279       The primary use case is to specify the path into an already  configured
18280       remote (e.g.  remote:path/to/dir or remote:bucket), such that data in a
18281       remote untrusted location can be stored encrypted.
18282
18283       You may also specify a local filesystem path, such as  /path/to/dir  on
18284       Linux,  C:\path\to\dir on Windows.  By creating a crypt remote pointing
18285       to such a local filesystem path, you can use rclone as  a  utility  for
18286       pure  local  file  encryption, for example to keep encrypted files on a
18287       removable USB drive.
18288
18289       Note: A string which do not contain a : will by rclone be treated as  a
18290       relative  path  in the local filesystem.  For example, if you enter the
18291       name remote without the trailing :, it will be treated as a subdirecto‐
18292       ry of the current directory with name "remote".
18293
18294       If  a  path  remote:path/to/dir  is  specified, rclone stores encrypted
18295       files in path/to/dir on the remote.  With file name  encryption,  files
18296       saved  to  secret:subdir/subfile  are  stored  in  the unencrypted path
18297       path/to/dir but the subdir/subpath element is encrypted.
18298
18299       The path you specify does not have to exist, rclone will create it when
18300       needed.
18301
18302       If you intend to use the wrapped remote both directly for keeping unen‐
18303       crypted content, as well as through a crypt remote for  encrypted  con‐
18304       tent,  it is recommended to point the crypt remote to a separate direc‐
18305       tory within the wrapped remote.  If you use a bucket based storage sys‐
18306       tem (e.g.  Swift, S3, Google Compute Storage, B2, Hubic) it is general‐
18307       ly advisable  to  wrap  the  crypt  remote  around  a  specific  bucket
18308       (s3:bucket).   If wrapping around the entire root of the storage (s3:),
18309       and use the optional file name  encryption,  rclone  will  encrypt  the
18310       bucket name.
18311
18312   Changing password
18313       Should the password, or the configuration file containing a lightly ob‐
18314       scured form of the password, be compromised,  you  need  to  re-encrypt
18315       your  data  with  a new password.  Since rclone uses secret-key encryp‐
18316       tion, where the encryption key is generated directly from the  password
18317       kept  on  the  client, it is not possible to change the password/key of
18318       already encrypted content.  Just changing the password  configured  for
18319       an  existing  crypt remote means you will no longer able to decrypt any
18320       of the previously encrypted content.  The only possibility is to re-up‐
18321       load everything via a crypt remote configured with your new password.
18322
18323       Depending  on  the size of your data, your bandwith, storage quota etc,
18324       there are different approaches you can take: - If you  have  everything
18325       in  a  different  location, for example on your local system, you could
18326       remove all of the prior encrypted files, change the password  for  your
18327       configured  crypt  remote (or delete and re-create the crypt configura‐
18328       tion), and then re-upload everything from the alternative location.   -
18329       If  you  have  enough  space on the storage system you can create a new
18330       crypt remote pointing to a separate directory on the same backend,  and
18331       then  use  rclone  to copy everything from the original crypt remote to
18332       the new, effectively decrypting everything on the  fly  using  the  old
18333       password  and  re-encrypting using the new password.  When done, delete
18334       the original crypt remote directory and finally the rclone  crypt  con‐
18335       figuration  with  the old password.  All data will be streamed from the
18336       storage system and back, so you will  get  half  the  bandwith  and  be
18337       charged twice if you have upload and download quota on the storage sys‐
18338       tem.
18339
18340       Note: A security problem related to the random password  generator  was
18341       fixed in rclone version 1.53.3 (released 2020-11-19).  Passwords gener‐
18342       ated by rclone config in version 1.49.0 (released 2019-08-26) to 1.53.2
18343       (released  2020-10-26) are not considered secure and should be changed.
18344       If you made up your own password, or used  rclone  version  older  than
18345       1.49.0  or  newer  than  1.53.2 to generate it, you are not affected by
18346       this  issue.   See  issue  #4783  (https://github.com/rclone/rclone/is
18347       sues/4783) for more details, and a tool you can use to check if you are
18348       affected.
18349
18350   Example
18351       Create the following file structure using "standard" file name  encryp‐
18352       tion.
18353
18354              plaintext/
18355              ├── file0.txt
18356              ├── file1.txt
18357              └── subdir
18358                  ├── file2.txt
18359                  ├── file3.txt
18360                  └── subsubdir
18361                      └── file4.txt
18362
18363       Copy these to the remote, and list them
18364
18365              $ rclone -q copy plaintext secret:
18366              $ rclone -q ls secret:
18367                      7 file1.txt
18368                      6 file0.txt
18369                      8 subdir/file2.txt
18370                     10 subdir/subsubdir/file4.txt
18371                      9 subdir/file3.txt
18372
18373       The crypt remote looks like
18374
18375              $ rclone -q ls remote:path
18376                     55 hagjclgavj2mbiqm6u6cnjjqcg
18377                     54 v05749mltvv1tf4onltun46gls
18378                     57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo
18379                     58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
18380                     56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
18381
18382       The directory structure is preserved
18383
18384              $ rclone -q ls secret:subdir
18385                      8 file2.txt
18386                      9 file3.txt
18387                     10 subsubdir/file4.txt
18388
18389       Without  file  name  encryption .bin extensions are added to underlying
18390       names.  This prevents the cloud provider attempting to  interpret  file
18391       content.
18392
18393              $ rclone -q ls remote:path
18394                     54 file0.txt.bin
18395                     57 subdir/file3.txt.bin
18396                     56 subdir/file2.txt.bin
18397                     58 subdir/subsubdir/file4.txt.bin
18398                     55 file1.txt.bin
18399
18400   File name encryption modes
18401       Off
18402
18403       • doesn't hide file names or directory structure
18404
18405       • allows for longer file names (~246 characters)
18406
18407       • can use sub paths and copy single files
18408
18409       Standard
18410
18411       • file names encrypted
18412
18413       • file names can't be as long (~143 characters)
18414
18415       • can use sub paths and copy single files
18416
18417       • directory structure visible
18418
18419       • identical files names will have identical uploaded names
18420
18421       • can use shortcuts to shorten the directory recursion
18422
18423       Obfuscation
18424
18425       This  is a simple "rotate" of the filename, with each file having a rot
18426       distance based on the filename.  Rclone stores the distance at the  be‐
18427       ginning of the filename.  A file called "hello" may become "53.jgnnq".
18428
18429       Obfuscation  is not a strong encryption of filenames, but hinders auto‐
18430       mated scanning tools picking up on filename patterns.  It is an  inter‐
18431       mediate  between "off" and "standard" which allows for longer path seg‐
18432       ment names.
18433
18434       There is a possibility with some unicode based filenames that  the  ob‐
18435       fuscation  is  weak  and  may  map  lower case characters to upper case
18436       equivalents.
18437
18438       Obfuscation cannot be relied upon for strong protection.
18439
18440       • file names very lightly obfuscated
18441
18442       • file names can be longer than standard encryption
18443
18444       • can use sub paths and copy single files
18445
18446       • directory structure visible
18447
18448       • identical files names will have identical uploaded names
18449
18450       Cloud storage systems have limits on file name length  and  total  path
18451       length which rclone is more likely to breach using "Standard" file name
18452       encryption.  Where file names are less thn 156 characters in length is‐
18453       sues should not be encountered, irrespective of cloud storage provider.
18454
18455       An  alternative,  future  rclone file name encryption mode may tolerate
18456       backend provider path length limits.
18457
18458   Directory name encryption
18459       Crypt offers the option of encrypting dir names or leaving them intact.
18460       There are two options:
18461
18462       True
18463
18464       Encrypts  the  whole  file  path  including  directory  names  Example:
18465       1/12/123.txt               is               encrypted                to
18466       p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
18467
18468       False
18469
18470       Only encrypts file names, skips directory names  Example:  1/12/123.txt
18471       is encrypted to 1/12/qgm4avr35m5loi1th53ato71v0
18472
18473   Modified time and hashes
18474       Crypt  stores modification times using the underlying remote so support
18475       depends on that.
18476
18477       Hashes are not stored for crypt.  However the data  integrity  is  pro‐
18478       tected by an extremely strong crypto authenticator.
18479
18480       Use  the  rclone cryptcheck command to check the integrity of a crypted
18481       remote instead of rclone check which can't check the checksums  proper‐
18482       ly.
18483
18484   Standard Options
18485       Here  are the standard options specific to crypt (Encrypt/Decrypt a re‐
18486       mote).
18487
18488   --crypt-remote
18489       Remote to encrypt/decrypt.  Normally should contain a ':' and  a  path,
18490       e.g.   "myremote:path/to/dir",  "myremote:bucket"  or maybe "myremote:"
18491       (not recommended).
18492
18493       • Config: remote
18494
18495       • Env Var: RCLONE_CRYPT_REMOTE
18496
18497       • Type: string
18498
18499       • Default: ""
18500
18501   --crypt-filename-encryption
18502       How to encrypt the filenames.
18503
18504       • Config: filename_encryption
18505
18506       • Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
18507
18508       • Type: string
18509
18510       • Default: "standard"
18511
18512       • Examples:
18513
18514         • "standard"
18515
18516           • Encrypt the filenames see the docs for the details.
18517
18518         • "obfuscate"
18519
18520           • Very simple filename obfuscation.
18521
18522         • "off"
18523
18524           • Don't encrypt the file names.  Adds a ".bin" extension only.
18525
18526   --crypt-directory-name-encryption
18527       Option to either encrypt directory names or leave them intact.
18528
18529       NB If filename_encryption is "off" then this option will do nothing.
18530
18531       • Config: directory_name_encryption
18532
18533       • Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
18534
18535       • Type: bool
18536
18537       • Default: true
18538
18539       • Examples:
18540
18541         • "true"
18542
18543           • Encrypt directory names.
18544
18545         • "false"
18546
18547           • Don't encrypt directory names, leave them intact.
18548
18549   --crypt-password
18550       Password or pass phrase for encryption.
18551
18552       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
18553       (https://rclone.org/commands/rclone_obscure/).
18554
18555       • Config: password
18556
18557       • Env Var: RCLONE_CRYPT_PASSWORD
18558
18559       • Type: string
18560
18561       • Default: ""
18562
18563   --crypt-password2
18564       Password or pass phrase for salt.  Optional but recommended.  Should be
18565       different to the previous password.
18566
18567       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
18568       (https://rclone.org/commands/rclone_obscure/).
18569
18570       • Config: password2
18571
18572       • Env Var: RCLONE_CRYPT_PASSWORD2
18573
18574       • Type: string
18575
18576       • Default: ""
18577
18578   Advanced Options
18579       Here  are the advanced options specific to crypt (Encrypt/Decrypt a re‐
18580       mote).
18581
18582   --crypt-server-side-across-configs
18583       Allow server-side operations (e.g.   copy)  to  work  across  different
18584       crypt configs.
18585
18586       Normally  this  option is not what you want, but if you have two crypts
18587       pointing to the same backend you can use it.
18588
18589       This can be used, for example, to  change  file  name  encryption  type
18590       without re-uploading all the data.  Just make two crypt backends point‐
18591       ing to two different directories with the single changed parameter  and
18592       use rclone move to move the files between the crypt remotes.
18593
18594       • Config: server_side_across_configs
18595
18596       • Env Var: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS
18597
18598       • Type: bool
18599
18600       • Default: false
18601
18602   --crypt-show-mapping
18603       For all files listed show how the names encrypt.
18604
18605       If  this  flag  is  set  then for each file that the remote is asked to
18606       list, it will log (at level INFO) a line  stating  the  decrypted  file
18607       name and the encrypted file name.
18608
18609       This  is  so you can work out which encrypted names are which decrypted
18610       names just in case you need to do something  with  the  encrypted  file
18611       names, or for debugging purposes.
18612
18613       • Config: show_mapping
18614
18615       • Env Var: RCLONE_CRYPT_SHOW_MAPPING
18616
18617       • Type: bool
18618
18619       • Default: false
18620
18621   --crypt-no-data-encryption
18622       Option to either encrypt file data or leave it unencrypted.
18623
18624       • Config: no_data_encryption
18625
18626       • Env Var: RCLONE_CRYPT_NO_DATA_ENCRYPTION
18627
18628       • Type: bool
18629
18630       • Default: false
18631
18632       • Examples:
18633
18634         • "true"
18635
18636           • Don't encrypt file data, leave it unencrypted.
18637
18638         • "false"
18639
18640           • Encrypt file data.
18641
18642   Backend commands
18643       Here are the commands specific to the crypt backend.
18644
18645       Run them with
18646
18647              rclone backend COMMAND remote:
18648
18649       The help below will explain what arguments each command takes.
18650
18651       See    the    "rclone    backend"    command   (https://rclone.org/com
18652       mands/rclone_backend/) for more info on how to pass options  and  argu‐
18653       ments.
18654
18655       These can be run on a running backend using the rc command backend/com‐
18656       mand (https://rclone.org/rc/#backend/command).
18657
18658   encode
18659       Encode the given filename(s)
18660
18661              rclone backend encode remote: [options] [<arguments>+]
18662
18663       This encodes the filenames given  as  arguments  returning  a  list  of
18664       strings of the encoded results.
18665
18666       Usage Example:
18667
18668              rclone backend encode crypt: file1 [file2...]
18669              rclone rc backend/command command=encode fs=crypt: file1 [file2...]
18670
18671   decode
18672       Decode the given filename(s)
18673
18674              rclone backend decode remote: [options] [<arguments>+]
18675
18676       This  decodes  the  filenames  given  as  arguments returning a list of
18677       strings of the decoded results.  It will return an error if any of  the
18678       inputs are invalid.
18679
18680       Usage Example:
18681
18682              rclone backend decode crypt: encryptedfile1 [encryptedfile2...]
18683              rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...]
18684
18685   Backing up a crypted remote
18686       If  you wish to backup a crypted remote, it is recommended that you use
18687       rclone sync on the encrypted files, and make sure the passwords are the
18688       same in the new encrypted remote.
18689
18690       This will have the following advantages
18691
18692       • rclone sync will check the checksums while copying
18693
18694       • you can use rclone check between the encrypted remotes
18695
18696       • you don't decrypt and encrypt unnecessarily
18697
18698       For  example,  let's  say you have your original remote at remote: with
18699       the encrypted version at eremote: with path  remote:crypt.   You  would
18700       then set up the new remote remote2: and then the encrypted version ere‐
18701       mote2: with path remote2:crypt using the same passwords as eremote:.
18702
18703       To sync the two remotes you would do
18704
18705              rclone sync -i remote:crypt remote2:crypt
18706
18707       And to check the integrity you would do
18708
18709              rclone check remote:crypt remote2:crypt
18710
18711   File formats
18712   File encryption
18713       Files are encrypted 1:1 source file to destination  object.   The  file
18714       has a header and is divided into chunks.
18715
18716   Header
18717       • 8 bytes magic string RCLONE\x00\x00
18718
18719       • 24 bytes Nonce (IV)
18720
18721       The initial nonce is generated from the operating systems crypto strong
18722       random number generator.  The nonce is incremented for each chunk  read
18723       making sure each nonce is unique for each block written.  The chance of
18724       a nonce being re-used is minuscule.  If you wrote an  exabyte  of  data
18725       (10¹⁸  bytes)  you would have a probability of approximately 2×10⁻³² of
18726       re-using a nonce.
18727
18728   Chunk
18729       Each chunk will contain 64kB of data, except for the last one which may
18730       have  less  data.  The data chunk is in standard NaCl SecretBox format.
18731       SecretBox uses XSalsa20 and Poly1305 to encrypt and  authenticate  mes‐
18732       sages.
18733
18734       Each chunk contains:
18735
18736       • 16 Bytes of Poly1305 authenticator
18737
18738       • 1 - 65536 bytes XSalsa20 encrypted data
18739
18740       64k  chunk  size  was chosen as the best performing chunk size (the au‐
18741       thenticator takes too much time below this and  the  performance  drops
18742       off  due  to  cache  effects  above  this).  Note that these chunks are
18743       buffered in memory so they can't be too big.
18744
18745       This uses a 32 byte (256 bit key) key derived from the user password.
18746
18747   Examples
18748       1 byte file will encrypt to
18749
18750       • 32 bytes header
18751
18752       • 17 bytes data chunk
18753
18754       49 bytes total
18755
18756       1MB (1048576 bytes) file will encrypt to
18757
18758       • 32 bytes header
18759
18760       • 16 chunks of 65568 bytes
18761
18762       1049120 bytes total (a 0.05% overhead).  This is the overhead  for  big
18763       files.
18764
18765   Name encryption
18766       File names are encrypted segment by segment - the path is broken up in‐
18767       to / separated strings and these are encrypted individually.
18768
18769       File segments are padded using PKCS#7 to a multiple of 16 bytes  before
18770       encryption.
18771
18772       They  are  then  encrypted  with  EME  using AES with 256 bit key.  EME
18773       (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003 pa‐
18774       per "A Parallelizable Enciphering Mode" by Halevi and Rogaway.
18775
18776       This  makes  for  deterministic  encryption which is what we want - the
18777       same filename must encrypt to the same thing otherwise we can't find it
18778       on the cloud storage system.
18779
18780       This means that
18781
18782       • filenames with the same name will encrypt the same
18783
18784       • filenames which start the same won't have a common prefix
18785
18786       This  uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both of
18787       which are derived from the user password.
18788
18789       After encryption they are written out using a modified version of stan‐
18790       dard base32 encoding as described in RFC4648.  The standard encoding is
18791       modified in two ways:
18792
18793       • it becomes lower case (no-one likes upper case filenames!)
18794
18795       • we strip the padding character =
18796
18797       base32 is used rather than the more efficient base64 so rclone  can  be
18798       used on case insensitive remotes (e.g.  Windows, Amazon Drive).
18799
18800   Key derivation
18801       Rclone  uses  scrypt with parameters N=16384, r=8, p=1 with an optional
18802       user supplied salt (password2) to derive the 32+32+16 = 80 bytes of key
18803       material  required.  If the user doesn't supply a salt then rclone uses
18804       an internal one.
18805
18806       scrypt makes it impractical to mount a dictionary attack on rclone  en‐
18807       crypted data.  For full protection against this you should always use a
18808       salt.
18809
18810   SEE ALSO
18811       • rclone cryptdecode  (https://rclone.org/commands/rclone_cryptdecode/)
18812         - Show forward/reverse mapping of encrypted filenames
18813
18814   Compress (Experimental)
18815   Warning
18816       This  remote  is currently experimental.  Things may break and data may
18817       be lost.  Anything you do with this remote is at your own risk.  Please
18818       understand  the risks associated with using experimental code and don't
18819       use this remote in critical applications.
18820
18821       The Compress remote adds compression to another  remote.   It  is  best
18822       used with remotes containing many large compressible files.
18823
18824       To  use this remote, all you need to do is specify another remote and a
18825       compression mode to use:
18826
18827              Current remotes:
18828
18829              Name                 Type
18830              ====                 ====
18831              remote_to_press      sometype
18832
18833              e) Edit existing remote
18834              $ rclone config
18835              n) New remote
18836              d) Delete remote
18837              r) Rename remote
18838              c) Copy remote
18839              s) Set configuration password
18840              q) Quit config
18841              e/n/d/r/c/s/q> n
18842              name> compress
18843              ...
18844               8 / Compress a remote
18845                 \ "compress"
18846              ...
18847              Storage> compress
18848              ** See help for compress backend at: https://rclone.org/compress/ **
18849
18850              Remote to compress.
18851              Enter a string value. Press Enter for the default ("").
18852              remote> remote_to_press:subdir
18853              Compression mode.
18854              Enter a string value. Press Enter for the default ("gzip").
18855              Choose a number from below, or type in your own value
18856               1 / Gzip compression balanced for speed and compression strength.
18857                 \ "gzip"
18858              compression_mode> gzip
18859              Edit advanced config? (y/n)
18860              y) Yes
18861              n) No (default)
18862              y/n> n
18863              Remote config
18864              --------------------
18865              [compress]
18866              type = compress
18867              remote = remote_to_press:subdir
18868              compression_mode = gzip
18869              --------------------
18870              y) Yes this is OK (default)
18871              e) Edit this remote
18872              d) Delete this remote
18873              y/e/d> y
18874
18875   Compression Modes
18876       Currently only gzip compression is supported, it provides a decent bal‐
18877       ance between speed and strength and is well supported by other applica‐
18878       tion.  Compression strength can further be configured via  an  advanced
18879       setting where 0 is no compression and 9 is strongest compression.
18880
18881   Filetype
18882       If you open a remote wrapped by press, you will see that there are many
18883       files with an extension corresponding to the compression algorithm  you
18884       chose.   These  files  are standard files that can be opened by various
18885       archive programs, but they have some hidden metadata that  allows  them
18886       to  be  used  by  rclone.   While you may download and decompress these
18887       files at will, do not manually delete or rename files.   Files  without
18888       correct metadata files will not be recognized by rclone.
18889
18890   File names
18891       The compressed files will be named *.###########.gz where * is the base
18892       file and the # part is base64 encoded size of  the  uncompressed  file.
18893       The  file names should not be changed by anything other than the rclone
18894       compression backend.
18895
18896   Standard Options
18897       Here are the standard options specific to compress (Compress a remote).
18898
18899   --compress-remote
18900       Remote to compress.
18901
18902       • Config: remote
18903
18904       • Env Var: RCLONE_COMPRESS_REMOTE
18905
18906       • Type: string
18907
18908       • Default: ""
18909
18910   --compress-mode
18911       Compression mode.
18912
18913       • Config: mode
18914
18915       • Env Var: RCLONE_COMPRESS_MODE
18916
18917       • Type: string
18918
18919       • Default: "gzip"
18920
18921       • Examples:
18922
18923         • "gzip"
18924
18925           • Standard gzip compression with fastest parameters.
18926
18927   Advanced Options
18928       Here are the advanced options specific to compress (Compress a remote).
18929
18930   --compress-level
18931       GZIP compression level (-2 to 9).
18932
18933                      Generally -1 (default, equivalent to 5) is recommended.
18934                      Levels 1 to 9 increase compressiong at the cost of speed.. Going past 6
18935                      generally offers very little return.
18936
18937                      Level -2 uses Huffmann encoding only. Only use if you now what you
18938                      are doing
18939                      Level 0 turns off compression.
18940
18941       • Config: level
18942
18943       • Env Var: RCLONE_COMPRESS_LEVEL
18944
18945       • Type: int
18946
18947       • Default: -1
18948
18949   --compress-ram-cache-limit
18950       Some remotes don't allow the upload of files  with  unknown  size.   In
18951       this  case the compressed file will need to be cached to determine it's
18952       size.
18953
18954                             Files smaller than this limit will be cached in RAM, file larger than
18955                             this limit will be cached on disk
18956
18957       • Config: ram_cache_limit
18958
18959       • Env Var: RCLONE_COMPRESS_RAM_CACHE_LIMIT
18960
18961       • Type: SizeSuffix
18962
18963       • Default: 20M
18964
18965   Dropbox
18966       Paths are specified as remote:path
18967
18968       Dropbox paths may be as deep as required, e.g.  remote:directory/subdi‐
18969       rectory.
18970
18971       The  initial  setup  for  dropbox involves getting a token from Dropbox
18972       which you need to do in your browser.  rclone config walks you  through
18973       it.
18974
18975       Here is an example of how to make a remote called remote.  First run:
18976
18977               rclone config
18978
18979       This will guide you through an interactive setup process:
18980
18981              n) New remote
18982              d) Delete remote
18983              q) Quit config
18984              e/n/d/q> n
18985              name> remote
18986              Type of storage to configure.
18987              Choose a number from below, or type in your own value
18988              [snip]
18989              XX / Dropbox
18990                 \ "dropbox"
18991              [snip]
18992              Storage> dropbox
18993              Dropbox App Key - leave blank normally.
18994              app_key>
18995              Dropbox App Secret - leave blank normally.
18996              app_secret>
18997              Remote config
18998              Please visit:
18999              https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
19000              Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
19001              --------------------
19002              [remote]
19003              app_key =
19004              app_secret =
19005              token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
19006              --------------------
19007              y) Yes this is OK
19008              e) Edit this remote
19009              d) Delete this remote
19010              y/e/d> y
19011
19012       You can then use it like this,
19013
19014       List directories in top level of your dropbox
19015
19016              rclone lsd remote:
19017
19018       List all the files in your dropbox
19019
19020              rclone ls remote:
19021
19022       To copy a local directory to a dropbox directory called backup
19023
19024              rclone copy /home/source remote:backup
19025
19026   Dropbox for business
19027       Rclone supports Dropbox for business and Team Folders.
19028
19029       When  using  Dropbox  for business remote: and remote:path/to/file will
19030       refer to your personal folder.
19031
19032       If you wish to see Team Folders you must use a leading / in  the  path,
19033       so  rclone  lsd  remote:/  will refer to the root and show you all Team
19034       Folders and your User Folder.
19035
19036       You can then use team folders  like  this  remote:/TeamFolder  and  re‐
19037       mote:/TeamFolder/path/to/file.
19038
19039       A leading / for a Dropbox personal account will do nothing, but it will
19040       take an extra HTTP transaction so it should be avoided.
19041
19042   Modified time and Hashes
19043       Dropbox supports modified times, but the only way to set a modification
19044       time is to re-upload the file.
19045
19046       This  means  that  if  you  uploaded your data with an older version of
19047       rclone which didn't support the v2 API and modified times, rclone  will
19048       decide  to  upload all your old data to fix the modification times.  If
19049       you don't want this to happen use --size-only  or  --checksum  flag  to
19050       stop it.
19051
19052       Dropbox  supports  its  own hash type (https://www.dropbox.com/develop
19053       ers/reference/content-hash) which is checked for all transfers.
19054
19055   Restricted filename characters
19056       Character   Value   Replacement
19057       ────────────────────────────────
19058       NUL         0x00         ␀
19059       /           0x2F        /
19060       DEL         0x7F         ␡
19061       \           0x5C        \
19062
19063       File names can also not end with the following characters.  These  only
19064       get replaced if they are the last character in the name:
19065
19066       Character   Value   Replacement
19067       ────────────────────────────────
19068       SP          0x20         ␠
19069
19070       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
19071       view/#invalid-utf8), as they can't be used in JSON strings.
19072
19073   Standard Options
19074       Here are the standard options specific to dropbox (Dropbox).
19075
19076   --dropbox-client-id
19077       OAuth Client Id Leave blank normally.
19078
19079       • Config: client_id
19080
19081       • Env Var: RCLONE_DROPBOX_CLIENT_ID
19082
19083       • Type: string
19084
19085       • Default: ""
19086
19087   --dropbox-client-secret
19088       OAuth Client Secret Leave blank normally.
19089
19090       • Config: client_secret
19091
19092       • Env Var: RCLONE_DROPBOX_CLIENT_SECRET
19093
19094       • Type: string
19095
19096       • Default: ""
19097
19098   Advanced Options
19099       Here are the advanced options specific to dropbox (Dropbox).
19100
19101   --dropbox-token
19102       OAuth Access Token as a JSON blob.
19103
19104       • Config: token
19105
19106       • Env Var: RCLONE_DROPBOX_TOKEN
19107
19108       • Type: string
19109
19110       • Default: ""
19111
19112   --dropbox-auth-url
19113       Auth server URL.  Leave blank to use the provider defaults.
19114
19115       • Config: auth_url
19116
19117       • Env Var: RCLONE_DROPBOX_AUTH_URL
19118
19119       • Type: string
19120
19121       • Default: ""
19122
19123   --dropbox-token-url
19124       Token server url.  Leave blank to use the provider defaults.
19125
19126       • Config: token_url
19127
19128       • Env Var: RCLONE_DROPBOX_TOKEN_URL
19129
19130       • Type: string
19131
19132       • Default: ""
19133
19134   --dropbox-chunk-size
19135       Upload chunk size.  (< 150M).
19136
19137       Any files larger than this will be uploaded in chunks of this size.
19138
19139       Note that chunks are buffered in memory (one at a time) so  rclone  can
19140       deal with retries.  Setting this larger will increase the speed slight‐
19141       ly (at most 10% for 128MB in tests) at the cost of using  more  memory.
19142       It can be set smaller if you are tight on memory.
19143
19144       • Config: chunk_size
19145
19146       • Env Var: RCLONE_DROPBOX_CHUNK_SIZE
19147
19148       • Type: SizeSuffix
19149
19150       • Default: 48M
19151
19152   --dropbox-impersonate
19153       Impersonate this user when using a business account.
19154
19155       Note  that  if  you  want to use impersonate, you should make sure this
19156       flag is set when running "rclone config" as this will cause  rclone  to
19157       request  the  "members.read"  scope  which  it won't normally.  This is
19158       needed to lookup a members email address  into  the  internal  ID  that
19159       dropbox uses in the API.
19160
19161       Using the "members.read" scope will require a Dropbox Team Admin to ap‐
19162       prove during the OAuth flow.
19163
19164       You will have to use your own  App  (setting  your  own  client_id  and
19165       client_secret)  to use this option as currently rclone's default set of
19166       permissions doesn't include "members.read".  This  can  be  added  once
19167       v1.55 or later is in use everywhere.
19168
19169       • Config: impersonate
19170
19171       • Env Var: RCLONE_DROPBOX_IMPERSONATE
19172
19173       • Type: string
19174
19175       • Default: ""
19176
19177   --dropbox-shared-files
19178       Instructs rclone to work on individual shared files.
19179
19180       In  this  mode rclone's features are extremely limited - only list (ls,
19181       lsl, etc.) operations and read operations (e.g.  downloading) are  sup‐
19182       ported in this mode.  All other operations will be disabled.
19183
19184       • Config: shared_files
19185
19186       • Env Var: RCLONE_DROPBOX_SHARED_FILES
19187
19188       • Type: bool
19189
19190       • Default: false
19191
19192   --dropbox-shared-folders
19193       Instructs rclone to work on shared folders.
19194
19195       When this flag is used with no path only the List operation is support‐
19196       ed and all available shared folders will be listed.  If you  specify  a
19197       path  the  first part will be interpreted as the name of shared folder.
19198       Rclone will then try to mount this shared to the  root  namespace.   On
19199       success  shared  folder rclone proceeds normally.  The shared folder is
19200       now pretty much a normal folder and all normal operations are  support‐
19201       ed.
19202
19203       Note  that we don't unmount the shared folder afterwards so the --drop‐
19204       box-shared-folders can be omitted after the first use of  a  particular
19205       shared folder.
19206
19207       • Config: shared_folders
19208
19209       • Env Var: RCLONE_DROPBOX_SHARED_FOLDERS
19210
19211       • Type: bool
19212
19213       • Default: false
19214
19215   --dropbox-encoding
19216       This sets the encoding for the backend.
19217
19218       See:  the  encoding  section  in the overview (https://rclone.org/over
19219       view/#encoding) for more info.
19220
19221       • Config: encoding
19222
19223       • Env Var: RCLONE_DROPBOX_ENCODING
19224
19225       • Type: MultiEncoder
19226
19227       • Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
19228
19229   Limitations
19230       Note that Dropbox is case insensitive so you can't have a  file  called
19231       "Hello.doc" and one called "hello.doc".
19232
19233       There  are some file names such as thumbs.db which Dropbox can't store.
19234       There is a full list of them in the "Ignored  Files"  section  of  this
19235       document  (https://www.dropbox.com/en/help/145).   Rclone will issue an
19236       error message File name disallowed - not uploading if  it  attempts  to
19237       upload one of those file names, but the sync won't fail.
19238
19239       Some  errors may occur if you try to sync copyright-protected files be‐
19240       cause     Dropbox     has     its      own      copyright      detector
19241       (https://techcrunch.com/2014/03/30/how-dropbox-knows-when-youre-shar
19242       ing-copyrighted-stuff-without-actually-looking-at-your-stuff/)     that
19243       prevents  this sort of file being downloaded.  This will return the er‐
19244       ror ERROR : /path/to/your/file: Failed to copy: failed to  open  source
19245       object: path/restricted_content/.
19246
19247       If  you  have  more  than 10,000 files in a directory then rclone purge
19248       dropbox:dir will return the error Failed to purge: There are  too  many
19249       files involved in this operation.  As a work-around do an rclone delete
19250       dropbox:dir followed by an rclone rmdir dropbox:dir.
19251
19252   Get your own Dropbox App ID
19253       When you use rclone with Dropbox in its default configuration  you  are
19254       using rclone's App ID.  This is shared between all the rclone users.
19255
19256       Here is how to create your own Dropbox App ID for rclone:
19257
19258       1. Log  into  the Dropbox App console (https://www.dropbox.com/develop
19259          ers/apps/create) with your Dropbox Account (It need not  to  be  the
19260          same account as the Dropbox you want to access)
19261
19262       2. Choose an API => Usually this should be Dropbox API
19263
19264       3. Choose  the  type  of  access you want to use => Full Dropbox or App
19265          Folder
19266
19267       4. Name your App.  The app name is global, so you can't use rclone  for
19268          example
19269
19270       5. Click the button Create App
19271
19272       6. Fill Redirect URIs as http://localhost:53682/
19273
19274       7. Find the App key and App secret Use these values in rclone config to
19275          add a new remote or edit an existing remote.
19276
19277   Enterprise File Fabric
19278       This backend supports  Storage  Made  Easy's  Enterprise  File  Fabric™
19279       (https://storagemadeeasy.com/about/) which provides a software solution
19280       to integrate and unify File and Object  Storage  accessible  through  a
19281       global file system.
19282
19283       The  initial setup for the Enterprise File Fabric backend involves get‐
19284       ting a token from the the Enterprise File Fabric which you need  to  do
19285       in your browser.  rclone config walks you through it.
19286
19287       Here is an example of how to make a remote called remote.  First run:
19288
19289               rclone config
19290
19291       This will guide you through an interactive setup process:
19292
19293              No remotes found - make a new one
19294              n) New remote
19295              s) Set configuration password
19296              q) Quit config
19297              n/s/q> n
19298              name> remote
19299              Type of storage to configure.
19300              Enter a string value. Press Enter for the default ("").
19301              Choose a number from below, or type in your own value
19302              [snip]
19303              XX / Enterprise File Fabric
19304                 \ "filefabric"
19305              [snip]
19306              Storage> filefabric
19307              ** See help for filefabric backend at: https://rclone.org/filefabric/ **
19308
19309              URL of the Enterprise File Fabric to connect to
19310              Enter a string value. Press Enter for the default ("").
19311              Choose a number from below, or type in your own value
19312               1 / Storage Made Easy US
19313                 \ "https://storagemadeeasy.com"
19314               2 / Storage Made Easy EU
19315                 \ "https://eu.storagemadeeasy.com"
19316               3 / Connect to your Enterprise File Fabric
19317                 \ "https://yourfabric.smestorage.com"
19318              url> https://yourfabric.smestorage.com/
19319              ID of the root folder
19320              Leave blank normally.
19321
19322              Fill in to make rclone start with directory of a given ID.
19323
19324              Enter a string value. Press Enter for the default ("").
19325              root_folder_id>
19326              Permanent Authentication Token
19327
19328              A Permanent Authentication Token can be created in the Enterprise File
19329              Fabric, on the users Dashboard under Security, there is an entry
19330              you'll see called "My Authentication Tokens". Click the Manage button
19331              to create one.
19332
19333              These tokens are normally valid for several years.
19334
19335              For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens
19336
19337              Enter a string value. Press Enter for the default ("").
19338              permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
19339              Edit advanced config? (y/n)
19340              y) Yes
19341              n) No (default)
19342              y/n> n
19343              Remote config
19344              --------------------
19345              [remote]
19346              type = filefabric
19347              url = https://yourfabric.smestorage.com/
19348              permanent_token = xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
19349              --------------------
19350              y) Yes this is OK (default)
19351              e) Edit this remote
19352              d) Delete this remote
19353              y/e/d> y
19354
19355       Once configured you can then use rclone like this,
19356
19357       List directories in top level of your Enterprise File Fabric
19358
19359              rclone lsd remote:
19360
19361       List all the files in your Enterprise File Fabric
19362
19363              rclone ls remote:
19364
19365       To copy a local directory to an Enterprise File Fabric directory called
19366       backup
19367
19368              rclone copy /home/source remote:backup
19369
19370   Modified time and hashes
19371       The Enterprise File Fabric allows modification times to be set on files
19372       accurate  to  1  second.   These will be used to detect whether objects
19373       need syncing or not.
19374
19375       The Enterprise File Fabric does not support any  data  hashes  at  this
19376       time.
19377
19378   Restricted filename characters
19379       The default restricted characters set (https://rclone.org/overview/#re‐
19380       stricted-characters) will be replaced.
19381
19382       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
19383       view/#invalid-utf8), as they can't be used in JSON strings.
19384
19385   Empty files
19386       Empty  files  aren't  supported  by the Enterprise File Fabric.  Rclone
19387       will therefore upload an empty file as a single space with a mime  type
19388       of  application/vnd.rclone.empty.file and files with that mime type are
19389       treated as empty.
19390
19391   Root folder ID
19392       You can set the root_folder_id  for  rclone.   This  is  the  directory
19393       (identified  by  its Folder ID) that rclone considers to be the root of
19394       your Enterprise File Fabric.
19395
19396       Normally you will leave this blank and rclone will determine  the  cor‐
19397       rect root to use itself.
19398
19399       However  you can set this to restrict rclone to a specific folder hier‐
19400       archy.
19401
19402       In order to do this you will have to find the Folder ID of the directo‐
19403       ry  you  wish rclone to display.  These aren't displayed in the web in‐
19404       terface, but you can use rclone lsf to find them, for example
19405
19406              $ rclone lsf --dirs-only -Fip --csv filefabric:
19407              120673758,Burnt PDFs/
19408              120673759,My Quick Uploads/
19409              120673755,My Syncs/
19410              120673756,My backups/
19411              120673757,My contacts/
19412              120673761,S3 Storage/
19413
19414       The ID for "S3 Storage" would be 120673761.
19415
19416   Standard Options
19417       Here are the standard options specific to filefabric  (Enterprise  File
19418       Fabric).
19419
19420   --filefabric-url
19421       URL of the Enterprise File Fabric to connect to
19422
19423       • Config: url
19424
19425       • Env Var: RCLONE_FILEFABRIC_URL
19426
19427       • Type: string
19428
19429       • Default: ""
19430
19431       • Examples:
19432
19433         • "https://storagemadeeasy.com"
19434
19435           • Storage Made Easy US
19436
19437         • "https://eu.storagemadeeasy.com"
19438
19439           • Storage Made Easy EU
19440
19441         • "https://yourfabric.smestorage.com"
19442
19443           • Connect to your Enterprise File Fabric
19444
19445   --filefabric-root-folder-id
19446       ID of the root folder Leave blank normally.
19447
19448       Fill in to make rclone start with directory of a given ID.
19449
19450       • Config: root_folder_id
19451
19452       • Env Var: RCLONE_FILEFABRIC_ROOT_FOLDER_ID
19453
19454       • Type: string
19455
19456       • Default: ""
19457
19458   --filefabric-permanent-token
19459       Permanent Authentication Token
19460
19461       A  Permanent Authentication Token can be created in the Enterprise File
19462       Fabric, on the users Dashboard under Security, there is an entry you'll
19463       see called "My Authentication Tokens".  Click the Manage button to cre‐
19464       ate one.
19465
19466       These tokens are normally valid for several years.
19467
19468       For  more  info   see:   https://docs.storagemadeeasy.com/organisation
19469       cloud/api-tokens
19470
19471       • Config: permanent_token
19472
19473       • Env Var: RCLONE_FILEFABRIC_PERMANENT_TOKEN
19474
19475       • Type: string
19476
19477       • Default: ""
19478
19479   Advanced Options
19480       Here  are  the advanced options specific to filefabric (Enterprise File
19481       Fabric).
19482
19483   --filefabric-token
19484       Session Token
19485
19486       This is a session token which rclone caches in the config file.  It  is
19487       usually valid for 1 hour.
19488
19489       Don't set this value - rclone will set it automatically.
19490
19491       • Config: token
19492
19493       • Env Var: RCLONE_FILEFABRIC_TOKEN
19494
19495       • Type: string
19496
19497       • Default: ""
19498
19499   --filefabric-token-expiry
19500       Token expiry time
19501
19502       Don't set this value - rclone will set it automatically.
19503
19504       • Config: token_expiry
19505
19506       • Env Var: RCLONE_FILEFABRIC_TOKEN_EXPIRY
19507
19508       • Type: string
19509
19510       • Default: ""
19511
19512   --filefabric-version
19513       Version read from the file fabric
19514
19515       Don't set this value - rclone will set it automatically.
19516
19517       • Config: version
19518
19519       • Env Var: RCLONE_FILEFABRIC_VERSION
19520
19521       • Type: string
19522
19523       • Default: ""
19524
19525   --filefabric-encoding
19526       This sets the encoding for the backend.
19527
19528       See:  the  encoding  section  in the overview (https://rclone.org/over
19529       view/#encoding) for more info.
19530
19531       • Config: encoding
19532
19533       • Env Var: RCLONE_FILEFABRIC_ENCODING
19534
19535       • Type: MultiEncoder
19536
19537       • Default: Slash,Del,Ctl,InvalidUtf8,Dot
19538
19539   FTP
19540       FTP is the File Transfer Protocol.  Rclone FTP support is provided  us‐
19541       ing   the  github.com/jlaffaye/ftp  (https://godoc.org/github.com/jlaf
19542       faye/ftp) package.
19543
19544       Limitations of Rclone's FTP backend
19545
19546       Paths are specified as remote:path.  If the path does not begin with  a
19547       /  it is relative to the home directory of the user.  An empty path re‐
19548       mote: refers to the user's home directory.
19549
19550       To create an FTP configuration named remote, run
19551
19552              rclone config
19553
19554       Rclone config guides you through an interactive setup process.  A mini‐
19555       mal rclone FTP remote definition only requires host, username and pass‐
19556       word.  For an anonymous FTP server, use anonymous as username and  your
19557       email address as password.
19558
19559              No remotes found - make a new one
19560              n) New remote
19561              r) Rename remote
19562              c) Copy remote
19563              s) Set configuration password
19564              q) Quit config
19565              n/r/c/s/q> n
19566              name> remote
19567              Type of storage to configure.
19568              Enter a string value. Press Enter for the default ("").
19569              Choose a number from below, or type in your own value
19570              [snip]
19571              XX / FTP Connection
19572                 \ "ftp"
19573              [snip]
19574              Storage> ftp
19575              ** See help for ftp backend at: https://rclone.org/ftp/ **
19576
19577              FTP host to connect to
19578              Enter a string value. Press Enter for the default ("").
19579              Choose a number from below, or type in your own value
19580               1 / Connect to ftp.example.com
19581                 \ "ftp.example.com"
19582              host> ftp.example.com
19583              FTP username, leave blank for current username, $USER
19584              Enter a string value. Press Enter for the default ("").
19585              user>
19586              FTP port, leave blank to use default (21)
19587              Enter a string value. Press Enter for the default ("").
19588              port>
19589              FTP password
19590              y) Yes type in my own password
19591              g) Generate random password
19592              y/g> y
19593              Enter the password:
19594              password:
19595              Confirm the password:
19596              password:
19597              Use FTP over TLS (Implicit)
19598              Enter a boolean value (true or false). Press Enter for the default ("false").
19599              tls>
19600              Use FTP over TLS (Explicit)
19601              Enter a boolean value (true or false). Press Enter for the default ("false").
19602              explicit_tls>
19603              Remote config
19604              --------------------
19605              [remote]
19606              type = ftp
19607              host = ftp.example.com
19608              pass = *** ENCRYPTED ***
19609              --------------------
19610              y) Yes this is OK
19611              e) Edit this remote
19612              d) Delete this remote
19613              y/e/d> y
19614
19615       To see all directories in the home directory of remote
19616
19617              rclone lsd remote:
19618
19619       Make a new directory
19620
19621              rclone mkdir remote:path/to/directory
19622
19623       List the contents of a directory
19624
19625              rclone ls remote:path/to/directory
19626
19627       Sync /home/local/directory to the remote directory, deleting any excess
19628       files in the directory.
19629
19630              rclone sync -i /home/local/directory remote:directory
19631
19632   Example without a config file
19633              rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=`rclone obscure dummy`
19634
19635   Implicit TLS
19636       Rlone FTP supports implicit FTP over TLS servers (FTPS).  This  has  to
19637       be enabled in the FTP backend config for the remote, or with --ftp-tls.
19638       The default FTPS port is 990, not 21 and can be set with --ftp-port.
19639
19640   Standard Options
19641       Here are the standard options specific to ftp (FTP Connection).
19642
19643   --ftp-host
19644       FTP host to connect to
19645
19646       • Config: host
19647
19648       • Env Var: RCLONE_FTP_HOST
19649
19650       • Type: string
19651
19652       • Default: ""
19653
19654       • Examples:
19655
19656         • "ftp.example.com"
19657
19658           • Connect to ftp.example.com
19659
19660   --ftp-user
19661       FTP username, leave blank for current username, $USER
19662
19663       • Config: user
19664
19665       • Env Var: RCLONE_FTP_USER
19666
19667       • Type: string
19668
19669       • Default: ""
19670
19671   --ftp-port
19672       FTP port, leave blank to use default (21)
19673
19674       • Config: port
19675
19676       • Env Var: RCLONE_FTP_PORT
19677
19678       • Type: string
19679
19680       • Default: ""
19681
19682   --ftp-pass
19683       FTP password
19684
19685       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
19686       (https://rclone.org/commands/rclone_obscure/).
19687
19688       • Config: pass
19689
19690       • Env Var: RCLONE_FTP_PASS
19691
19692       • Type: string
19693
19694       • Default: ""
19695
19696   --ftp-tls
19697       Use  Implicit  FTPS (FTP over TLS) When using implicit FTP over TLS the
19698       client connects using TLS right from the start which breaks compatibil‐
19699       ity  with  non-TLS-aware servers.  This is usually served over port 990
19700       rather than port 21.  Cannot be used in combination with explicit FTP.
19701
19702       • Config: tls
19703
19704       • Env Var: RCLONE_FTP_TLS
19705
19706       • Type: bool
19707
19708       • Default: false
19709
19710   --ftp-explicit-tls
19711       Use Explicit FTPS (FTP over TLS) When using explicit FTP over  TLS  the
19712       client explicitly requests security from the server in order to upgrade
19713       a plain text connection to an encrypted one.  Cannot be used in  combi‐
19714       nation with implicit FTP.
19715
19716       • Config: explicit_tls
19717
19718       • Env Var: RCLONE_FTP_EXPLICIT_TLS
19719
19720       • Type: bool
19721
19722       • Default: false
19723
19724   Advanced Options
19725       Here are the advanced options specific to ftp (FTP Connection).
19726
19727   --ftp-concurrency
19728       Maximum number of FTP simultaneous connections, 0 for unlimited
19729
19730       • Config: concurrency
19731
19732       • Env Var: RCLONE_FTP_CONCURRENCY
19733
19734       • Type: int
19735
19736       • Default: 0
19737
19738   --ftp-no-check-certificate
19739       Do not verify the TLS certificate of the server
19740
19741       • Config: no_check_certificate
19742
19743       • Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE
19744
19745       • Type: bool
19746
19747       • Default: false
19748
19749   --ftp-disable-epsv
19750       Disable using EPSV even if server advertises support
19751
19752       • Config: disable_epsv
19753
19754       • Env Var: RCLONE_FTP_DISABLE_EPSV
19755
19756       • Type: bool
19757
19758       • Default: false
19759
19760   --ftp-disable-mlsd
19761       Disable using MLSD even if server advertises support
19762
19763       • Config: disable_mlsd
19764
19765       • Env Var: RCLONE_FTP_DISABLE_MLSD
19766
19767       • Type: bool
19768
19769       • Default: false
19770
19771   --ftp-idle-timeout
19772       Max time before closing idle connections
19773
19774       If no connections have been returned to the connection pool in the time
19775       given, rclone will empty the connection pool.
19776
19777       Set to 0 to keep connections indefinitely.
19778
19779       • Config: idle_timeout
19780
19781       • Env Var: RCLONE_FTP_IDLE_TIMEOUT
19782
19783       • Type: Duration
19784
19785       • Default: 1m0s
19786
19787   --ftp-close-timeout
19788       Maximum time to wait for a response to close.
19789
19790       • Config: close_timeout
19791
19792       • Env Var: RCLONE_FTP_CLOSE_TIMEOUT
19793
19794       • Type: Duration
19795
19796       • Default: 1m0s
19797
19798   --ftp-encoding
19799       This sets the encoding for the backend.
19800
19801       See: the encoding section  in  the  overview  (https://rclone.org/over
19802       view/#encoding) for more info.
19803
19804       • Config: encoding
19805
19806       • Env Var: RCLONE_FTP_ENCODING
19807
19808       • Type: MultiEncoder
19809
19810       • Default: Slash,Del,Ctl,RightSpace,Dot
19811
19812   Limitations
19813       Modified  times  are  not  supported.   Times you see on the FTP server
19814       through rclone are those of upload.
19815
19816       Rclone's FTP backend does not support any  checksums  but  can  compare
19817       file sizes.
19818
19819       rclone  about  is  not  supported by the FTP backend.  Backends without
19820       this capability cannot determine free space for an rclone mount or  use
19821       policy mfs (most free space) as a member of an rclone union remote.
19822
19823       See   List   of   backends   that   do   not   support   rclone   about
19824       (https://rclone.org/overview/#optional-features)   See   rclone   about
19825       (https://rclone.org/commands/rclone_about/)
19826
19827       The  implementation of : --dump headers, --dump bodies, --dump auth for
19828       debugging isn't the same as for rclone HTTP based  backends  -  it  has
19829       less fine grained control.
19830
19831       --timeout isn't supported (but --contimeout is).
19832
19833       --bind isn't supported.
19834
19835       Rclone's  FTP  backend  could  support server-side move but does not at
19836       present.
19837
19838       The ftp_proxy environment variable is not currently supported.
19839
19840       FTP servers acting as  rclone  remotes  must  support  'passive'  mode.
19841       Rclone's FTP implementation is not compatible with 'active' mode.
19842
19843   Restricted filename characters
19844       In    addition    to    the    default    restricted   characters   set
19845       (https://rclone.org/overview/#restricted-characters)   the    following
19846       characters are also replaced:
19847
19848       File  names  cannot  end  with the following characters.  Repacement is
19849       limited to the last character in a file name:
19850
19851       Character   Value   Replacement
19852       ────────────────────────────────
19853       SP          0x20         ␠
19854
19855       Not all FTP servers can have all characters in file names, for example:
19856
19857       FTP Server   Forbidden characters
19858       ──────────────────────────────────
19859       proftpd               *
19860       pureftpd            \ [ ]
19861
19862   Google Cloud Storage
19863       Paths are specified as remote:bucket (or remote: for the lsd  command.)
19864       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
19865
19866       The  initial  setup  for  google cloud storage involves getting a token
19867       from Google Cloud Storage which you need to do in your browser.  rclone
19868       config walks you through it.
19869
19870       Here is an example of how to make a remote called remote.  First run:
19871
19872               rclone config
19873
19874       This will guide you through an interactive setup process:
19875
19876              n) New remote
19877              d) Delete remote
19878              q) Quit config
19879              e/n/d/q> n
19880              name> remote
19881              Type of storage to configure.
19882              Choose a number from below, or type in your own value
19883              [snip]
19884              XX / Google Cloud Storage (this is not Google Drive)
19885                 \ "google cloud storage"
19886              [snip]
19887              Storage> google cloud storage
19888              Google Application Client Id - leave blank normally.
19889              client_id>
19890              Google Application Client Secret - leave blank normally.
19891              client_secret>
19892              Project number optional - needed only for list/create/delete buckets - see your developer console.
19893              project_number> 12345678
19894              Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
19895              service_account_file>
19896              Access Control List for new objects.
19897              Choose a number from below, or type in your own value
19898               1 / Object owner gets OWNER access, and all Authenticated Users get READER access.
19899                 \ "authenticatedRead"
19900               2 / Object owner gets OWNER access, and project team owners get OWNER access.
19901                 \ "bucketOwnerFullControl"
19902               3 / Object owner gets OWNER access, and project team owners get READER access.
19903                 \ "bucketOwnerRead"
19904               4 / Object owner gets OWNER access [default if left blank].
19905                 \ "private"
19906               5 / Object owner gets OWNER access, and project team members get access according to their roles.
19907                 \ "projectPrivate"
19908               6 / Object owner gets OWNER access, and all Users get READER access.
19909                 \ "publicRead"
19910              object_acl> 4
19911              Access Control List for new buckets.
19912              Choose a number from below, or type in your own value
19913               1 / Project team owners get OWNER access, and all Authenticated Users get READER access.
19914                 \ "authenticatedRead"
19915               2 / Project team owners get OWNER access [default if left blank].
19916                 \ "private"
19917               3 / Project team members get access according to their roles.
19918                 \ "projectPrivate"
19919               4 / Project team owners get OWNER access, and all Users get READER access.
19920                 \ "publicRead"
19921               5 / Project team owners get OWNER access, and all Users get WRITER access.
19922                 \ "publicReadWrite"
19923              bucket_acl> 2
19924              Location for the newly created buckets.
19925              Choose a number from below, or type in your own value
19926               1 / Empty for default location (US).
19927                 \ ""
19928               2 / Multi-regional location for Asia.
19929                 \ "asia"
19930               3 / Multi-regional location for Europe.
19931                 \ "eu"
19932               4 / Multi-regional location for United States.
19933                 \ "us"
19934               5 / Taiwan.
19935                 \ "asia-east1"
19936               6 / Tokyo.
19937                 \ "asia-northeast1"
19938               7 / Singapore.
19939                 \ "asia-southeast1"
19940               8 / Sydney.
19941                 \ "australia-southeast1"
19942               9 / Belgium.
19943                 \ "europe-west1"
19944              10 / London.
19945                 \ "europe-west2"
19946              11 / Iowa.
19947                 \ "us-central1"
19948              12 / South Carolina.
19949                 \ "us-east1"
19950              13 / Northern Virginia.
19951                 \ "us-east4"
19952              14 / Oregon.
19953                 \ "us-west1"
19954              location> 12
19955              The storage class to use when storing objects in Google Cloud Storage.
19956              Choose a number from below, or type in your own value
19957               1 / Default
19958                 \ ""
19959               2 / Multi-regional storage class
19960                 \ "MULTI_REGIONAL"
19961               3 / Regional storage class
19962                 \ "REGIONAL"
19963               4 / Nearline storage class
19964                 \ "NEARLINE"
19965               5 / Coldline storage class
19966                 \ "COLDLINE"
19967               6 / Durable reduced availability storage class
19968                 \ "DURABLE_REDUCED_AVAILABILITY"
19969              storage_class> 5
19970              Remote config
19971              Use auto config?
19972               * Say Y if not sure
19973               * Say N if you are working on a remote or headless machine or Y didn't work
19974              y) Yes
19975              n) No
19976              y/n> y
19977              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
19978              Log in and authorize rclone for access
19979              Waiting for code...
19980              Got code
19981              --------------------
19982              [remote]
19983              type = google cloud storage
19984              client_id =
19985              client_secret =
19986              token = {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null}
19987              project_number = 12345678
19988              object_acl = private
19989              bucket_acl = private
19990              --------------------
19991              y) Yes this is OK
19992              e) Edit this remote
19993              d) Delete this remote
19994              y/e/d> y
19995
19996       Note  that rclone runs a webserver on your local machine to collect the
19997       token as returned from Google if you use auto config mode.   This  only
19998       runs  from  the moment it opens your browser to the moment you get back
19999       the verification code.  This is on http://127.0.0.1:53682/ and this  it
20000       may  require  you  to  unblock it temporarily if you are running a host
20001       firewall, or use manual mode.
20002
20003       This remote is called remote and can now be used like this
20004
20005       See all the buckets in your project
20006
20007              rclone lsd remote:
20008
20009       Make a new bucket
20010
20011              rclone mkdir remote:bucket
20012
20013       List the contents of a bucket
20014
20015              rclone ls remote:bucket
20016
20017       Sync /home/local/directory to the remote bucket,  deleting  any  excess
20018       files in the bucket.
20019
20020              rclone sync -i /home/local/directory remote:bucket
20021
20022   Service Account support
20023       You  can set up rclone with Google Cloud Storage in an unattended mode,
20024       i.e.  not tied to a specific end-user Google account.  This  is  useful
20025       when  you  want  to synchronise files onto machines that don't have ac‐
20026       tively logged-in users, for example build machines.
20027
20028       To get credentials for  Google  Cloud  Platform  IAM  Service  Accounts
20029       (https://cloud.google.com/iam/docs/service-accounts),  please  head  to
20030       the Service Account  (https://console.cloud.google.com/permissions/ser
20031       viceaccounts)  section  of  the  Google Developer Console.  Service Ac‐
20032       counts behave just like normal User permissions in Google Cloud Storage
20033       ACLs (https://cloud.google.com/storage/docs/access-control), so you can
20034       limit their access (e.g.  make them read only).  After creating an  ac‐
20035       count, a JSON file containing the Service Account's credentials will be
20036       downloaded onto your machines.  These credentials are what rclone  will
20037       use for authentication.
20038
20039       To  use  a Service Account instead of OAuth2 token flow, enter the path
20040       to your Service Account credentials at the service_account_file  prompt
20041       and  rclone  won't use the browser based authentication flow.  If you'd
20042       rather stuff the contents of the credentials file into the rclone  con‐
20043       fig  file, you can set service_account_credentials with the actual con‐
20044       tents of the file instead, or set the equivalent environment variable.
20045
20046   Anonymous Access
20047       For downloads of objects that permit public access  you  can  configure
20048       rclone  to  use  anonymous  access  by setting anonymous to true.  With
20049       unauthorized access you can't write or create files but  only  read  or
20050       list those buckets and objects that have public read access.
20051
20052   Application Default Credentials
20053       If no other source of credentials is provided, rclone will fall back to
20054       Application Default Credentials  (https://cloud.google.com/video-intel
20055       ligence/docs/common/auth#authenticating_with_application_default_cre‐
20056       dentials) this is useful both when you already have configured  authen‐
20057       tication for your developer account, or in production when running on a
20058       google compute host.  Note that if running in docker, you may  need  to
20059       run  additional commands on your google compute machine - see this page
20060       (https://cloud.google.com/container-registry/docs/advanced-authentica
20061       tion#gcloud_as_a_docker_credential_helper).
20062
20063       Note  that  in the case application default credentials are used, there
20064       is no need to explicitly configure a project number.
20065
20066   --fast-list
20067       This remote supports --fast-list which allows you to use fewer transac‐
20068       tions   in   exchange   for   more   memory.    See   the  rclone  docs
20069       (https://rclone.org/docs/#fast-list) for more details.
20070
20071   Custom upload headers
20072       You can set  custom  upload  headers  with  the  --header-upload  flag.
20073       Google  Cloud  Storage supports the headers as described in the working
20074       with metadata documentation (https://cloud.google.com/storage/docs/gsu
20075       til/addlhelp/WorkingWithObjectMetadata)
20076
20077       • Cache-Control
20078
20079       • Content-Disposition
20080
20081       • Content-Encoding
20082
20083       • Content-Language
20084
20085       • Content-Type
20086
20087       • X-Goog-Storage-Class
20088
20089       • X-Goog-Meta-
20090
20091       Eg --header-upload "Content-Type text/potato"
20092
20093       Note  that the last of these is for setting custom metadata in the form
20094       --header-upload "x-goog-meta-key: value"
20095
20096   Modified time
20097       Google google cloud storage stores md5sums natively and  rclone  stores
20098       modification  times as metadata on the object, under the "mtime" key in
20099       RFC3339 format accurate to 1ns.
20100
20101   Restricted filename characters
20102       Character   Value   Replacement
20103       ────────────────────────────────
20104       NUL         0x00         ␀
20105       LF          0x0A         ␊
20106       CR          0x0D         ␍
20107       /           0x2F        /
20108
20109       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
20110       view/#invalid-utf8), as they can't be used in JSON strings.
20111
20112   Standard Options
20113       Here  are the standard options specific to google cloud storage (Google
20114       Cloud Storage (this is not Google Drive)).
20115
20116   --gcs-client-id
20117       OAuth Client Id Leave blank normally.
20118
20119       • Config: client_id
20120
20121       • Env Var: RCLONE_GCS_CLIENT_ID
20122
20123       • Type: string
20124
20125       • Default: ""
20126
20127   --gcs-client-secret
20128       OAuth Client Secret Leave blank normally.
20129
20130       • Config: client_secret
20131
20132       • Env Var: RCLONE_GCS_CLIENT_SECRET
20133
20134       • Type: string
20135
20136       • Default: ""
20137
20138   --gcs-project-number
20139       Project number.  Optional - needed only for list/create/delete  buckets
20140       - see your developer console.
20141
20142       • Config: project_number
20143
20144       • Env Var: RCLONE_GCS_PROJECT_NUMBER
20145
20146       • Type: string
20147
20148       • Default: ""
20149
20150   --gcs-service-account-file
20151       Service Account Credentials JSON file path Leave blank normally.  Need‐
20152       ed only if you want use SA instead of interactive login.
20153
20154       Leading ~ will be expanded in the file name as will  environment  vari‐
20155       ables such as ${RCLONE_CONFIG_DIR}.
20156
20157       • Config: service_account_file
20158
20159       • Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
20160
20161       • Type: string
20162
20163       • Default: ""
20164
20165   --gcs-service-account-credentials
20166       Service Account Credentials JSON blob Leave blank normally.  Needed on‐
20167       ly if you want use SA instead of interactive login.
20168
20169       • Config: service_account_credentials
20170
20171       • Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
20172
20173       • Type: string
20174
20175       • Default: ""
20176
20177   --gcs-anonymous
20178       Access public buckets and objects without credentials Set to 'true'  if
20179       you just want to download files and don't configure credentials.
20180
20181       • Config: anonymous
20182
20183       • Env Var: RCLONE_GCS_ANONYMOUS
20184
20185       • Type: bool
20186
20187       • Default: false
20188
20189   --gcs-object-acl
20190       Access Control List for new objects.
20191
20192       • Config: object_acl
20193
20194       • Env Var: RCLONE_GCS_OBJECT_ACL
20195
20196       • Type: string
20197
20198       • Default: ""
20199
20200       • Examples:
20201
20202         • "authenticatedRead"
20203
20204           • Object  owner  gets OWNER access, and all Authenticated Users get
20205             READER access.
20206
20207         • "bucketOwnerFullControl"
20208
20209           • Object owner gets OWNER access, and project team owners get OWNER
20210             access.
20211
20212         • "bucketOwnerRead"
20213
20214           • Object owner gets OWNER access, and project team owners get READ‐
20215             ER access.
20216
20217         • "private"
20218
20219           • Object owner gets OWNER access [default if left blank].
20220
20221         • "projectPrivate"
20222
20223           • Object owner gets OWNER access, and project team members get  ac‐
20224             cess according to their roles.
20225
20226         • "publicRead"
20227
20228           • Object owner gets OWNER access, and all Users get READER access.
20229
20230   --gcs-bucket-acl
20231       Access Control List for new buckets.
20232
20233       • Config: bucket_acl
20234
20235       • Env Var: RCLONE_GCS_BUCKET_ACL
20236
20237       • Type: string
20238
20239       • Default: ""
20240
20241       • Examples:
20242
20243         • "authenticatedRead"
20244
20245           • Project team owners get OWNER access, and all Authenticated Users
20246             get READER access.
20247
20248         • "private"
20249
20250           • Project team owners get OWNER access [default if left blank].
20251
20252         • "projectPrivate"
20253
20254           • Project team members get access according to their roles.
20255
20256         • "publicRead"
20257
20258           • Project team owners get OWNER access, and all  Users  get  READER
20259             access.
20260
20261         • "publicReadWrite"
20262
20263           • Project  team  owners  get OWNER access, and all Users get WRITER
20264             access.
20265
20266   --gcs-bucket-policy-only
20267       Access checks should use bucket-level IAM policies.
20268
20269       If you want to upload objects to a bucket with Bucket Policy  Only  set
20270       then you will need to set this.
20271
20272       When it is set, rclone:
20273
20274       • ignores ACLs set on buckets
20275
20276       • ignores ACLs set on objects
20277
20278       • creates buckets with Bucket Policy Only set
20279
20280       Docs: https://cloud.google.com/storage/docs/bucket-policy-only
20281
20282       • Config: bucket_policy_only
20283
20284       • Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY
20285
20286       • Type: bool
20287
20288       • Default: false
20289
20290   --gcs-location
20291       Location for the newly created buckets.
20292
20293       • Config: location
20294
20295       • Env Var: RCLONE_GCS_LOCATION
20296
20297       • Type: string
20298
20299       • Default: ""
20300
20301       • Examples:
20302
20303         • ""
20304
20305           • Empty for default location (US).
20306
20307         • "asia"
20308
20309           • Multi-regional location for Asia.
20310
20311         • "eu"
20312
20313           • Multi-regional location for Europe.
20314
20315         • "us"
20316
20317           • Multi-regional location for United States.
20318
20319         • "asia-east1"
20320
20321           • Taiwan.
20322
20323         • "asia-east2"
20324
20325           • Hong Kong.
20326
20327         • "asia-northeast1"
20328
20329           • Tokyo.
20330
20331         • "asia-south1"
20332
20333           • Mumbai.
20334
20335         • "asia-southeast1"
20336
20337           • Singapore.
20338
20339         • "australia-southeast1"
20340
20341           • Sydney.
20342
20343         • "europe-north1"
20344
20345           • Finland.
20346
20347         • "europe-west1"
20348
20349           • Belgium.
20350
20351         • "europe-west2"
20352
20353           • London.
20354
20355         • "europe-west3"
20356
20357           • Frankfurt.
20358
20359         • "europe-west4"
20360
20361           • Netherlands.
20362
20363         • "us-central1"
20364
20365           • Iowa.
20366
20367         • "us-east1"
20368
20369           • South Carolina.
20370
20371         • "us-east4"
20372
20373           • Northern Virginia.
20374
20375         • "us-west1"
20376
20377           • Oregon.
20378
20379         • "us-west2"
20380
20381           • California.
20382
20383   --gcs-storage-class
20384       The storage class to use when storing objects in Google Cloud Storage.
20385
20386       • Config: storage_class
20387
20388       • Env Var: RCLONE_GCS_STORAGE_CLASS
20389
20390       • Type: string
20391
20392       • Default: ""
20393
20394       • Examples:
20395
20396         • ""
20397
20398           • Default
20399
20400         • "MULTI_REGIONAL"
20401
20402           • Multi-regional storage class
20403
20404         • "REGIONAL"
20405
20406           • Regional storage class
20407
20408         • "NEARLINE"
20409
20410           • Nearline storage class
20411
20412         • "COLDLINE"
20413
20414           • Coldline storage class
20415
20416         • "ARCHIVE"
20417
20418           • Archive storage class
20419
20420         • "DURABLE_REDUCED_AVAILABILITY"
20421
20422           • Durable reduced availability storage class
20423
20424   Advanced Options
20425       Here  are the advanced options specific to google cloud storage (Google
20426       Cloud Storage (this is not Google Drive)).
20427
20428   --gcs-token
20429       OAuth Access Token as a JSON blob.
20430
20431       • Config: token
20432
20433       • Env Var: RCLONE_GCS_TOKEN
20434
20435       • Type: string
20436
20437       • Default: ""
20438
20439   --gcs-auth-url
20440       Auth server URL.  Leave blank to use the provider defaults.
20441
20442       • Config: auth_url
20443
20444       • Env Var: RCLONE_GCS_AUTH_URL
20445
20446       • Type: string
20447
20448       • Default: ""
20449
20450   --gcs-token-url
20451       Token server url.  Leave blank to use the provider defaults.
20452
20453       • Config: token_url
20454
20455       • Env Var: RCLONE_GCS_TOKEN_URL
20456
20457       • Type: string
20458
20459       • Default: ""
20460
20461   --gcs-encoding
20462       This sets the encoding for the backend.
20463
20464       See: the encoding section  in  the  overview  (https://rclone.org/over
20465       view/#encoding) for more info.
20466
20467       • Config: encoding
20468
20469       • Env Var: RCLONE_GCS_ENCODING
20470
20471       • Type: MultiEncoder
20472
20473       • Default: Slash,CrLf,InvalidUtf8,Dot
20474
20475   Limitations
20476       rclone  about  is  not  supported  by the Google Cloud Storage backend.
20477       Backends without this capability cannot determine  free  space  for  an
20478       rclone  mount  or  use  policy  mfs (most free space) as a member of an
20479       rclone union remote.
20480
20481       See   List   of   backends   that   do   not   support   rclone   about
20482       (https://rclone.org/overview/#optional-features)   See   rclone   about
20483       (https://rclone.org/commands/rclone_about/)
20484
20485   Google Drive
20486       Paths are specified as drive:path
20487
20488       Drive paths may be as deep as required, e.g.  drive:directory/subdirec‐
20489       tory.
20490
20491       The  initial setup for drive involves getting a token from Google drive
20492       which you need to do in your browser.  rclone config walks you  through
20493       it.
20494
20495       Here is an example of how to make a remote called remote.  First run:
20496
20497               rclone config
20498
20499       This will guide you through an interactive setup process:
20500
20501              No remotes found - make a new one
20502              n) New remote
20503              r) Rename remote
20504              c) Copy remote
20505              s) Set configuration password
20506              q) Quit config
20507              n/r/c/s/q> n
20508              name> remote
20509              Type of storage to configure.
20510              Choose a number from below, or type in your own value
20511              [snip]
20512              XX / Google Drive
20513                 \ "drive"
20514              [snip]
20515              Storage> drive
20516              Google Application Client Id - leave blank normally.
20517              client_id>
20518              Google Application Client Secret - leave blank normally.
20519              client_secret>
20520              Scope that rclone should use when requesting access from drive.
20521              Choose a number from below, or type in your own value
20522               1 / Full access all files, excluding Application Data Folder.
20523                 \ "drive"
20524               2 / Read-only access to file metadata and file contents.
20525                 \ "drive.readonly"
20526                 / Access to files created by rclone only.
20527               3 | These are visible in the drive website.
20528                 | File authorization is revoked when the user deauthorizes the app.
20529                 \ "drive.file"
20530                 / Allows read and write access to the Application Data folder.
20531               4 | This is not visible in the drive website.
20532                 \ "drive.appfolder"
20533                 / Allows read-only access to file metadata but
20534               5 | does not allow any access to read or download file content.
20535                 \ "drive.metadata.readonly"
20536              scope> 1
20537              ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
20538              root_folder_id>
20539              Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
20540              service_account_file>
20541              Remote config
20542              Use auto config?
20543               * Say Y if not sure
20544               * Say N if you are working on a remote or headless machine or Y didn't work
20545              y) Yes
20546              n) No
20547              y/n> y
20548              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
20549              Log in and authorize rclone for access
20550              Waiting for code...
20551              Got code
20552              Configure this as a Shared Drive (Team Drive)?
20553              y) Yes
20554              n) No
20555              y/n> n
20556              --------------------
20557              [remote]
20558              client_id =
20559              client_secret =
20560              scope = drive
20561              root_folder_id =
20562              service_account_file =
20563              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}
20564              --------------------
20565              y) Yes this is OK
20566              e) Edit this remote
20567              d) Delete this remote
20568              y/e/d> y
20569
20570       Note  that rclone runs a webserver on your local machine to collect the
20571       token as returned from Google if you use auto config mode.   This  only
20572       runs  from  the moment it opens your browser to the moment you get back
20573       the verification code.  This is on http://127.0.0.1:53682/ and this  it
20574       may  require  you  to  unblock it temporarily if you are running a host
20575       firewall, or use manual mode.
20576
20577       You can then use it like this,
20578
20579       List directories in top level of your drive
20580
20581              rclone lsd remote:
20582
20583       List all the files in your drive
20584
20585              rclone ls remote:
20586
20587       To copy a local directory to a drive directory called backup
20588
20589              rclone copy /home/source remote:backup
20590
20591   Scopes
20592       Rclone allows you to select which scope you would like  for  rclone  to
20593       use.  This changes what type of token is granted to rclone.  The scopes
20594       are  defined  here   (https://developers.google.com/drive/v3/web/about-
20595       auth).
20596
20597       The scope are
20598
20599   drive
20600       This  is  the default scope and allows full access to all files, except
20601       for the Application Data Folder (see below).
20602
20603       Choose this one if you aren't sure.
20604
20605   drive.readonly
20606       This allows read only access to all files.  Files  may  be  listed  and
20607       downloaded but not uploaded, renamed or deleted.
20608
20609   drive.file
20610       With  this scope rclone can read/view/modify only those files and fold‐
20611       ers it creates.
20612
20613       So if you uploaded files to drive via the web interface (or  any  other
20614       means) they will not be visible to rclone.
20615
20616       This  can be useful if you are using rclone to backup data and you want
20617       to be sure confidential data on your drive is not visible to rclone.
20618
20619       Files created with this scope are visible in the web interface.
20620
20621   drive.appfolder
20622       This gives rclone its own private area to store files.  Rclone will not
20623       be  able  to see any other files on your drive and you won't be able to
20624       see rclone's files from the web interface either.
20625
20626   drive.metadata.readonly
20627       This allows read only access to file names only.   It  does  not  allow
20628       rclone  to download or upload data, or rename or delete files or direc‐
20629       tories.
20630
20631   Root folder ID
20632       You can set the root_folder_id  for  rclone.   This  is  the  directory
20633       (identified  by  its Folder ID) that rclone considers to be the root of
20634       your drive.
20635
20636       Normally you will leave this blank and rclone will determine  the  cor‐
20637       rect root to use itself.
20638
20639       However  you can set this to restrict rclone to a specific folder hier‐
20640       archy or to access data within the "Computers" tab on the drive web in‐
20641       terface (where files from Google's Backup and Sync desktop program go).
20642
20643       In order to do this you will have to find the Folder ID of the directo‐
20644       ry you wish rclone to display.  This will be the last  segment  of  the
20645       URL when you open the relevant folder in the drive web interface.
20646
20647       So  if  the  folder  you  want rclone to use has a URL which looks like
20648       https://drive.google.com/drive/fold
20649       ers/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh  in  the  browser,  then  you use
20650       1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the root_folder_id in the config.
20651
20652       NB folders under the "Computers" tab seem to be read only (drive  gives
20653       a 500 error) when using rclone.
20654
20655       There  doesn't  appear  to  be an API to discover the folder IDs of the
20656       "Computers" tab - please contact us if you know otherwise!
20657
20658       Note also that rclone can't access any data under the "Backups" tab  on
20659       the google drive web interface yet.
20660
20661   Service Account support
20662       You  can  set  up  rclone with Google Drive in an unattended mode, i.e.
20663       not tied to a specific end-user Google account.  This  is  useful  when
20664       you  want  to  synchronise files onto machines that don't have actively
20665       logged-in users, for example build machines.
20666
20667       To use a Service Account instead of OAuth2 token flow, enter  the  path
20668       to  your Service Account credentials at the service_account_file prompt
20669       during rclone config and rclone won't use the browser based authentica‐
20670       tion  flow.  If you'd rather stuff the contents of the credentials file
20671       into the rclone config file, you  can  set  service_account_credentials
20672       with the actual contents of the file instead, or set the equivalent en‐
20673       vironment variable.
20674
20675   Use case - Google Apps/G-suite account and individual Drive
20676       Let's say that you are the administrator of  a  Google  Apps  (old)  or
20677       G-suite  account.   The  goal is to store data on an individual's Drive
20678       account, who IS a member of the domain.  We'll call  the  domain  exam‐
20679       ple.com, and the user foo@example.com.
20680
20681       There's a few steps we need to go through to accomplish this:
20682
20683   1. Create a service account for example.com
20684       • To  create  a  service  account and obtain its credentials, go to the
20685         Google Developer Console (https://console.developers.google.com).
20686
20687       • You must have a project - create one if you don't.
20688
20689       • Then go to "IAM & admin" -> "Service Accounts".
20690
20691       • Use the "Create Credentials" button.  Fill in "Service account  name"
20692         with something that identifies your client.  "Role" can be empty.
20693
20694       • Tick "Furnish a new private key" - select "Key type JSON".
20695
20696       • Tick "Enable G Suite Domain-wide Delegation".  This option makes "im‐
20697         personation" possible, as documented here: Delegating domain-wide au‐
20698         thority to the service account (https://developers.google.com/identi
20699         ty/protocols/OAuth2ServiceAccount#delegatingauthority)
20700
20701       • These credentials are what rclone will use  for  authentication.   If
20702         you  ever  need  to  remove access, press the "Delete service account
20703         key" button.
20704
20705   2. Allowing API access to example.com Google Drive
20706       • Go to example.com's admin console
20707
20708       • Go into "Security" (or use the search bar)
20709
20710       • Select "Show more" and then "Advanced settings"
20711
20712       • Select "Manage API client access" in the "Authentication" section
20713
20714       • In the "Client Name" field enter the service account's "Client ID"  -
20715         this  can  be  found  in the Developer Console under "IAM & Admin" ->
20716         "Service Accounts", then "View Client ID" for the newly created  ser‐
20717         vice account.  It is a ~21 character numerical string.
20718
20719       • In    the   next   field,   "One   or   More   API   Scopes",   enter
20720         https://www.googleapis.com/auth/drive to grant access to Google Drive
20721         specifically.
20722
20723   3. Configure rclone, assuming a new install
20724              rclone config
20725
20726              n/s/q> n         # New
20727              name>gdrive      # Gdrive is an example name
20728              Storage>         # Select the number shown for Google Drive
20729              client_id>       # Can be left blank
20730              client_secret>   # Can be left blank
20731              scope>           # Select your scope, 1 for example
20732              root_folder_id>  # Can be left blank
20733              service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
20734              y/n>             # Auto config, y
20735
20736   4. Verify that it's working
20737       • rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
20738
20739       • The arguments do:
20740
20741         • -v - verbose logging
20742
20743         • --drive-impersonate  foo@example.com - this is what does the magic,
20744           pretending to be user foo.
20745
20746         • lsf - list files in a parsing friendly way
20747
20748         • gdrive:backup - use the remote called gdrive, work  in  the  folder
20749           named backup.
20750
20751       Note:  in  case  you  configured  a  specific root folder on gdrive and
20752       rclone is unable to access the  contents  of  that  folder  when  using
20753       --drive-impersonate,  do  this  instead: - in the gdrive web interface,
20754       share your root folder with the user/email of the new  Service  Account
20755       you  created/selected  at  step  #1 - use rclone without specifying the
20756       --drive-impersonate option, like this: rclone  -v  foo@example.com  lsf
20757       gdrive:backup
20758
20759   Shared drives (team drives)
20760       If  you  want to configure the remote to point to a Google Shared Drive
20761       (previously known as Team Drives) then answer y to the question Config‐
20762       ure this as a Shared Drive (Team Drive)?.
20763
20764       This  will fetch the list of Shared Drives from google and allow you to
20765       configure which one you want to use.  You can also  type  in  a  Shared
20766       Drive ID if you prefer.
20767
20768       For example:
20769
20770              Configure this as a Shared Drive (Team Drive)?
20771              y) Yes
20772              n) No
20773              y/n> y
20774              Fetching Shared Drive list...
20775              Choose a number from below, or type in your own value
20776               1 / Rclone Test
20777                 \ "xxxxxxxxxxxxxxxxxxxx"
20778               2 / Rclone Test 2
20779                 \ "yyyyyyyyyyyyyyyyyyyy"
20780               3 / Rclone Test 3
20781                 \ "zzzzzzzzzzzzzzzzzzzz"
20782              Enter a Shared Drive ID> 1
20783              --------------------
20784              [remote]
20785              client_id =
20786              client_secret =
20787              token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
20788              team_drive = xxxxxxxxxxxxxxxxxxxx
20789              --------------------
20790              y) Yes this is OK
20791              e) Edit this remote
20792              d) Delete this remote
20793              y/e/d> y
20794
20795   --fast-list
20796       This remote supports --fast-list which allows you to use fewer transac‐
20797       tions  in  exchange   for   more   memory.    See   the   rclone   docs
20798       (https://rclone.org/docs/#fast-list) for more details.
20799
20800       It  does  this  by  combining multiple list calls into a single API re‐
20801       quest.
20802
20803       This works by combining many '%s' in parents filters into  one  expres‐
20804       sion.   To  list  the contents of directories a, b and c, the following
20805       requests will be send by the regular List function:
20806
20807              trashed=false and 'a' in parents
20808              trashed=false and 'b' in parents
20809              trashed=false and 'c' in parents
20810
20811       These can now be combined into a single request:
20812
20813              trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
20814
20815       The implementation of ListR will put up to 50 parents filters into  one
20816       request.  It will use the --checkers value to specify the number of re‐
20817       quests to run in parallel.
20818
20819       In tests, these batch requests were up to 20x faster than  the  regular
20820       method.   Running the following command against different sized folders
20821       gives:
20822
20823              rclone lsjson -vv -R --checkers=6 gdrive:folder
20824
20825       small folder (220 directories, 700 files):
20826
20827       • without --fast-list: 38s
20828
20829       • with --fast-list: 10s
20830
20831       large folder (10600 directories, 39000 files):
20832
20833       • without --fast-list: 22:05 min
20834
20835       • with --fast-list: 58s
20836
20837   Modified time
20838       Google drive stores modification times accurate to 1 ms.
20839
20840   Restricted filename characters
20841       Only Invalid UTF-8 bytes  will  be  replaced  (https://rclone.org/over
20842       view/#invalid-utf8), as they can't be used in JSON strings.
20843
20844       In  contrast to other backends, / can also be used in names and . or ..
20845       are valid names.
20846
20847   Revisions
20848       Google drive stores revisions of files.  When you upload a change to an
20849       existing  file  to google drive using rclone it will create a new revi‐
20850       sion of that file.
20851
20852       Revisions follow the standard google policy which at  time  of  writing
20853       was
20854
20855       • They  are  deleted  after  30  days  or 100 revisions (whatever comes
20856         first).
20857
20858       • They do not count towards a user storage quota.
20859
20860   Deleting files
20861       By default rclone will send all files to the trash when deleting files.
20862       If    deleting    them   permanently   is   required   then   use   the
20863       --drive-use-trash=false flag, or set the equivalent  environment  vari‐
20864       able.
20865
20866   Shortcuts
20867       In  March  2020  Google introduced a new feature in Google Drive called
20868       drive shortcuts (https://support.google.com/drive/answer/9700156)  (API
20869       (https://developers.google.com/drive/api/v3/shortcuts)).    These  will
20870       (by September 2020) replace the ability for files or folders to  be  in
20871       multiple  folders  at  once  (https://cloud.google.com/blog/products/g-
20872       suite/simplifying-google-drives-folder-structure-and-sharing-models).
20873
20874       Shortcuts are files that link to other files on Google  Drive  somewhat
20875       like  a  symlink in unix, except they point to the underlying file data
20876       (e.g.  the inode in unix terms) so they don't break if  the  source  is
20877       renamed or moved about.
20878
20879       Be default rclone treats these as follows.
20880
20881       For shortcuts pointing to files:
20882
20883       • When listing a file shortcut appears as the destination file.
20884
20885       • When downloading the contents of the destination file is downloaded.
20886
20887       • When updating shortcut file with a non shortcut file, the shortcut is
20888         removed then a new file is uploaded in place of the shortcut.
20889
20890       • When server-side moving (renaming) the shortcut is renamed,  not  the
20891         destination file.
20892
20893       • When  server-side copying the shortcut is copied, not the contents of
20894         the shortcut.
20895
20896       • When deleting the shortcut is deleted not the linked file.
20897
20898       • When setting the modification time,  the  modification  time  of  the
20899         linked file will be set.
20900
20901       For shortcuts pointing to folders:
20902
20903       • When  listing  the  shortcut appears as a folder and that folder will
20904         contain the contents of the linked folder appear (including  any  sub
20905         folders)
20906
20907       • When  downloading  the contents of the linked folder and sub contents
20908         are downloaded
20909
20910       • When uploading to a shortcut folder the file will be  placed  in  the
20911         linked folder
20912
20913       • When  server-side  moving (renaming) the shortcut is renamed, not the
20914         destination folder
20915
20916       • When server-side copying the contents of the linked folder is copied,
20917         not the shortcut.
20918
20919       • When  deleting  with  rclone  rmdir  or  rclone purge the shortcut is
20920         deleted not the linked folder.
20921
20922NB When deleting with rclone remove or rclone mount the  contents  of
20923         the linked folder will be deleted.
20924
20925       The  rclone  backend (https://rclone.org/commands/rclone_backend/) com‐
20926       mand can be used to create shortcuts.
20927
20928       Shortcuts can be completely  ignored  with  the  --drive-skip-shortcuts
20929       flag or the corresponding skip_shortcuts configuration setting.
20930
20931   Emptying trash
20932       If  you wish to empty your trash you can use the rclone cleanup remote:
20933       command which will permanently delete all  your  trashed  files.   This
20934       command does not take any path arguments.
20935
20936       Note  that  Google Drive takes some time (minutes to days) to empty the
20937       trash even though the command returns within a few seconds.  No  output
20938       is echoed, so there will be no confirmation even using -v or -vv.
20939
20940   Quota information
20941       To view your current quota you can use the rclone about remote: command
20942       which will display your usage limit (quota), the usage in Google Drive,
20943       the  size  of all files in the Trash and the space used by other Google
20944       services such as Gmail.  This command does not take any path arguments.
20945
20946   Import/Export of google documents
20947       Google documents can be exported from and uploaded to Google Drive.
20948
20949       When rclone downloads a Google doc it chooses a format to download  de‐
20950       pending upon the --drive-export-formats setting.  By default the export
20951       formats are docx,xlsx,pptx,svg which are a sensible default for an  ed‐
20952       itable document.
20953
20954       When choosing a format, rclone runs down the list provided in order and
20955       chooses the first file format the doc can be exported as from the list.
20956       If  the  file  can't  be exported to a format on the formats list, then
20957       rclone will choose a format from the default list.
20958
20959       If you prefer an archive copy then you might use --drive-export-formats
20960       pdf,  or  if  you  prefer  openoffice/libreoffice formats you might use
20961       --drive-export-formats ods,odt,odp.
20962
20963       Note that rclone adds the extension to the google  doc,  so  if  it  is
20964       called My Spreadsheet on google docs, it will be exported as My Spread‐
20965       sheet.xlsx or My Spreadsheet.pdf etc.
20966
20967       When importing files into Google Drive, rclone will convert  all  files
20968       with  an  extension in --drive-import-formats to their associated docu‐
20969       ment type.  rclone will not convert any files  by  default,  since  the
20970       conversion is lossy process.
20971
20972       The  conversion  must result in a file with the same extension when the
20973       --drive-export-formats rules are applied to the uploaded document.
20974
20975       Here are some examples for allowed and prohibited conversions.
20976
20977       export-for‐   import-for‐   Upload Ext   Document Ext   Allowed
20978       mats          mats
20979       ────────────────────────────────────────────────────────────────
20980       odt           odt           odt          odt            Yes
20981       odt           docx,odt      odt          odt            Yes
20982                     docx          docx         docx           Yes
20983                     odt           odt          docx           No
20984       odt,docx      docx,odt      docx         odt            No
20985       docx,odt      docx,odt      docx         docx           Yes
20986       docx,odt      docx,odt      odt          docx           No
20987
20988       This  limitation  can  be  disabled  by  specifying   --drive-allow-im‐
20989       port-name-change.   When  using  this flag, rclone can convert multiple
20990       files types resulting in the same document type  at  once,  e.g.   with
20991       --drive-import-formats  docx,odt,txt,  all files having these extension
20992       would result in a document represented as a docx file.  This brings the
20993       additional  risk  of overwriting a document, if multiple files have the
20994       same stem.  Many rclone operations will not handle this name change  in
20995       any  way.   They assume an equal name when copying files and might copy
20996       the file again or delete them when the name changes.
20997
20998       Here are the possible export extensions with their  corresponding  mime
20999       types.   Most  of  these can also be used for importing, but there more
21000       that are not listed here.  Some of these additional ones might only  be
21001       available  when the operating system provides the correct MIME type en‐
21002       tries.
21003
21004       This list can be changed by Google Drive at any time and might not rep‐
21005       resent the currently available conversions.
21006
21007       Extension              Mime Type                          Description
21008       ─────────────────────────────────────────────────────────────────────────────────────
21009       csv                    text/csv                           Standard  CSV  format  for
21010                                                                 Spreadsheets
21011       docx                   application/vnd.openxml‐           Microsoft Office Document
21012                              formats-officedocu‐
21013                              ment.wordprocess‐
21014                              ingml.document
21015       epub                   application/epub+zip               E-book format
21016       html                   text/html                          An HTML Document
21017       jpg                    image/jpeg                         A JPEG Image File
21018       json                   applica‐                           JSON Text Format
21019                              tion/vnd.google-apps.script+json
21020       odp                    application/vnd.oasis.opendocu‐    Openoffice Presentation
21021                              ment.presentation
21022       ods                    application/vnd.oasis.opendocu‐    Openoffice Spreadsheet
21023                              ment.spreadsheet
21024       ods                    application/x-vnd.oasis.opendoc‐   Openoffice Spreadsheet
21025                              ument.spreadsheet
21026       odt                    application/vnd.oasis.opendocu‐    Openoffice Document
21027                              ment.text
21028       pdf                    application/pdf                    Adobe PDF Format
21029       png                    image/png                          PNG Image Format
21030       pptx                   application/vnd.openxmlfor‐        Microsoft   Office  Power‐
21031                              mats-officedocument.presenta‐      point
21032                              tionml.presentation
21033       rtf                    application/rtf                    Rich Text Format
21034       svg                    image/svg+xml                      Scalable  Vector  Graphics
21035                                                                 Format
21036       tsv                    text/tab-separated-values          Standard  TSV  format  for
21037                                                                 spreadsheets
21038       txt                    text/plain                         Plain Text
21039       xlsx                   application/vnd.openxmlfor‐        Microsoft  Office  Spread‐
21040                              mats-officedocument.spread‐        sheet
21041                              sheetml.sheet
21042       zip                    application/zip                    A ZIP file of HTML, Images
21043                                                                 CSS
21044
21045       Google documents can also be exported as link files.  These files  will
21046       open a browser window for the Google Docs website of that document when
21047       opened.  The link file extension has to be specified as  a  --drive-ex‐
21048       port-formats  parameter.   They  will  match all available Google Docu‐
21049       ments.
21050
21051       Extension   Description           OS Support
21052       ─────────────────────────────────────────────────
21053       desktop     freedesktop.org       Linux
21054                   specified   desktop
21055                   entry
21056       link.html   An  HTML   Document   All
21057                   with a redirect
21058       url         INI style link file   macOS, Windows
21059       webloc      macOS  specific XML   macOS
21060                   format
21061
21062   Standard Options
21063       Here are the standard options specific to drive (Google Drive).
21064
21065   --drive-client-id
21066       Google Application Client Id Setting  your  own  is  recommended.   See
21067       https://rclone.org/drive/#making-your-own-client-id  for  how to create
21068       your own.  If you leave this blank, it will use an internal  key  which
21069       is low performance.
21070
21071       • Config: client_id
21072
21073       • Env Var: RCLONE_DRIVE_CLIENT_ID
21074
21075       • Type: string
21076
21077       • Default: ""
21078
21079   --drive-client-secret
21080       OAuth Client Secret Leave blank normally.
21081
21082       • Config: client_secret
21083
21084       • Env Var: RCLONE_DRIVE_CLIENT_SECRET
21085
21086       • Type: string
21087
21088       • Default: ""
21089
21090   --drive-scope
21091       Scope that rclone should use when requesting access from drive.
21092
21093       • Config: scope
21094
21095       • Env Var: RCLONE_DRIVE_SCOPE
21096
21097       • Type: string
21098
21099       • Default: ""
21100
21101       • Examples:
21102
21103         • "drive"
21104
21105           • Full access all files, excluding Application Data Folder.
21106
21107         • "drive.readonly"
21108
21109           • Read-only access to file metadata and file contents.
21110
21111         • "drive.file"
21112
21113           • Access to files created by rclone only.
21114
21115           • These are visible in the drive website.
21116
21117           • File authorization is revoked when the user deauthorizes the app.
21118
21119         • "drive.appfolder"
21120
21121           • Allows read and write access to the Application Data folder.
21122
21123           • This is not visible in the drive website.
21124
21125         • "drive.metadata.readonly"
21126
21127           • Allows read-only access to file metadata but
21128
21129           • does not allow any access to read or download file content.
21130
21131   --drive-root-folder-id
21132       ID of the root folder Leave blank normally.
21133
21134       Fill  in to access "Computers" folders (see docs), or for rclone to use
21135       a non root folder as its starting point.
21136
21137       • Config: root_folder_id
21138
21139       • Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
21140
21141       • Type: string
21142
21143       • Default: ""
21144
21145   --drive-service-account-file
21146       Service Account Credentials JSON file path Leave blank normally.  Need‐
21147       ed only if you want use SA instead of interactive login.
21148
21149       Leading  ~  will be expanded in the file name as will environment vari‐
21150       ables such as ${RCLONE_CONFIG_DIR}.
21151
21152       • Config: service_account_file
21153
21154       • Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
21155
21156       • Type: string
21157
21158       • Default: ""
21159
21160   --drive-alternate-export
21161       Deprecated: no longer needed
21162
21163       • Config: alternate_export
21164
21165       • Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
21166
21167       • Type: bool
21168
21169       • Default: false
21170
21171   Advanced Options
21172       Here are the advanced options specific to drive (Google Drive).
21173
21174   --drive-token
21175       OAuth Access Token as a JSON blob.
21176
21177       • Config: token
21178
21179       • Env Var: RCLONE_DRIVE_TOKEN
21180
21181       • Type: string
21182
21183       • Default: ""
21184
21185   --drive-auth-url
21186       Auth server URL.  Leave blank to use the provider defaults.
21187
21188       • Config: auth_url
21189
21190       • Env Var: RCLONE_DRIVE_AUTH_URL
21191
21192       • Type: string
21193
21194       • Default: ""
21195
21196   --drive-token-url
21197       Token server url.  Leave blank to use the provider defaults.
21198
21199       • Config: token_url
21200
21201       • Env Var: RCLONE_DRIVE_TOKEN_URL
21202
21203       • Type: string
21204
21205       • Default: ""
21206
21207   --drive-service-account-credentials
21208       Service Account Credentials JSON blob Leave blank normally.  Needed on‐
21209       ly if you want use SA instead of interactive login.
21210
21211       • Config: service_account_credentials
21212
21213       • Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
21214
21215       • Type: string
21216
21217       • Default: ""
21218
21219   --drive-team-drive
21220       ID of the Shared Drive (Team Drive)
21221
21222       • Config: team_drive
21223
21224       • Env Var: RCLONE_DRIVE_TEAM_DRIVE
21225
21226       • Type: string
21227
21228       • Default: ""
21229
21230   --drive-auth-owner-only
21231       Only consider files owned by the authenticated user.
21232
21233       • Config: auth_owner_only
21234
21235       • Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
21236
21237       • Type: bool
21238
21239       • Default: false
21240
21241   --drive-use-trash
21242       Send  files  to the trash instead of deleting permanently.  Defaults to
21243       true, namely sending files to the trash.   Use  --drive-use-trash=false
21244       to delete files permanently instead.
21245
21246       • Config: use_trash
21247
21248       • Env Var: RCLONE_DRIVE_USE_TRASH
21249
21250       • Type: bool
21251
21252       • Default: true
21253
21254   --drive-skip-gdocs
21255       Skip google documents in all listings.  If given, gdocs practically be‐
21256       come invisible to rclone.
21257
21258       • Config: skip_gdocs
21259
21260       • Env Var: RCLONE_DRIVE_SKIP_GDOCS
21261
21262       • Type: bool
21263
21264       • Default: false
21265
21266   --drive-skip-checksum-gphotos
21267       Skip MD5 checksum on Google photos and videos only.
21268
21269       Use this if you get checksum errors when transferring Google photos  or
21270       videos.
21271
21272       Setting this flag will cause Google photos and videos to return a blank
21273       MD5 checksum.
21274
21275       Google photos are identified by being in the "photos" space.
21276
21277       Corrupted checksums are caused by Google modifying the image/video  but
21278       not updating the checksum.
21279
21280       • Config: skip_checksum_gphotos
21281
21282       • Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
21283
21284       • Type: bool
21285
21286       • Default: false
21287
21288   --drive-shared-with-me
21289       Only show files that are shared with me.
21290
21291       Instructs  rclone  to  operate  on  your "Shared with me" folder (where
21292       Google Drive lets you access the files and folders others  have  shared
21293       with you).
21294
21295       This  works  both  with the "list" (lsd, lsl, etc.) and the "copy" com‐
21296       mands (copy, sync, etc.), and with all other commands too.
21297
21298       • Config: shared_with_me
21299
21300       • Env Var: RCLONE_DRIVE_SHARED_WITH_ME
21301
21302       • Type: bool
21303
21304       • Default: false
21305
21306   --drive-trashed-only
21307       Only show files that are in the trash.  This will show trashed files in
21308       their original directory structure.
21309
21310       • Config: trashed_only
21311
21312       • Env Var: RCLONE_DRIVE_TRASHED_ONLY
21313
21314       • Type: bool
21315
21316       • Default: false
21317
21318   --drive-starred-only
21319       Only show files that are starred.
21320
21321       • Config: starred_only
21322
21323       • Env Var: RCLONE_DRIVE_STARRED_ONLY
21324
21325       • Type: bool
21326
21327       • Default: false
21328
21329   --drive-formats
21330       Deprecated: see export_formats
21331
21332       • Config: formats
21333
21334       • Env Var: RCLONE_DRIVE_FORMATS
21335
21336       • Type: string
21337
21338       • Default: ""
21339
21340   --drive-export-formats
21341       Comma separated list of preferred formats for downloading Google docs.
21342
21343       • Config: export_formats
21344
21345       • Env Var: RCLONE_DRIVE_EXPORT_FORMATS
21346
21347       • Type: string
21348
21349       • Default: "docx,xlsx,pptx,svg"
21350
21351   --drive-import-formats
21352       Comma separated list of preferred formats for uploading Google docs.
21353
21354       • Config: import_formats
21355
21356       • Env Var: RCLONE_DRIVE_IMPORT_FORMATS
21357
21358       • Type: string
21359
21360       • Default: ""
21361
21362   --drive-allow-import-name-change
21363       Allow the filetype to change when uploading Google docs (e.g.  file.doc
21364       to file.docx).  This will confuse sync and reupload every time.
21365
21366       • Config: allow_import_name_change
21367
21368       • Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
21369
21370       • Type: bool
21371
21372       • Default: false
21373
21374   --drive-use-created-date
21375       Use file created date instead of modified date.,
21376
21377       Useful when downloading data and you want the  creation  date  used  in
21378       place of the last modified date.
21379
21380       WARNING: This flag may have some unexpected consequences.
21381
21382       When  uploading to your drive all files will be overwritten unless they
21383       haven't been modified since their creation.  And the inverse will occur
21384       while  downloading.   This  side  effect  can  be  avoided by using the
21385       "--checksum" flag.
21386
21387       This feature was implemented to retain photos capture date as  recorded
21388       by  google  photos.   You will first need to check the "Create a Google
21389       Photos folder" option in your google drive settings.  You can then copy
21390       or move the photos locally and use the date the image was taken (creat‐
21391       ed) set as the modification date.
21392
21393       • Config: use_created_date
21394
21395       • Env Var: RCLONE_DRIVE_USE_CREATED_DATE
21396
21397       • Type: bool
21398
21399       • Default: false
21400
21401   --drive-use-shared-date
21402       Use date file was shared instead of modified date.
21403
21404       Note that, as with "--drive-use-created-date", this flag may have unex‐
21405       pected consequences when uploading/downloading files.
21406
21407       If  both  this flag and "--drive-use-created-date" are set, the created
21408       date is used.
21409
21410       • Config: use_shared_date
21411
21412       • Env Var: RCLONE_DRIVE_USE_SHARED_DATE
21413
21414       • Type: bool
21415
21416       • Default: false
21417
21418   --drive-list-chunk
21419       Size of listing chunk 100-1000.  0 to disable.
21420
21421       • Config: list_chunk
21422
21423       • Env Var: RCLONE_DRIVE_LIST_CHUNK
21424
21425       • Type: int
21426
21427       • Default: 1000
21428
21429   --drive-impersonate
21430       Impersonate this user when using a service account.
21431
21432       • Config: impersonate
21433
21434       • Env Var: RCLONE_DRIVE_IMPERSONATE
21435
21436       • Type: string
21437
21438       • Default: ""
21439
21440   --drive-upload-cutoff
21441       Cutoff for switching to chunked upload
21442
21443       • Config: upload_cutoff
21444
21445       • Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
21446
21447       • Type: SizeSuffix
21448
21449       • Default: 8M
21450
21451   --drive-chunk-size
21452       Upload chunk size.  Must a power of 2 >= 256k.
21453
21454       Making this larger will improve performance, but note that  each  chunk
21455       is buffered in memory one per transfer.
21456
21457       Reducing this will reduce memory usage but decrease performance.
21458
21459       • Config: chunk_size
21460
21461       • Env Var: RCLONE_DRIVE_CHUNK_SIZE
21462
21463       • Type: SizeSuffix
21464
21465       • Default: 8M
21466
21467   --drive-acknowledge-abuse
21468       Set  to  allow files which return cannotDownloadAbusiveFile to be down‐
21469       loaded.
21470
21471       If downloading a file returns the error "This file has been  identified
21472       as  malware or spam and cannot be downloaded" with the error code "can‐
21473       notDownloadAbusiveFile" then supply this flag to rclone to indicate you
21474       acknowledge  the risks of downloading the file and rclone will download
21475       it anyway.
21476
21477       • Config: acknowledge_abuse
21478
21479       • Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
21480
21481       • Type: bool
21482
21483       • Default: false
21484
21485   --drive-keep-revision-forever
21486       Keep new head revision of each file forever.
21487
21488       • Config: keep_revision_forever
21489
21490       • Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
21491
21492       • Type: bool
21493
21494       • Default: false
21495
21496   --drive-size-as-quota
21497       Show sizes as storage quota usage, not actual size.
21498
21499       Show the size of a file as the storage quota used.  This is the current
21500       version plus any older versions that have been set to keep forever.
21501
21502       WARNING: This flag may have some unexpected consequences.
21503
21504       It is not recommended to set this flag in your config - the recommended
21505       usage is using the flag form --drive-size-as-quota  when  doing  rclone
21506       ls/lsl/lsf/lsjson/etc only.
21507
21508       If  you  do  use  this flag for syncing (not recommended) then you will
21509       need to use --ignore size also.
21510
21511       • Config: size_as_quota
21512
21513       • Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA
21514
21515       • Type: bool
21516
21517       • Default: false
21518
21519   --drive-v2-download-min-size
21520       If Object's are greater, use drive v2 API to download.
21521
21522       • Config: v2_download_min_size
21523
21524       • Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
21525
21526       • Type: SizeSuffix
21527
21528       • Default: off
21529
21530   --drive-pacer-min-sleep
21531       Minimum time to sleep between API calls.
21532
21533       • Config: pacer_min_sleep
21534
21535       • Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP
21536
21537       • Type: Duration
21538
21539       • Default: 100ms
21540
21541   --drive-pacer-burst
21542       Number of API calls to allow without sleeping.
21543
21544       • Config: pacer_burst
21545
21546       • Env Var: RCLONE_DRIVE_PACER_BURST
21547
21548       • Type: int
21549
21550       • Default: 100
21551
21552   --drive-server-side-across-configs
21553       Allow server-side operations (e.g.   copy)  to  work  across  different
21554       drive configs.
21555
21556       This  can  be  useful  if you wish to do a server-side copy between two
21557       different Google drives.  Note that this isn't enabled by  default  be‐
21558       cause  it isn't easy to tell if it will work between any two configura‐
21559       tions.
21560
21561       • Config: server_side_across_configs
21562
21563       • Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
21564
21565       • Type: bool
21566
21567       • Default: false
21568
21569   --drive-disable-http2
21570       Disable drive using http2
21571
21572       There is currently an unsolved issue with the google drive backend  and
21573       HTTP/2.   HTTP/2 is therefore disabled by default for the drive backend
21574       but can be re-enabled here.  When the issue is solved this flag will be
21575       removed.
21576
21577       See: https://github.com/rclone/rclone/issues/3631
21578
21579       • Config: disable_http2
21580
21581       • Env Var: RCLONE_DRIVE_DISABLE_HTTP2
21582
21583       • Type: bool
21584
21585       • Default: true
21586
21587   --drive-stop-on-upload-limit
21588       Make upload limit errors be fatal
21589
21590       At  the  time of writing it is only possible to upload 750GB of data to
21591       Google Drive a day (this is an undocumented limit).  When this limit is
21592       reached Google Drive produces a slightly different error message.  When
21593       this flag is set it causes these errors to be fatal.  These  will  stop
21594       the in-progress sync.
21595
21596       Note  that  this  detection  is  relying on error message strings which
21597       Google don't document so it may break in the future.
21598
21599       See: https://github.com/rclone/rclone/issues/3857
21600
21601       • Config: stop_on_upload_limit
21602
21603       • Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
21604
21605       • Type: bool
21606
21607       • Default: false
21608
21609   --drive-stop-on-download-limit
21610       Make download limit errors be fatal
21611
21612       At the time of writing it is only possible to  download  10TB  of  data
21613       from  Google  Drive  a  day (this is an undocumented limit).  When this
21614       limit is reached Google Drive produces a slightly different error  mes‐
21615       sage.  When this flag is set it causes these errors to be fatal.  These
21616       will stop the in-progress sync.
21617
21618       Note that this detection is relying  on  error  message  strings  which
21619       Google don't document so it may break in the future.
21620
21621       • Config: stop_on_download_limit
21622
21623       • Env Var: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT
21624
21625       • Type: bool
21626
21627       • Default: false
21628
21629   --drive-skip-shortcuts
21630       If set skip shortcut files
21631
21632       Normally  rclone  dereferences  shortcut files making them appear as if
21633       they are the original file (see the shortcuts section).  If  this  flag
21634       is set then rclone will ignore shortcut files completely.
21635
21636       • Config: skip_shortcuts
21637
21638       • Env Var: RCLONE_DRIVE_SKIP_SHORTCUTS
21639
21640       • Type: bool
21641
21642       • Default: false
21643
21644   --drive-encoding
21645       This sets the encoding for the backend.
21646
21647       See:  the  encoding  section  in the overview (https://rclone.org/over
21648       view/#encoding) for more info.
21649
21650       • Config: encoding
21651
21652       • Env Var: RCLONE_DRIVE_ENCODING
21653
21654       • Type: MultiEncoder
21655
21656       • Default: InvalidUtf8
21657
21658   Backend commands
21659       Here are the commands specific to the drive backend.
21660
21661       Run them with
21662
21663              rclone backend COMMAND remote:
21664
21665       The help below will explain what arguments each command takes.
21666
21667       See   the    "rclone    backend"    command    (https://rclone.org/com
21668       mands/rclone_backend/)  for  more info on how to pass options and argu‐
21669       ments.
21670
21671       These can be run on a running backend using the rc command backend/com‐
21672       mand (https://rclone.org/rc/#backend/command).
21673
21674   get
21675       Get command for fetching the drive config parameters
21676
21677              rclone backend get remote: [options] [<arguments>+]
21678
21679       This  is  a  get  command which will be used to fetch the various drive
21680       config parameters
21681
21682       Usage Examples:
21683
21684              rclone backend get drive: [-o service_account_file] [-o chunk_size]
21685              rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size]
21686
21687       Options:
21688
21689       • "chunk_size": show the current upload chunk size
21690
21691       • "service_account_file": show the current service account file
21692
21693   set
21694       Set command for updating the drive config parameters
21695
21696              rclone backend set remote: [options] [<arguments>+]
21697
21698       This is a set command which will be used to update  the  various  drive
21699       config parameters
21700
21701       Usage Examples:
21702
21703              rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
21704              rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
21705
21706       Options:
21707
21708       • "chunk_size": update the current upload chunk size
21709
21710       • "service_account_file": update the current service account file
21711
21712   shortcut
21713       Create shortcuts from files or directories
21714
21715              rclone backend shortcut remote: [options] [<arguments>+]
21716
21717       This command creates shortcuts from files or directories.
21718
21719       Usage:
21720
21721              rclone backend shortcut drive: source_item destination_shortcut
21722              rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut
21723
21724       In  the  first  example  this creates a shortcut from the "source_item"
21725       which can be a file or a directory to the "destination_shortcut".   The
21726       "source_item"  and  the "destination_shortcut" should be relative paths
21727       from "drive:"
21728
21729       In the second example this creates a shortcut  from  the  "source_item"
21730       relative   to   "drive:"  to  the  "destination_shortcut"  relative  to
21731       "drive2:".  This may fail with a permission error if the user authenti‐
21732       cated with "drive2:" can't read files from "drive:".
21733
21734       Options:
21735
21736       • "target": optional target remote for the shortcut destination
21737
21738   drives
21739       List the Shared Drives available to this account
21740
21741              rclone backend drives remote: [options] [<arguments>+]
21742
21743       This  command  lists  the Shared Drives (Team Drives) available to this
21744       account.
21745
21746       Usage:
21747
21748              rclone backend drives drive:
21749
21750       This will return a JSON list of objects like this
21751
21752              [
21753                  {
21754                      "id": "0ABCDEF-01234567890",
21755                      "kind": "drive#teamDrive",
21756                      "name": "My Drive"
21757                  },
21758                  {
21759                      "id": "0ABCDEFabcdefghijkl",
21760                      "kind": "drive#teamDrive",
21761                      "name": "Test Drive"
21762                  }
21763              ]
21764
21765   untrash
21766       Untrash files and directories
21767
21768              rclone backend untrash remote: [options] [<arguments>+]
21769
21770       This command untrashes all the files and directories in  the  directory
21771       passed in recursively.
21772
21773       Usage:
21774
21775       This takes an optional directory to trash which make this easier to use
21776       via the API.
21777
21778              rclone backend untrash drive:directory
21779              rclone backend -i untrash drive:directory subdir
21780
21781       Use the -i flag to see what would be restored before restoring it.
21782
21783       Result:
21784
21785              {
21786                  "Untrashed": 17,
21787                  "Errors": 0
21788              }
21789
21790   copyid
21791       Copy files by ID
21792
21793              rclone backend copyid remote: [options] [<arguments>+]
21794
21795       This command copies files by ID
21796
21797       Usage:
21798
21799              rclone backend copyid drive: ID path
21800              rclone backend copyid drive: ID1 path1 ID2 path2
21801
21802       It copies the drive file with ID given to  the  path  (an  rclone  path
21803       which  will  be  passed  internally to rclone copyto).  The ID and path
21804       pairs can be repeated.
21805
21806       The path should end with a / to indicate copy the file as named to this
21807       directory.   If  it  doesn't  end with a / then the last path component
21808       will be used as the file name.
21809
21810       If the destination is a drive backend then server-side copying will  be
21811       attempted if possible.
21812
21813       Use the -i flag to see what would be copied before copying.
21814
21815   Limitations
21816       Drive  has quite a lot of rate limiting.  This causes rclone to be lim‐
21817       ited to transferring about 2 files per second only.   Individual  files
21818       may  be  transferred  much faster at 100s of MBytes/s but lots of small
21819       files can take a long time.
21820
21821       Server side copies are also subject to a separate rate limit.   If  you
21822       see  User rate limit exceeded errors, wait at least 24 hours and retry.
21823       You can disable server-side copies with --disable copy to download  and
21824       upload the files if you prefer.
21825
21826   Limitations of Google Docs
21827       Google  docs  will appear as size -1 in rclone ls and as size 0 in any‐
21828       thing which uses the VFS layer, e.g.  rclone mount, rclone serve.
21829
21830       This is because rclone can't find out the size of the Google docs with‐
21831       out downloading them.
21832
21833       Google  docs  will transfer correctly with rclone sync, rclone copy etc
21834       as rclone knows to ignore the size when doing the transfer.
21835
21836       However an unfortunate consequence of this is that you may not be  able
21837       to  download  Google  docs  using rclone mount.  If it doesn't work you
21838       will get a 0 sized file.  If you try again the doc may gain its correct
21839       size  and  be downloadable.  Whether it will work on not depends on the
21840       application accessing the mount and the OS you are running - experiment
21841       to find out if it does work for you!
21842
21843   Duplicated files
21844       Sometimes,  for  no reason I've been able to track down, drive will du‐
21845       plicate a file that rclone uploads.  Drive unlike all the other remotes
21846       can have duplicated files.
21847
21848       Duplicated  files cause problems with the syncing and you will see mes‐
21849       sages in the log about duplicates.
21850
21851       Use rclone dedupe to fix duplicated files.
21852
21853       Note that this isn't just a problem with rclone, even Google Photos  on
21854       Android duplicates files on drive sometimes.
21855
21856   Rclone appears to be re-copying files it shouldn't
21857       The  most likely cause of this is the duplicated file issue above - run
21858       rclone dedupe and check your logs for  duplicate  object  or  directory
21859       messages.
21860
21861       This  can  also be caused by a delay/caching on google drive's end when
21862       comparing directory listings.  Specifically with team  drives  used  in
21863       combination  with  --fast-list.   Files that were uploaded recently may
21864       not appear on the directory list sent to rclone when using --fast-list.
21865
21866       Waiting a moderate period of time between attempts (estimated to be ap‐
21867       proximately 1 hour) and/or not using --fast-list both seem to be effec‐
21868       tive in preventing the problem.
21869
21870   Making your own client_id
21871       When you use rclone with Google drive in its default configuration  you
21872       are  using  rclone's  client_id.  This is shared between all the rclone
21873       users.  There is a global rate limit on the number of queries per  sec‐
21874       ond  that  each  client_id  can do set by Google.  rclone already has a
21875       high quota and I will continue to make sure it is high enough  by  con‐
21876       tacting Google.
21877
21878       It  is  strongly  recommended  to use your own client ID as the default
21879       rclone ID is heavily used.  If you have multiple services  running,  it
21880       is  recommended to use an API key for each service.  The default Google
21881       quota is 10 transactions per second so it is recommended to stay  under
21882       that  number as if you use more than that, it will cause rclone to rate
21883       limit and make things slower.
21884
21885       Here is how to create your own Google Drive client ID for rclone:
21886
21887       1. Log  into   the   Google   API   Console   (https://console.develop
21888          ers.google.com/)  with  your Google account.  It doesn't matter what
21889          Google account you use.  (It need not be the  same  account  as  the
21890          Google Drive you want to access)
21891
21892       2. Select a project or create a new project.
21893
21894       3. Under  "ENABLE APIS AND SERVICES" search for "Drive", and enable the
21895          "Google Drive API".
21896
21897       4. Click "Credentials" in the  left-side  panel  (not  "Create  creden‐
21898          tials", which opens the wizard), then "Create credentials"
21899
21900       5. If  you  already  configured an "Oauth Consent Screen", then skip to
21901          the next step; if not, click on "CONFIGURE  CONSENT  SCREEN"  button
21902          (near  the top right corner of the right panel), then select "Exter‐
21903          nal" and click on "CREATE"; on the next screen, enter  an  "Applica‐
21904          tion  name" ("rclone" is OK) then click on "Save" (all other data is
21905          optional).  Click again on "Credentials" on the  left  panel  to  go
21906          back to the "Credentials" screen.
21907
21908       (PS: if you are a GSuite user, you could also select "Internal" instead
21909       of "External" above, but this has not been tested/documented so far).
21910
21911       6. Click on the "+ CREATE CREDENTIALS" button at the top of the screen,
21912          then select "OAuth client ID".
21913
21914       7. Choose  an  application  type of "Desktop app" if you using a Google
21915          account or "Other" if you using a GSuite account and click "Create".
21916          (the default name is fine)
21917
21918       8. It will show you a client ID and client secret.  Use these values in
21919          rclone config to add a new remote or edit an existing remote.
21920
21921       Be aware that, due to the "enhanced security"  recently  introduced  by
21922       Google,  you are theoretically expected to "submit your app for verifi‐
21923       cation" and then wait a few weeks(!) for their response;  in  practice,
21924       you  can  go  right  ahead and use the client ID and client secret with
21925       rclone, the only issue will be a very scary confirmation  screen  shown
21926       when  you connect via your browser for rclone to be able to get its to‐
21927       ken-id (but as this only happens during the remote configuration,  it's
21928       not such a big deal).
21929
21930       (Thanks to @balazer on github for these instructions.)
21931
21932       Sometimes, creation of an OAuth consent in Google API Console fails due
21933       to an error message “The request failed because changes to one  of  the
21934       field  of  the resource is not supported”.  As a convenient workaround,
21935       the necessary Google Drive API key can be created on the Python  Quick‐
21936       start    (https://developers.google.com/drive/api/v3/quickstart/python)
21937       page.  Just push the Enable the Drive API button to receive the  Client
21938       ID and Secret.  Note that it will automatically create a new project in
21939       the API Console.
21940
21941   Google Photos
21942       The  rclone  backend  for  Google  Photos  (https://www.google.com/pho
21943       tos/about/) is a specialized backend for transferring photos and videos
21944       to and from Google Photos.
21945
21946       NB The Google Photos API which rclone uses has quite a few limitations,
21947       so  please  read  the  limitations section carefully to make sure it is
21948       suitable for your use.
21949
21950   Configuring Google Photos
21951       The initial setup for google cloud storage  involves  getting  a  token
21952       from Google Photos which you need to do in your browser.  rclone config
21953       walks you through it.
21954
21955       Here is an example of how to make a remote called remote.  First run:
21956
21957               rclone config
21958
21959       This will guide you through an interactive setup process:
21960
21961              No remotes found - make a new one
21962              n) New remote
21963              s) Set configuration password
21964              q) Quit config
21965              n/s/q> n
21966              name> remote
21967              Type of storage to configure.
21968              Enter a string value. Press Enter for the default ("").
21969              Choose a number from below, or type in your own value
21970              [snip]
21971              XX / Google Photos
21972                 \ "google photos"
21973              [snip]
21974              Storage> google photos
21975              ** See help for google photos backend at: https://rclone.org/googlephotos/ **
21976
21977              Google Application Client Id
21978              Leave blank normally.
21979              Enter a string value. Press Enter for the default ("").
21980              client_id>
21981              Google Application Client Secret
21982              Leave blank normally.
21983              Enter a string value. Press Enter for the default ("").
21984              client_secret>
21985              Set to make the Google Photos backend read only.
21986
21987              If you choose read only then rclone will only request read only access
21988              to your photos, otherwise rclone will request full access.
21989              Enter a boolean value (true or false). Press Enter for the default ("false").
21990              read_only>
21991              Edit advanced config? (y/n)
21992              y) Yes
21993              n) No
21994              y/n> n
21995              Remote config
21996              Use auto config?
21997               * Say Y if not sure
21998               * Say N if you are working on a remote or headless machine
21999              y) Yes
22000              n) No
22001              y/n> y
22002              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
22003              Log in and authorize rclone for access
22004              Waiting for code...
22005              Got code
22006
22007              *** IMPORTANT: All media items uploaded to Google Photos with rclone
22008              *** are stored in full resolution at original quality.  These uploads
22009              *** will count towards storage in your Google Account.
22010
22011              --------------------
22012              [remote]
22013              type = google photos
22014              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-06-28T17:38:04.644930156+01:00"}
22015              --------------------
22016              y) Yes this is OK
22017              e) Edit this remote
22018              d) Delete this remote
22019              y/e/d> y
22020
22021       Note that rclone runs a webserver on your local machine to collect  the
22022       token  as  returned from Google if you use auto config mode.  This only
22023       runs from the moment it opens your browser to the moment you  get  back
22024       the verification code.  This is on http://127.0.0.1:53682/ and this may
22025       require you to unblock it temporarily if you are running a  host  fire‐
22026       wall, or use manual mode.
22027
22028       This remote is called remote and can now be used like this
22029
22030       See all the albums in your photos
22031
22032              rclone lsd remote:album
22033
22034       Make a new album
22035
22036              rclone mkdir remote:album/newAlbum
22037
22038       List the contents of an album
22039
22040              rclone ls remote:album/newAlbum
22041
22042       Sync /home/local/images to the Google Photos, removing any excess files
22043       in the album.
22044
22045              rclone sync -i /home/local/image remote:album/newAlbum
22046
22047   Layout
22048       As Google Photos is not a general  purpose  cloud  storage  system  the
22049       backend is laid out to help you navigate it.
22050
22051       The directories under media show different ways of categorizing the me‐
22052       dia.  Each file will appear multiple times.  So if you want to  make  a
22053       backup  of  your  google  photos  you might choose to backup remote:me‐
22054       dia/by-month.  (NB remote:media/by-day is rather slow at the moment  so
22055       avoid for syncing.)
22056
22057       Note that all your photos and videos will appear somewhere under media,
22058       but they may not appear under album unless you've put them into albums.
22059
22060              /
22061              - upload
22062                  - file1.jpg
22063                  - file2.jpg
22064                  - ...
22065              - media
22066                  - all
22067                      - file1.jpg
22068                      - file2.jpg
22069                      - ...
22070                  - by-year
22071                      - 2000
22072                          - file1.jpg
22073                          - ...
22074                      - 2001
22075                          - file2.jpg
22076                          - ...
22077                      - ...
22078                  - by-month
22079                      - 2000
22080                          - 2000-01
22081                              - file1.jpg
22082                              - ...
22083                          - 2000-02
22084                              - file2.jpg
22085                              - ...
22086                      - ...
22087                  - by-day
22088                      - 2000
22089                          - 2000-01-01
22090                              - file1.jpg
22091                              - ...
22092                          - 2000-01-02
22093                              - file2.jpg
22094                              - ...
22095                      - ...
22096              - album
22097                  - album name
22098                  - album name/sub
22099              - shared-album
22100                  - album name
22101                  - album name/sub
22102              - feature
22103                  - favorites
22104                      - file1.jpg
22105                      - file2.jpg
22106
22107       There are two writable parts of the tree, the upload directory and  sub
22108       directories of the album directory.
22109
22110       The  upload directory is for uploading files you don't want to put into
22111       albums.  This will be empty to start with and will  contain  the  files
22112       you've  uploaded for one rclone session only, becoming empty again when
22113       you restart rclone.  The use case for this would be if you have a  load
22114       of  files  you  just want to once off dump into Google Photos.  For re‐
22115       peated syncing, uploading to album will work better.
22116
22117       Directories within the album directory are also writeable and  you  may
22118       create  new directories (albums) under album.  If you copy files with a
22119       directory hierarchy in there then rclone will create albums with the  /
22120       character in them.  For example if you do
22121
22122              rclone copy /path/to/images remote:album/images
22123
22124       and the images directory contains
22125
22126              images
22127                  - file1.jpg
22128                  dir
22129                      file2.jpg
22130                  dir2
22131                      dir3
22132                          file3.jpg
22133
22134       Then  rclone  will create the following albums with the following files
22135       in
22136
22137       • images
22138
22139         • file1.jpg
22140
22141       • images/dir
22142
22143         • file2.jpg
22144
22145       • images/dir2/dir3
22146
22147         • file3.jpg
22148
22149       This means that you can use the album path pretty much  like  a  normal
22150       filesystem and it is a good target for repeated syncing.
22151
22152       The  shared-album  directory  shows  albums  shared with you or by you.
22153       This is similar to the Sharing tab in the Google Photos web interface.
22154
22155   Limitations
22156       Only images and videos can be uploaded.  If you attempt to  upload  non
22157       videos  or  images  or  formats  that Google Photos doesn't understand,
22158       rclone will upload the file, then Google Photos will give an error when
22159       it is put turned into a media item.
22160
22161       Note that all media items uploaded to Google Photos through the API are
22162       stored in full resolution at "original quality" and will count  towards
22163       your  storage  quota  in your Google Account.  The API does not offer a
22164       way to upload in "high quality" mode..
22165
22166       rclone about is not supported by the Google Photos  backend.   Backends
22167       without this capability cannot determine free space for an rclone mount
22168       or use policy mfs (most free space) as a member of an rclone union  re‐
22169       mote.
22170
22171       See   List   of   backends   that   do   not   support   rclone   about
22172       (https://rclone.org/overview/#optional-features)   See   rclone   about
22173       (https://rclone.org/commands/rclone_about/)
22174
22175   Downloading Images
22176       When  Images are downloaded this strips EXIF location (according to the
22177       docs and my tests).  This is a limitation of the Google Photos API  and
22178       is   covered  by  bug  #112096115  (https://issuetracker.google.com/is
22179       sues/112096115).
22180
22181       The current google API does not allow photos to be downloaded at origi‐
22182       nal resolution. This is very important if you are, for example, relying
22183       on "Google Photos" as a backup of your photos. You will not be able  to
22184       use  rclone  to redownload original images. You could use 'google take‐
22185       out' to recover the original photos as a last resort
22186
22187   Downloading Videos
22188       When videos are downloaded they are downloaded in a  really  compressed
22189       version  of  the video compared to downloading it via the Google Photos
22190       web interface.  This is covered by bug #113672044  (https://issuetrack
22191       er.google.com/issues/113672044).
22192
22193   Duplicates
22194       If  a  file  name is duplicated in a directory then rclone will add the
22195       file ID into its name.  So two files called file.jpg would then  appear
22196       as  file  {123456}.jpg  and file {ABCDEF}.jpg (the actual IDs are a lot
22197       longer alas!).
22198
22199       If you upload the same image (with the same  binary  data)  twice  then
22200       Google Photos will deduplicate it.  However it will retain the filename
22201       from the first upload which may confuse rclone.  For example if you up‐
22202       loaded  an image to upload then uploaded the same image to album/my_al‐
22203       bum the filename of the image in album/my_album will be what it was up‐
22204       loaded  with  initially,  not  what  you uploaded it with to album.  In
22205       practise this shouldn't cause too many problems.
22206
22207   Modified time
22208       The date shown of media in Google Photos is the creation date as deter‐
22209       mined by the EXIF information, or the upload date if that is not known.
22210
22211       This  is  not  changeable by rclone and is not the modification date of
22212       the media on local disk.  This means that rclone cannot use  the  dates
22213       from Google Photos for syncing purposes.
22214
22215   Size
22216       The  Google  Photos  API does not return the size of media.  This means
22217       that when syncing to Google Photos, rclone can only do a file existence
22218       check.
22219
22220       It  is  possible to read the size of the media, but this needs an extra
22221       HTTP HEAD request per media item so is very slow and uses up a  lot  of
22222       transactions.   This can be enabled with the --gphotos-read-size option
22223       or the read_size = true config parameter.
22224
22225       If you want to use the backend with rclone mount you may need to enable
22226       this  flag (depending on your OS and application using the photos) oth‐
22227       erwise you may not be able to read media off the mount.  You'll need to
22228       experiment to see if it works for you without the flag.
22229
22230   Albums
22231       Rclone  can  only upload files to albums it created.  This is a limita‐
22232       tion of the Google Photos API (https://developers.google.com/photos/li
22233       brary/guides/manage-albums).
22234
22235       Rclone can remove files it uploaded from albums it created only.
22236
22237   Deleting files
22238       Rclone  can  remove  files  from  albums  it created, but note that the
22239       Google Photos API does not allow media to  be  deleted  permanently  so
22240       this  media will still remain.  See bug #109759781 (https://issuetrack
22241       er.google.com/issues/109759781).
22242
22243       Rclone cannot delete files anywhere except under album.
22244
22245   Deleting albums
22246       The Google Photos API does  not  support  deleting  albums  -  see  bug
22247       #135714733 (https://issuetracker.google.com/issues/135714733).
22248
22249   Standard Options
22250       Here  are  the  standard options specific to google photos (Google Pho‐
22251       tos).
22252
22253   --gphotos-client-id
22254       OAuth Client Id Leave blank normally.
22255
22256       • Config: client_id
22257
22258       • Env Var: RCLONE_GPHOTOS_CLIENT_ID
22259
22260       • Type: string
22261
22262       • Default: ""
22263
22264   --gphotos-client-secret
22265       OAuth Client Secret Leave blank normally.
22266
22267       • Config: client_secret
22268
22269       • Env Var: RCLONE_GPHOTOS_CLIENT_SECRET
22270
22271       • Type: string
22272
22273       • Default: ""
22274
22275   --gphotos-read-only
22276       Set to make the Google Photos backend read only.
22277
22278       If you choose read only then rclone will only request read only  access
22279       to your photos, otherwise rclone will request full access.
22280
22281       • Config: read_only
22282
22283       • Env Var: RCLONE_GPHOTOS_READ_ONLY
22284
22285       • Type: bool
22286
22287       • Default: false
22288
22289   Advanced Options
22290       Here  are  the  advanced options specific to google photos (Google Pho‐
22291       tos).
22292
22293   --gphotos-token
22294       OAuth Access Token as a JSON blob.
22295
22296       • Config: token
22297
22298       • Env Var: RCLONE_GPHOTOS_TOKEN
22299
22300       • Type: string
22301
22302       • Default: ""
22303
22304   --gphotos-auth-url
22305       Auth server URL.  Leave blank to use the provider defaults.
22306
22307       • Config: auth_url
22308
22309       • Env Var: RCLONE_GPHOTOS_AUTH_URL
22310
22311       • Type: string
22312
22313       • Default: ""
22314
22315   --gphotos-token-url
22316       Token server url.  Leave blank to use the provider defaults.
22317
22318       • Config: token_url
22319
22320       • Env Var: RCLONE_GPHOTOS_TOKEN_URL
22321
22322       • Type: string
22323
22324       • Default: ""
22325
22326   --gphotos-read-size
22327       Set to read the size of media items.
22328
22329       Normally rclone does not read the size of media items since this  takes
22330       another transaction.  This isn't necessary for syncing.  However rclone
22331       mount needs to know the size of files in advance of  reading  them,  so
22332       setting this flag when using rclone mount is recommended if you want to
22333       read the media.
22334
22335       • Config: read_size
22336
22337       • Env Var: RCLONE_GPHOTOS_READ_SIZE
22338
22339       • Type: bool
22340
22341       • Default: false
22342
22343   --gphotos-start-year
22344       Year limits the photos to be downloaded to those which are uploaded af‐
22345       ter the given year
22346
22347       • Config: start_year
22348
22349       • Env Var: RCLONE_GPHOTOS_START_YEAR
22350
22351       • Type: int
22352
22353       • Default: 2000
22354
22355   --gphotos-include-archived
22356       Also view and download archived media.
22357
22358       By default rclone does not request archived media.  Thus, when syncing,
22359       archived media is not visible in directory listings or transferred.
22360
22361       Note that media in albums is always visible and synced, no matter their
22362       archive status.
22363
22364       With this flag, archived media are always visible in directory listings
22365       and transferred.
22366
22367       Without this flag, archived media will  not  be  visible  in  directory
22368       listings and won't be transferred.
22369
22370       • Config: include_archived
22371
22372       • Env Var: RCLONE_GPHOTOS_INCLUDE_ARCHIVED
22373
22374       • Type: bool
22375
22376       • Default: false
22377
22378   HDFS
22379       HDFS (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-
22380       hdfs/HdfsDesign.html) is a distributed file-system, part of the  Apache
22381       Hadoop (https://hadoop.apache.org/) framework.
22382
22383       Paths are specified as remote: or remote:path/to/dir.
22384
22385       Here is an example of how to make a remote called remote.  First run:
22386
22387               rclone config
22388
22389       This will guide you through an interactive setup process:
22390
22391              No remotes found - make a new one
22392              n) New remote
22393              s) Set configuration password
22394              q) Quit config
22395              n/s/q> n
22396              name> remote
22397              Type of storage to configure.
22398              Enter a string value. Press Enter for the default ("").
22399              Choose a number from below, or type in your own value
22400              [skip]
22401              XX / Hadoop distributed file system
22402                 \ "hdfs"
22403              [skip]
22404              Storage> hdfs
22405              ** See help for hdfs backend at: https://rclone.org/hdfs/ **
22406
22407              hadoop name node and port
22408              Enter a string value. Press Enter for the default ("").
22409              Choose a number from below, or type in your own value
22410               1 / Connect to host namenode at port 8020
22411                 \ "namenode:8020"
22412              namenode> namenode.hadoop:8020
22413              hadoop user name
22414              Enter a string value. Press Enter for the default ("").
22415              Choose a number from below, or type in your own value
22416               1 / Connect to hdfs as root
22417                 \ "root"
22418              username> root
22419              Edit advanced config? (y/n)
22420              y) Yes
22421              n) No (default)
22422              y/n> n
22423              Remote config
22424              --------------------
22425              [remote]
22426              type = hdfs
22427              namenode = namenode.hadoop:8020
22428              username = root
22429              --------------------
22430              y) Yes this is OK (default)
22431              e) Edit this remote
22432              d) Delete this remote
22433              y/e/d> y
22434              Current remotes:
22435
22436              Name                 Type
22437              ====                 ====
22438              hadoop               hdfs
22439
22440              e) Edit existing remote
22441              n) New remote
22442              d) Delete remote
22443              r) Rename remote
22444              c) Copy remote
22445              s) Set configuration password
22446              q) Quit config
22447              e/n/d/r/c/s/q> q
22448
22449       This remote is called remote and can now be used like this
22450
22451       See all the top level directories
22452
22453              rclone lsd remote:
22454
22455       List the contents of a directory
22456
22457              rclone ls remote:directory
22458
22459       Sync the remote directory to /home/local/directory, deleting any excess
22460       files.
22461
22462              rclone sync -i remote:directory /home/local/directory
22463
22464   Setting up your own HDFS instance for testing
22465       You may start with a manual setup  (https://hadoop.apache.org/docs/sta
22466       ble/hadoop-project-dist/hadoop-common/SingleCluster.html)  or  use  the
22467       docker image from the tests:
22468
22469       If you want to build the docker image
22470
22471              git clone https://github.com/rclone/rclone.git
22472              cd rclone/fstest/testserver/images/test-hdfs
22473              docker build --rm -t rclone/test-hdfs .
22474
22475       Or you can just use the latest one pushed
22476
22477              docker run --rm --name "rclone-hdfs" -p 127.0.0.1:9866:9866 -p 127.0.0.1:8020:8020 --hostname "rclone-hdfs" rclone/test-hdfs
22478
22479       NB it need few seconds to startup.
22480
22481       For this docker image the remote needs to be configured like this:
22482
22483              [remote]
22484              type = hdfs
22485              namenode = 127.0.0.1:8020
22486              username = root
22487
22488       You can stop this image with docker kill rclone-hdfs (NB  it  does  not
22489       use volumes, so all data uploaded will be lost.)
22490
22491   Modified time
22492       Time accurate to 1 second is stored.
22493
22494   Checksum
22495       No checksums are implemented.
22496
22497   Usage information
22498       You  can  use  the  rclone  about  remote:  command  which will display
22499       filesystem size and current usage.
22500
22501   Restricted filename characters
22502       In   addition   to    the    default    restricted    characters    set
22503       (https://rclone.org/overview/#restricted-characters)    the   following
22504       characters are also replaced:
22505
22506       Character   Value   Replacement
22507       ────────────────────────────────
22508       :           0x3A        :
22509
22510       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
22511       view/#invalid-utf8).
22512
22513   Limitations
22514       • No server-side Move or DirMove.
22515
22516       • Checksums not implemented.
22517
22518   Standard Options
22519       Here are the standard options specific to hdfs (Hadoop distributed file
22520       system).
22521
22522   --hdfs-namenode
22523       hadoop name node and port
22524
22525       • Config: namenode
22526
22527       • Env Var: RCLONE_HDFS_NAMENODE
22528
22529       • Type: string
22530
22531       • Default: ""
22532
22533       • Examples:
22534
22535         • "namenode:8020"
22536
22537           • Connect to host namenode at port 8020
22538
22539   --hdfs-username
22540       hadoop user name
22541
22542       • Config: username
22543
22544       • Env Var: RCLONE_HDFS_USERNAME
22545
22546       • Type: string
22547
22548       • Default: ""
22549
22550       • Examples:
22551
22552         • "root"
22553
22554           • Connect to hdfs as root
22555
22556   Advanced Options
22557       Here are the advanced options specific to hdfs (Hadoop distributed file
22558       system).
22559
22560   --hdfs-service-principal-name
22561       Kerberos service principal name for the namenode
22562
22563       Enables  KERBEROS authentication.  Specifies the Service Principal Name
22564       (/) for the namenode.
22565
22566       • Config: service_principal_name
22567
22568       • Env Var: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME
22569
22570       • Type: string
22571
22572       • Default: ""
22573
22574       • Examples:
22575
22576         • "hdfs/namenode.hadoop.docker"
22577
22578           • Namenode  running   as   service   'hdfs'   with   FQDN   'namen‐
22579             ode.hadoop.docker'.
22580
22581   --hdfs-data-transfer-protection
22582       Kerberos data transfer protection: authentication|integrity|privacy
22583
22584       Specifies  whether  or  not  authentication,  data  signature integrity
22585       checks, and wire encryption is  required  when  communicating  the  the
22586       datanodes.  Possible values are 'authentication', 'integrity' and 'pri‐
22587       vacy'.  Used only with KERBEROS enabled.
22588
22589       • Config: data_transfer_protection
22590
22591       • Env Var: RCLONE_HDFS_DATA_TRANSFER_PROTECTION
22592
22593       • Type: string
22594
22595       • Default: ""
22596
22597       • Examples:
22598
22599         • "privacy"
22600
22601           • Ensure authentication, integrity and encryption enabled.
22602
22603   --hdfs-encoding
22604       This sets the encoding for the backend.
22605
22606       See: the encoding section  in  the  overview  (https://rclone.org/over
22607       view/#encoding) for more info.
22608
22609       • Config: encoding
22610
22611       • Env Var: RCLONE_HDFS_ENCODING
22612
22613       • Type: MultiEncoder
22614
22615       • Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
22616
22617   HTTP
22618       The HTTP remote is a read only remote for reading files of a webserver.
22619       The webserver should provide file listings which rclone will  read  and
22620       turn  into  a remote.  This has been tested with common webservers such
22621       as Apache/Nginx/Caddy and will likely work with file listings from most
22622       web  servers.  (If it doesn't then please file an issue, or send a pull
22623       request!)
22624
22625       Paths are specified as remote: or remote:path/to/dir.
22626
22627       Here is an example of how to make a remote called remote.  First run:
22628
22629               rclone config
22630
22631       This will guide you through an interactive setup process:
22632
22633              No remotes found - make a new one
22634              n) New remote
22635              s) Set configuration password
22636              q) Quit config
22637              n/s/q> n
22638              name> remote
22639              Type of storage to configure.
22640              Choose a number from below, or type in your own value
22641              [snip]
22642              XX / http Connection
22643                 \ "http"
22644              [snip]
22645              Storage> http
22646              URL of http host to connect to
22647              Choose a number from below, or type in your own value
22648               1 / Connect to example.com
22649                 \ "https://example.com"
22650              url> https://beta.rclone.org
22651              Remote config
22652              --------------------
22653              [remote]
22654              url = https://beta.rclone.org
22655              --------------------
22656              y) Yes this is OK
22657              e) Edit this remote
22658              d) Delete this remote
22659              y/e/d> y
22660              Current remotes:
22661
22662              Name                 Type
22663              ====                 ====
22664              remote               http
22665
22666              e) Edit existing remote
22667              n) New remote
22668              d) Delete remote
22669              r) Rename remote
22670              c) Copy remote
22671              s) Set configuration password
22672              q) Quit config
22673              e/n/d/r/c/s/q> q
22674
22675       This remote is called remote and can now be used like this
22676
22677       See all the top level directories
22678
22679              rclone lsd remote:
22680
22681       List the contents of a directory
22682
22683              rclone ls remote:directory
22684
22685       Sync the remote directory to /home/local/directory, deleting any excess
22686       files.
22687
22688              rclone sync -i remote:directory /home/local/directory
22689
22690   Read only
22691       This remote is read only - you can't upload files to an HTTP server.
22692
22693   Modified time
22694       Most HTTP servers store time accurate to 1 second.
22695
22696   Checksum
22697       No checksums are stored.
22698
22699   Usage without a config file
22700       Since  the  http remote only has one config parameter it is easy to use
22701       without a config file:
22702
22703              rclone lsd --http-url https://beta.rclone.org :http:
22704
22705   Standard Options
22706       Here are the standard options specific to http (http Connection).
22707
22708   --http-url
22709       URL of http host to connect to
22710
22711       • Config: url
22712
22713       • Env Var: RCLONE_HTTP_URL
22714
22715       • Type: string
22716
22717       • Default: ""
22718
22719       • Examples:
22720
22721         • "https://example.com"
22722
22723           • Connect to example.com
22724
22725         • "https://user:pass@example.com"
22726
22727           • Connect to example.com using a username and password
22728
22729   Advanced Options
22730       Here are the advanced options specific to http (http Connection).
22731
22732   --http-headers
22733       Set HTTP headers for all transactions
22734
22735       Use this to set additional HTTP headers for all transactions
22736
22737       The input format is comma separated list of key,value pairs.   Standard
22738       CSV encoding (https://godoc.org/encoding/csv) may be used.
22739
22740       For  example  to  set  a  Cookie  use  'Cookie,name=value',  or '"Cook‐
22741       ie","name=value"'.
22742
22743       You can set multiple headers, e.g.   '"Cookie","name=value","Authoriza‐
22744       tion","xxx"'.
22745
22746       • Config: headers
22747
22748       • Env Var: RCLONE_HTTP_HEADERS
22749
22750       • Type: CommaSepList
22751
22752       • Default:
22753
22754   --http-no-slash
22755       Set this if the site doesn't end directories with /
22756
22757       Use  this  if your target website does not use / on the end of directo‐
22758       ries.
22759
22760       A / on the end of a path is how rclone normally  tells  the  difference
22761       between  files  and directories.  If this flag is set, then rclone will
22762       treat all files with Content-Type: text/html as  directories  and  read
22763       URLs from them rather than downloading them.
22764
22765       Note  that this may cause rclone to confuse genuine HTML files with di‐
22766       rectories.
22767
22768       • Config: no_slash
22769
22770       • Env Var: RCLONE_HTTP_NO_SLASH
22771
22772       • Type: bool
22773
22774       • Default: false
22775
22776   --http-no-head
22777       Don't use HEAD requests to find file sizes in dir listing
22778
22779       If your site is being very slow to load then you can try  this  option.
22780       Normally rclone does a HEAD request for each potential file in a direc‐
22781       tory listing to:
22782
22783       • find its size
22784
22785       • check it really exists
22786
22787       • check to see if it is a directory
22788
22789       If you set this option, rclone will not do the HEAD request.  This will
22790       mean
22791
22792       • directory listings are much quicker
22793
22794       • rclone won't have the times or sizes of any files
22795
22796       • some files that don't exist may be in the listing
22797
22798       • Config: no_head
22799
22800       • Env Var: RCLONE_HTTP_NO_HEAD
22801
22802       • Type: bool
22803
22804       • Default: false
22805
22806   Limitations
22807       rclone  about  is  not supported by the HTTP backend.  Backends without
22808       this capability cannot determine free space for an rclone mount or  use
22809       policy mfs (most free space) as a member of an rclone union remote.
22810
22811       See   List   of   backends   that   do   not   support   rclone   about
22812       (https://rclone.org/overview/#optional-features)   See   rclone   about
22813       (https://rclone.org/commands/rclone_about/)
22814
22815   Hubic
22816       Paths are specified as remote:path
22817
22818       Paths  are  specified  as remote:container (or remote: for the lsd com‐
22819       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
22820       er/path/to/dir.
22821
22822       The  initial  setup for Hubic involves getting a token from Hubic which
22823       you need to do in your browser.  rclone config walks you through it.
22824
22825       Here is an example of how to make a remote called remote.  First run:
22826
22827               rclone config
22828
22829       This will guide you through an interactive setup process:
22830
22831              n) New remote
22832              s) Set configuration password
22833              n/s> n
22834              name> remote
22835              Type of storage to configure.
22836              Choose a number from below, or type in your own value
22837              [snip]
22838              XX / Hubic
22839                 \ "hubic"
22840              [snip]
22841              Storage> hubic
22842              Hubic Client Id - leave blank normally.
22843              client_id>
22844              Hubic Client Secret - leave blank normally.
22845              client_secret>
22846              Remote config
22847              Use auto config?
22848               * Say Y if not sure
22849               * Say N if you are working on a remote or headless machine
22850              y) Yes
22851              n) No
22852              y/n> y
22853              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
22854              Log in and authorize rclone for access
22855              Waiting for code...
22856              Got code
22857              --------------------
22858              [remote]
22859              client_id =
22860              client_secret =
22861              token = {"access_token":"XXXXXX"}
22862              --------------------
22863              y) Yes this is OK
22864              e) Edit this remote
22865              d) Delete this remote
22866              y/e/d> y
22867
22868       See the remote setup docs (https://rclone.org/remote_setup/) for how to
22869       set it up on a machine with no Internet browser available.
22870
22871       Note  that rclone runs a webserver on your local machine to collect the
22872       token as returned from Hubic.  This only runs from the moment it  opens
22873       your browser to the moment you get back the verification code.  This is
22874       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
22875       temporarily if you are running a host firewall.
22876
22877       Once configured you can then use rclone like this,
22878
22879       List containers in the top level of your Hubic
22880
22881              rclone lsd remote:
22882
22883       List all the files in your Hubic
22884
22885              rclone ls remote:
22886
22887       To copy a local directory to an Hubic directory called backup
22888
22889              rclone copy /home/source remote:backup
22890
22891       If  you want the directory to be visible in the official Hubic browser,
22892       you need to copy your files to the default directory
22893
22894              rclone copy /home/source remote:default/backup
22895
22896   --fast-list
22897       This remote supports --fast-list which allows you to use fewer transac‐
22898       tions   in   exchange   for   more   memory.    See   the  rclone  docs
22899       (https://rclone.org/docs/#fast-list) for more details.
22900
22901   Modified time
22902       The modified time  is  stored  as  metadata  on  the  object  as  X-Ob‐
22903       ject-Meta-Mtime as floating point since the epoch accurate to 1 ns.
22904
22905       This  is  a  de facto standard (used in the official python-swiftclient
22906       amongst others) for storing the modification time for an object.
22907
22908       Note that Hubic wraps the Swift backend, so most of the  properties  of
22909       are the same.
22910
22911   Standard Options
22912       Here are the standard options specific to hubic (Hubic).
22913
22914   --hubic-client-id
22915       OAuth Client Id Leave blank normally.
22916
22917       • Config: client_id
22918
22919       • Env Var: RCLONE_HUBIC_CLIENT_ID
22920
22921       • Type: string
22922
22923       • Default: ""
22924
22925   --hubic-client-secret
22926       OAuth Client Secret Leave blank normally.
22927
22928       • Config: client_secret
22929
22930       • Env Var: RCLONE_HUBIC_CLIENT_SECRET
22931
22932       • Type: string
22933
22934       • Default: ""
22935
22936   Advanced Options
22937       Here are the advanced options specific to hubic (Hubic).
22938
22939   --hubic-token
22940       OAuth Access Token as a JSON blob.
22941
22942       • Config: token
22943
22944       • Env Var: RCLONE_HUBIC_TOKEN
22945
22946       • Type: string
22947
22948       • Default: ""
22949
22950   --hubic-auth-url
22951       Auth server URL.  Leave blank to use the provider defaults.
22952
22953       • Config: auth_url
22954
22955       • Env Var: RCLONE_HUBIC_AUTH_URL
22956
22957       • Type: string
22958
22959       • Default: ""
22960
22961   --hubic-token-url
22962       Token server url.  Leave blank to use the provider defaults.
22963
22964       • Config: token_url
22965
22966       • Env Var: RCLONE_HUBIC_TOKEN_URL
22967
22968       • Type: string
22969
22970       • Default: ""
22971
22972   --hubic-chunk-size
22973       Above this size files will be chunked into a _segments container.
22974
22975       Above  this size files will be chunked into a _segments container.  The
22976       default for this is 5GB which is its maximum value.
22977
22978       • Config: chunk_size
22979
22980       • Env Var: RCLONE_HUBIC_CHUNK_SIZE
22981
22982       • Type: SizeSuffix
22983
22984       • Default: 5G
22985
22986   --hubic-no-chunk
22987       Don't chunk files during streaming upload.
22988
22989       When doing streaming uploads (e.g.  using rcat or mount)  setting  this
22990       flag will cause the swift backend to not upload chunked files.
22991
22992       This  will  limit  the maximum upload size to 5GB.  However non chunked
22993       files are easier to deal with and have an MD5SUM.
22994
22995       Rclone will still chunk files bigger than chunk_size when doing  normal
22996       copy operations.
22997
22998       • Config: no_chunk
22999
23000       • Env Var: RCLONE_HUBIC_NO_CHUNK
23001
23002       • Type: bool
23003
23004       • Default: false
23005
23006   --hubic-encoding
23007       This sets the encoding for the backend.
23008
23009       See:  the  encoding  section  in the overview (https://rclone.org/over
23010       view/#encoding) for more info.
23011
23012       • Config: encoding
23013
23014       • Env Var: RCLONE_HUBIC_ENCODING
23015
23016       • Type: MultiEncoder
23017
23018       • Default: Slash,InvalidUtf8
23019
23020   Limitations
23021       This uses the normal OpenStack Swift mechanism to refresh the Swift API
23022       credentials and ignores the expires field returned by the Hubic API.
23023
23024       The  Swift API doesn't return a correct MD5SUM for segmented files (Dy‐
23025       namic or Static Large Objects) so rclone won't check or use the  MD5SUM
23026       for these.
23027
23028   Jottacloud
23029       Jottacloud  is a cloud storage service provider from a Norwegian compa‐
23030       ny, using its own datacenters in Norway.
23031
23032       In addition to the official service at jottacloud.com (https://www.jot
23033       tacloud.com/),  there are also several whitelabel versions which should
23034       work with this backend.
23035
23036       Paths are specified as remote:path
23037
23038       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
23039
23040   Setup
23041   Default Setup
23042       To configure Jottacloud you will need to generate a  personal  security
23043       token  in  the  Jottacloud web interface.  You will the option to do in
23044       your account security settings  (https://www.jottacloud.com/web/secure)
23045       (for  whitelabel  version  you need to find this page in its web inter‐
23046       face).  Note that the web interface may refer to this token as a Jotta‐
23047       Cli token.
23048
23049   Legacy Setup
23050       If  you  are  using one of the whitelabel versions (Elgiganten, Com Hem
23051       Cloud) you may not have the option to generate a CLI  token.   In  this
23052       case  you'll  have to use the legacy authentication.  To to this select
23053       yes when the setup asks for legacy authentication and enter your  user‐
23054       name  and  password.  The rest of the setup is identical to the default
23055       setup.
23056
23057   Telia Cloud Setup
23058       Similar to other whitelabel versions Telia Cloud doesn't offer the  op‐
23059       tion  of creating a CLI token, and additionally uses a separate authen‐
23060       tication flow where the username is  generated  internally.   To  setup
23061       rclone  to  use  Telia  Cloud, choose Telia Cloud authentication in the
23062       setup.  The rest of the setup is identical to the default setup.
23063
23064   Example
23065       Here is an example of how to make a remote called remote with  the  de‐
23066       fault setup.  First run:
23067
23068              rclone config
23069
23070       This will guide you through an interactive setup process:
23071
23072              No remotes found - make a new one
23073              n) New remote
23074              s) Set configuration password
23075              q) Quit config
23076              n/s/q> n
23077              name> remote
23078              Type of storage to configure.
23079              Enter a string value. Press Enter for the default ("").
23080              Choose a number from below, or type in your own value
23081              [snip]
23082              XX / Jottacloud
23083                 \ "jottacloud"
23084              [snip]
23085              Storage> jottacloud
23086              ** See help for jottacloud backend at: https://rclone.org/jottacloud/ **
23087
23088              Edit advanced config? (y/n)
23089              y) Yes
23090              n) No
23091              y/n> n
23092              Remote config
23093              Use legacy authentication?.
23094              This is only required for certain whitelabel versions of Jottacloud and not recommended for normal users.
23095              y) Yes
23096              n) No (default)
23097              y/n> n
23098
23099              Generate a personal login token here: https://www.jottacloud.com/web/secure
23100              Login Token> <your token here>
23101
23102              Do you want to use a non standard device/mountpoint e.g. for accessing files uploaded using the official Jottacloud client?
23103
23104              y) Yes
23105              n) No
23106              y/n> y
23107              Please select the device to use. Normally this will be Jotta
23108              Choose a number from below, or type in an existing value
23109               1 > DESKTOP-3H31129
23110               2 > Jotta
23111              Devices> 2
23112              Please select the mountpoint to user. Normally this will be Archive
23113              Choose a number from below, or type in an existing value
23114               1 > Archive
23115               2 > Links
23116               3 > Sync
23117
23118              Mountpoints> 1
23119              --------------------
23120              [jotta]
23121              type = jottacloud
23122              token = {........}
23123              device = Jotta
23124              mountpoint = Archive
23125              configVersion = 1
23126              --------------------
23127              y) Yes this is OK
23128              e) Edit this remote
23129              d) Delete this remote
23130              y/e/d> y
23131
23132       Once configured you can then use rclone like this,
23133
23134       List directories in top level of your Jottacloud
23135
23136              rclone lsd remote:
23137
23138       List all the files in your Jottacloud
23139
23140              rclone ls remote:
23141
23142       To copy a local directory to an Jottacloud directory called backup
23143
23144              rclone copy /home/source remote:backup
23145
23146   Devices and Mountpoints
23147       The official Jottacloud client registers a device for each computer you
23148       install it on, and then creates a mountpoint for each folder you select
23149       for  Backup.   The web interface uses a special device called Jotta for
23150       the Archive and Sync mountpoints.  In most cases you'll want to use the
23151       Jotta/Archive  device/mountpoint,  however  if you want to access files
23152       uploaded by any of the official clients rclone provides the  option  to
23153       select other devices and mountpoints during config.
23154
23155       The  built-in  Jotta device may also contain several other mountpoints,
23156       such as: Latest, Links, Shared and Trash.   These  are  special  mount‐
23157       points  with  a  different  internal  representation than the "regular"
23158       mountpoints.  Rclone will only to a very limited degree  support  them.
23159       Generally you should avoid these, unless you know what you are doing.
23160
23161   --fast-list
23162       This remote supports --fast-list which allows you to use fewer transac‐
23163       tions  in  exchange   for   more   memory.    See   the   rclone   docs
23164       (https://rclone.org/docs/#fast-list) for more details.
23165
23166       Note  that  the  implementation in Jottacloud always uses only a single
23167       API request to get the entire list, so for  large  folders  this  could
23168       lead to long wait time before the first results are shown.
23169
23170   Modified time and hashes
23171       Jottacloud allows modification times to be set on objects accurate to 1
23172       second.  These will be used to detect whether objects need  syncing  or
23173       not.
23174
23175       Jottacloud  supports  MD5  type  hashes,  so you can use the --checksum
23176       flag.
23177
23178       Note that Jottacloud requires the MD5 hash  before  upload  so  if  the
23179       source  does not have an MD5 checksum then the file will be cached tem‐
23180       porarily on disk (wherever the TMPDIR environment variable  points  to)
23181       before  it is uploaded.  Small files will be cached in memory - see the
23182       --jottacloud-md5-memory-limit flag.  When uploading from local disk the
23183       source  checksum is always available, so this does not apply.  Starting
23184       with rclone version 1.52 the same is true for crypted remotes (in older
23185       versions  the crypt backend would not calculate hashes for uploads from
23186       local disk, so the Jottacloud backend had to do it as described above).
23187
23188   Restricted filename characters
23189       In   addition   to    the    default    restricted    characters    set
23190       (https://rclone.org/overview/#restricted-characters)    the   following
23191       characters are also replaced:
23192
23193       Character   Value   Replacement
23194       ────────────────────────────────
23195       "           0x22        "
23196       *           0x2A        *
23197       :           0x3A        :
23198       <           0x3C        <
23199       >           0x3E        >
23200       ?           0x3F        ?
23201       |           0x7C        |
23202
23203       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
23204       view/#invalid-utf8), as they can't be used in XML strings.
23205
23206   Deleting files
23207       By default rclone will send all files to the trash when deleting files.
23208       They will be permanently deleted automatically after 30 days.  You  may
23209       bypass  the trash and permanently delete files immediately by using the
23210       --jottacloud-hard-delete flag, or set the equivalent environment  vari‐
23211       able.     Emptying    the   trash   is   supported   by   the   cleanup
23212       (https://rclone.org/commands/rclone_cleanup/) command.
23213
23214   Versions
23215       Jottacloud supports file versioning.  When rclone uploads a new version
23216       of  a  file it creates a new version of it.  Currently rclone only sup‐
23217       ports retrieving the current version but older versions can be accessed
23218       via the Jottacloud Website.
23219
23220   Quota information
23221       To view your current quota you can use the rclone about remote: command
23222       which will display your usage limit (unless it is  unlimited)  and  the
23223       current usage.
23224
23225   Advanced Options
23226       Here are the advanced options specific to jottacloud (Jottacloud).
23227
23228   --jottacloud-md5-memory-limit
23229       Files  bigger  than this will be cached on disk to calculate the MD5 if
23230       required.
23231
23232       • Config: md5_memory_limit
23233
23234       • Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
23235
23236       • Type: SizeSuffix
23237
23238       • Default: 10M
23239
23240   --jottacloud-trashed-only
23241       Only show files that are in the trash.  This will show trashed files in
23242       their original directory structure.
23243
23244       • Config: trashed_only
23245
23246       • Env Var: RCLONE_JOTTACLOUD_TRASHED_ONLY
23247
23248       • Type: bool
23249
23250       • Default: false
23251
23252   --jottacloud-hard-delete
23253       Delete files permanently rather than putting them into the trash.
23254
23255       • Config: hard_delete
23256
23257       • Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
23258
23259       • Type: bool
23260
23261       • Default: false
23262
23263   --jottacloud-upload-resume-limit
23264       Files bigger than this can be resumed if the upload fail's.
23265
23266       • Config: upload_resume_limit
23267
23268       • Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
23269
23270       • Type: SizeSuffix
23271
23272       • Default: 10M
23273
23274   --jottacloud-encoding
23275       This sets the encoding for the backend.
23276
23277       See:  the  encoding  section  in the overview (https://rclone.org/over
23278       view/#encoding) for more info.
23279
23280       • Config: encoding
23281
23282       • Env Var: RCLONE_JOTTACLOUD_ENCODING
23283
23284       • Type: MultiEncoder
23285
23286       • Default:                 Slash,LtGt,DoubleQuote,Colon,Question,Aster‐
23287         isk,Pipe,Del,Ctl,InvalidUtf8,Dot
23288
23289   Limitations
23290       Note  that  Jottacloud  is  case  insensitive  so you can't have a file
23291       called "Hello.doc" and one called "hello.doc".
23292
23293       There are quite a few characters  that  can't  be  in  Jottacloud  file
23294       names.   Rclone  will  map these names to and from an identical looking
23295       unicode equivalent.  For example if a file has  a  ?   in  it  will  be
23296       mapped to ? instead.
23297
23298       Jottacloud only supports filenames up to 255 characters in length.
23299
23300   Troubleshooting
23301       Jottacloud  exhibits  some  inconsistent  behaviours  regarding deleted
23302       files and folders which may cause Copy, Move and DirMove operations  to
23303       previously  deleted  paths  to fail.  Emptying the trash should help in
23304       such cases.
23305
23306   Koofr
23307       Paths are specified as remote:path
23308
23309       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
23310
23311       The initial setup for Koofr involves creating an  application  password
23312       for  rclone.   You  can  do  that  by opening the Koofr web application
23313       (https://app.koofr.net/app/admin/preferences/password),   giving    the
23314       password a nice name like rclone and clicking on generate.
23315
23316       Here is an example of how to make a remote called koofr.  First run:
23317
23318               rclone config
23319
23320       This will guide you through an interactive setup process:
23321
23322              No remotes found - make a new one
23323              n) New remote
23324              s) Set configuration password
23325              q) Quit config
23326              n/s/q> n
23327              name> koofr
23328              Type of storage to configure.
23329              Enter a string value. Press Enter for the default ("").
23330              Choose a number from below, or type in your own value
23331              [snip]
23332              XX / Koofr
23333                 \ "koofr"
23334              [snip]
23335              Storage> koofr
23336              ** See help for koofr backend at: https://rclone.org/koofr/ **
23337
23338              Your Koofr user name
23339              Enter a string value. Press Enter for the default ("").
23340              user> USER@NAME
23341              Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
23342              y) Yes type in my own password
23343              g) Generate random password
23344              y/g> y
23345              Enter the password:
23346              password:
23347              Confirm the password:
23348              password:
23349              Edit advanced config? (y/n)
23350              y) Yes
23351              n) No
23352              y/n> n
23353              Remote config
23354              --------------------
23355              [koofr]
23356              type = koofr
23357              baseurl = https://app.koofr.net
23358              user = USER@NAME
23359              password = *** ENCRYPTED ***
23360              --------------------
23361              y) Yes this is OK
23362              e) Edit this remote
23363              d) Delete this remote
23364              y/e/d> y
23365
23366       You  can choose to edit advanced config in order to enter your own ser‐
23367       vice URL if you use an on-premise or white  label  Koofr  instance,  or
23368       choose an alternative mount instead of your primary storage.
23369
23370       Once configured you can then use rclone like this,
23371
23372       List directories in top level of your Koofr
23373
23374              rclone lsd koofr:
23375
23376       List all the files in your Koofr
23377
23378              rclone ls koofr:
23379
23380       To copy a local directory to an Koofr directory called backup
23381
23382              rclone copy /home/source remote:backup
23383
23384   Restricted filename characters
23385       In    addition    to    the    default    restricted   characters   set
23386       (https://rclone.org/overview/#restricted-characters)   the    following
23387       characters are also replaced:
23388
23389       Character   Value   Replacement
23390       ────────────────────────────────
23391       \           0x5C        \
23392
23393       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
23394       view/#invalid-utf8), as they can't be used in XML strings.
23395
23396   Standard Options
23397       Here are the standard options specific to koofr (Koofr).
23398
23399   --koofr-user
23400       Your Koofr user name
23401
23402       • Config: user
23403
23404       • Env Var: RCLONE_KOOFR_USER
23405
23406       • Type: string
23407
23408       • Default: ""
23409
23410   --koofr-password
23411       Your    Koofr    password    for    rclone     (generate     one     at
23412       https://app.koofr.net/app/admin/preferences/password)
23413
23414       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
23415       (https://rclone.org/commands/rclone_obscure/).
23416
23417       • Config: password
23418
23419       • Env Var: RCLONE_KOOFR_PASSWORD
23420
23421       • Type: string
23422
23423       • Default: ""
23424
23425   Advanced Options
23426       Here are the advanced options specific to koofr (Koofr).
23427
23428   --koofr-endpoint
23429       The Koofr API endpoint to use
23430
23431       • Config: endpoint
23432
23433       • Env Var: RCLONE_KOOFR_ENDPOINT
23434
23435       • Type: string
23436
23437       • Default: "https://app.koofr.net"
23438
23439   --koofr-mountid
23440       Mount ID of the mount to use.  If omitted, the primary mount is used.
23441
23442       • Config: mountid
23443
23444       • Env Var: RCLONE_KOOFR_MOUNTID
23445
23446       • Type: string
23447
23448       • Default: ""
23449
23450   --koofr-setmtime
23451       Does the backend support setting modification time.  Set this to  false
23452       if you use a mount ID that points to a Dropbox or Amazon Drive backend.
23453
23454       • Config: setmtime
23455
23456       • Env Var: RCLONE_KOOFR_SETMTIME
23457
23458       • Type: bool
23459
23460       • Default: true
23461
23462   --koofr-encoding
23463       This sets the encoding for the backend.
23464
23465       See:  the  encoding  section  in the overview (https://rclone.org/over
23466       view/#encoding) for more info.
23467
23468       • Config: encoding
23469
23470       • Env Var: RCLONE_KOOFR_ENCODING
23471
23472       • Type: MultiEncoder
23473
23474       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
23475
23476   Limitations
23477       Note that Koofr is case insensitive so you can't  have  a  file  called
23478       "Hello.doc" and one called "hello.doc".
23479
23480   Mail.ru Cloud
23481       Mail.ru Cloud (https://cloud.mail.ru/) is a cloud storage provided by a
23482       Russian internet company Mail.Ru Group (https://mail.ru).  The official
23483       desktop  client is Disk-O: (https://disk-o.cloud/en), available on Win‐
23484       dows and Mac OS.
23485
23486       Currently it is recommended to disable 2FA on Mail.ru accounts intended
23487       for rclone until it gets eventually implemented.
23488
23489   Features highlights
23490       • Paths may be as deep as required, e.g.  remote:directory/subdirectory
23491
23492       • Files have a last modified time property, directories don't
23493
23494       • Deleted files are by default moved to the trash
23495
23496       • Files and directories can be shared via public links
23497
23498       • Partial  uploads  or  streaming  are not supported, file size must be
23499         known before upload
23500
23501       • Maximum file size is limited to 2G for a free account, unlimited  for
23502         paid accounts
23503
23504       • Storage  keeps hash for all files and performs transparent deduplica‐
23505         tion, the hash algorithm is a modified SHA1
23506
23507       • If a particular file is already present in storage, one  can  quickly
23508         submit  file  hash  instead of long file upload (this optimization is
23509         supported by rclone)
23510
23511   Configuration
23512       Here is an example of making a mailru configuration.   First  create  a
23513       Mail.ru Cloud account and choose a tariff, then run
23514
23515              rclone config
23516
23517       This will guide you through an interactive setup process:
23518
23519              No remotes found - make a new one
23520              n) New remote
23521              s) Set configuration password
23522              q) Quit config
23523              n/s/q> n
23524              name> remote
23525              Type of storage to configure.
23526              Type of storage to configure.
23527              Enter a string value. Press Enter for the default ("").
23528              Choose a number from below, or type in your own value
23529              [snip]
23530              XX / Mail.ru Cloud
23531                 \ "mailru"
23532              [snip]
23533              Storage> mailru
23534              User name (usually email)
23535              Enter a string value. Press Enter for the default ("").
23536              user> username@mail.ru
23537              Password
23538              y) Yes type in my own password
23539              g) Generate random password
23540              y/g> y
23541              Enter the password:
23542              password:
23543              Confirm the password:
23544              password:
23545              Skip full upload if there is another file with same data hash.
23546              This feature is called "speedup" or "put by hash". It is especially efficient
23547              in case of generally available files like popular books, video or audio clips
23548              [snip]
23549              Enter a boolean value (true or false). Press Enter for the default ("true").
23550              Choose a number from below, or type in your own value
23551               1 / Enable
23552                 \ "true"
23553               2 / Disable
23554                 \ "false"
23555              speedup_enable> 1
23556              Edit advanced config? (y/n)
23557              y) Yes
23558              n) No
23559              y/n> n
23560              Remote config
23561              --------------------
23562              [remote]
23563              type = mailru
23564              user = username@mail.ru
23565              pass = *** ENCRYPTED ***
23566              speedup_enable = true
23567              --------------------
23568              y) Yes this is OK
23569              e) Edit this remote
23570              d) Delete this remote
23571              y/e/d> y
23572
23573       Configuration  of  this  backend  does not require a local web browser.
23574       You can use the configured backend as shown below:
23575
23576       See top level directories
23577
23578              rclone lsd remote:
23579
23580       Make a new directory
23581
23582              rclone mkdir remote:directory
23583
23584       List the contents of a directory
23585
23586              rclone ls remote:directory
23587
23588       Sync /home/local/directory to the  remote  path,  deleting  any  excess
23589       files in the path.
23590
23591              rclone sync -i /home/local/directory remote:directory
23592
23593   Modified time
23594       Files  support a modification time attribute with up to 1 second preci‐
23595       sion.  Directories do not have a modification time, which is  shown  as
23596       "Jan 1 1970".
23597
23598   Hash checksums
23599       Hash  sums  use a custom Mail.ru algorithm based on SHA1.  If file size
23600       is less than or equal to the SHA1 block size (20 bytes),  its  hash  is
23601       simply  its  data  right-padded  with zero bytes.  Hash sum of a larger
23602       file is computed as a SHA1 sum of the file data bytes concatenated with
23603       a decimal representation of the data length.
23604
23605   Emptying Trash
23606       Removing  a  file or directory actually moves it to the trash, which is
23607       not visible to rclone but can be seen in a web  browser.   The  trashed
23608       file  still  occupies  part  of total quota.  If you wish to empty your
23609       trash and free some quota, you can use the rclone cleanup remote:  com‐
23610       mand,  which will permanently delete all your trashed files.  This com‐
23611       mand does not take any path arguments.
23612
23613   Quota information
23614       To view your current quota you can use the rclone about remote: command
23615       which will display your usage limit (quota) and the current usage.
23616
23617   Restricted filename characters
23618       In    addition    to    the    default    restricted   characters   set
23619       (https://rclone.org/overview/#restricted-characters)   the    following
23620       characters are also replaced:
23621
23622       Character   Value   Replacement
23623       ────────────────────────────────
23624       "           0x22        "
23625       *           0x2A        *
23626       :           0x3A        :
23627       <           0x3C        <
23628       >           0x3E        >
23629       ?           0x3F        ?
23630       \           0x5C        \
23631       |           0x7C        |
23632
23633       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
23634       view/#invalid-utf8), as they can't be used in JSON strings.
23635
23636   Limitations
23637       File size limits depend on your account.  A single file size is limited
23638       by  2G for a free account and unlimited for paid tariffs.  Please refer
23639       to the Mail.ru site for the total uploaded size limits.
23640
23641       Note that Mailru is case insensitive so you can't have  a  file  called
23642       "Hello.doc" and one called "hello.doc".
23643
23644   Standard Options
23645       Here are the standard options specific to mailru (Mail.ru Cloud).
23646
23647   --mailru-user
23648       User name (usually email)
23649
23650       • Config: user
23651
23652       • Env Var: RCLONE_MAILRU_USER
23653
23654       • Type: string
23655
23656       • Default: ""
23657
23658   --mailru-pass
23659       Password
23660
23661       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
23662       (https://rclone.org/commands/rclone_obscure/).
23663
23664       • Config: pass
23665
23666       • Env Var: RCLONE_MAILRU_PASS
23667
23668       • Type: string
23669
23670       • Default: ""
23671
23672   --mailru-speedup-enable
23673       Skip full upload if there is another file with same  data  hash.   This
23674       feature  is  called "speedup" or "put by hash".  It is especially effi‐
23675       cient in case of generally available files like popular books, video or
23676       audio  clips, because files are searched by hash in all accounts of all
23677       mailru users.  It is meaningless and  ineffective  if  source  file  is
23678       unique or encrypted.  Please note that rclone may need local memory and
23679       disk space to calculate content hash in advance and decide whether full
23680       upload is required.  Also, if rclone does not know file size in advance
23681       (e.g.  in case of streaming or partial uploads), it will not  even  try
23682       this optimization.
23683
23684       • Config: speedup_enable
23685
23686       • Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE
23687
23688       • Type: bool
23689
23690       • Default: true
23691
23692       • Examples:
23693
23694         • "true"
23695
23696           • Enable
23697
23698         • "false"
23699
23700           • Disable
23701
23702   Advanced Options
23703       Here are the advanced options specific to mailru (Mail.ru Cloud).
23704
23705   --mailru-speedup-file-patterns
23706       Comma separated list of file name patterns eligible for speedup (put by
23707       hash).  Patterns are case insensitive and can contain '*' or  '?'  meta
23708       characters.
23709
23710       • Config: speedup_file_patterns
23711
23712       • Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
23713
23714       • Type: string
23715
23716       • Default: ".mkv,.avi,.mp4,.mp3,.zip,.gz,.rar,.pdf"
23717
23718       • Examples:
23719
23720         • ""
23721
23722           • Empty list completely disables speedup (put by hash).
23723
23724         • "*"
23725
23726           • All files will be attempted for speedup.
23727
23728         • ".mkv,.avi,.mp4,.mp3"
23729
23730           • Only common audio/video files will be tried for put by hash.
23731
23732         • ".zip,.gz,.rar,.pdf"
23733
23734           • Only common archives or PDF books will be tried for speedup.
23735
23736   --mailru-speedup-max-disk
23737       This option allows you to disable speedup (put by hash) for large files
23738       (because preliminary hashing can exhaust you RAM or disk space)
23739
23740       • Config: speedup_max_disk
23741
23742       • Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK
23743
23744       • Type: SizeSuffix
23745
23746       • Default: 3G
23747
23748       • Examples:
23749
23750         • "0"
23751
23752           • Completely disable speedup (put by hash).
23753
23754         • "1G"
23755
23756           • Files larger than 1Gb will be uploaded directly.
23757
23758         • "3G"
23759
23760           • Choose this option if you have less than 3Gb free on local disk.
23761
23762   --mailru-speedup-max-memory
23763       Files larger than the size given below will always be hashed on disk.
23764
23765       • Config: speedup_max_memory
23766
23767       • Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
23768
23769       • Type: SizeSuffix
23770
23771       • Default: 32M
23772
23773       • Examples:
23774
23775         • "0"
23776
23777           • Preliminary hashing will always be done in a temporary disk loca‐
23778             tion.
23779
23780         • "32M"
23781
23782           • Do not dedicate more than 32Mb RAM for preliminary hashing.
23783
23784         • "256M"
23785
23786           • You have at most 256Mb RAM free for hash calculations.
23787
23788   --mailru-check-hash
23789       What should copy do if file checksum is mismatched or invalid
23790
23791       • Config: check_hash
23792
23793       • Env Var: RCLONE_MAILRU_CHECK_HASH
23794
23795       • Type: bool
23796
23797       • Default: true
23798
23799       • Examples:
23800
23801         • "true"
23802
23803           • Fail with error.
23804
23805         • "false"
23806
23807           • Ignore and continue.
23808
23809   --mailru-user-agent
23810       HTTP  user  agent  used internally by client.  Defaults to "rclone/VER‐
23811       SION" or "--user-agent" provided on command line.
23812
23813       • Config: user_agent
23814
23815       • Env Var: RCLONE_MAILRU_USER_AGENT
23816
23817       • Type: string
23818
23819       • Default: ""
23820
23821   --mailru-quirks
23822       Comma separated list of internal maintenance flags.  This  option  must
23823       not be used by an ordinary user.  It is intended only to facilitate re‐
23824       mote troubleshooting of backend issues.  Strict meaning of flags is not
23825       documented and not guaranteed to persist between releases.  Quirks will
23826       be removed when the backend  grows  stable.   Supported  quirks:  atom‐
23827       icmkdir binlist unknowndirs
23828
23829       • Config: quirks
23830
23831       • Env Var: RCLONE_MAILRU_QUIRKS
23832
23833       • Type: string
23834
23835       • Default: ""
23836
23837   --mailru-encoding
23838       This sets the encoding for the backend.
23839
23840       See:  the  encoding  section  in the overview (https://rclone.org/over
23841       view/#encoding) for more info.
23842
23843       • Config: encoding
23844
23845       • Env Var: RCLONE_MAILRU_ENCODING
23846
23847       • Type: MultiEncoder
23848
23849       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
23850         Slash,Del,Ctl,InvalidUtf8,Dot
23851
23852   Mega
23853       Mega  (https://mega.nz/)  is  a  cloud storage and file hosting service
23854       known for its security feature where all files  are  encrypted  locally
23855       before they are uploaded.  This prevents anyone (including employees of
23856       Mega) from accessing the files without knowledge of the  key  used  for
23857       encryption.
23858
23859       This  is  an  rclone  backend for Mega which supports the file transfer
23860       features of Mega using the same client side encryption.
23861
23862       Paths are specified as remote:path
23863
23864       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
23865
23866       Here is an example of how to make a remote called remote.  First run:
23867
23868               rclone config
23869
23870       This will guide you through an interactive setup process:
23871
23872              No remotes found - make a new one
23873              n) New remote
23874              s) Set configuration password
23875              q) Quit config
23876              n/s/q> n
23877              name> remote
23878              Type of storage to configure.
23879              Choose a number from below, or type in your own value
23880              [snip]
23881              XX / Mega
23882                 \ "mega"
23883              [snip]
23884              Storage> mega
23885              User name
23886              user> you@example.com
23887              Password.
23888              y) Yes type in my own password
23889              g) Generate random password
23890              n) No leave this optional password blank
23891              y/g/n> y
23892              Enter the password:
23893              password:
23894              Confirm the password:
23895              password:
23896              Remote config
23897              --------------------
23898              [remote]
23899              type = mega
23900              user = you@example.com
23901              pass = *** ENCRYPTED ***
23902              --------------------
23903              y) Yes this is OK
23904              e) Edit this remote
23905              d) Delete this remote
23906              y/e/d> y
23907
23908       NOTE: The encryption keys need to have been already generated  after  a
23909       regular  login via the browser, otherwise attempting to use the creden‐
23910       tials in rclone will fail.
23911
23912       Once configured you can then use rclone like this,
23913
23914       List directories in top level of your Mega
23915
23916              rclone lsd remote:
23917
23918       List all the files in your Mega
23919
23920              rclone ls remote:
23921
23922       To copy a local directory to an Mega directory called backup
23923
23924              rclone copy /home/source remote:backup
23925
23926   Modified time and hashes
23927       Mega does not support modification times or hashes yet.
23928
23929   Restricted filename characters
23930       Character   Value   Replacement
23931       ────────────────────────────────
23932       NUL         0x00         ␀
23933       /           0x2F        /
23934
23935       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
23936       view/#invalid-utf8), as they can't be used in JSON strings.
23937
23938   Duplicated files
23939       Mega  can  have two files with exactly the same name and path (unlike a
23940       normal file system).
23941
23942       Duplicated files cause problems with the syncing and you will see  mes‐
23943       sages in the log about duplicates.
23944
23945       Use rclone dedupe to fix duplicated files.
23946
23947   Failure to log-in
23948       Mega remotes seem to get blocked (reject logins) under "heavy use".  We
23949       haven't worked out the exact blocking rules but it seems to be  related
23950       to fast paced, successive rclone commands.
23951
23952       For  example,  executing this command 90 times in a row rclone link re‐
23953       mote:file will cause the remote to become "blocked".  This  is  not  an
23954       abnormal  situation, for example if you wish to get the public links of
23955       a directory with hundred of files...  After more or less  a  week,  the
23956       remote will remote accept rclone logins normally again.
23957
23958       You  can  mitigate  this  issue  by  mounting the remote it with rclone
23959       mount.  This will log-in when mounting and a  log-out  when  unmounting
23960       only.   You  can  also run rclone rcd and then use rclone rc to run the
23961       commands over the API to avoid logging in each time.
23962
23963       Rclone does not currently close mega sessions (you can see them in  the
23964       web interface), however closing the sessions does not solve the issue.
23965
23966       If  you  space  rclone commands by 3 seconds it will avoid blocking the
23967       remote.  We haven't identified the exact blocking rules, so perhaps one
23968       could  execute  the command 80 times without waiting and avoid blocking
23969       by waiting 3 seconds, then continuing...
23970
23971       Note that this has been observed by trial and error and  might  not  be
23972       set in stone.
23973
23974       Other  tools  seem  not  to produce this blocking effect, as they use a
23975       different working approach (state-based, using  sessionIDs  instead  of
23976       log-in)  which  isn't  compatible with the current stateless rclone ap‐
23977       proach.
23978
23979       Note that once blocked, the use of other tools (such as megacmd) is not
23980       a  sure workaround: following megacmd login times have been observed in
23981       succession for blocked remote: 7 minutes, 20 min, 30min, 30 min, 30min.
23982       Web access looks unaffected though.
23983
23984       Investigation  is  continuing in relation to workarounds based on time‐
23985       outs, pacers, retrials and tpslimits - if you discover something  rele‐
23986       vant, please post on the forum.
23987
23988       So,  if rclone was working nicely and suddenly you are unable to log-in
23989       and you are sure the user and the password are correct, likely you have
23990       got the remote blocked for a while.
23991
23992   Standard Options
23993       Here are the standard options specific to mega (Mega).
23994
23995   --mega-user
23996       User name
23997
23998       • Config: user
23999
24000       • Env Var: RCLONE_MEGA_USER
24001
24002       • Type: string
24003
24004       • Default: ""
24005
24006   --mega-pass
24007       Password.
24008
24009       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
24010       (https://rclone.org/commands/rclone_obscure/).
24011
24012       • Config: pass
24013
24014       • Env Var: RCLONE_MEGA_PASS
24015
24016       • Type: string
24017
24018       • Default: ""
24019
24020   Advanced Options
24021       Here are the advanced options specific to mega (Mega).
24022
24023   --mega-debug
24024       Output more debug from Mega.
24025
24026       If this flag is set (along with -vv) it will  print  further  debugging
24027       information from the mega backend.
24028
24029       • Config: debug
24030
24031       • Env Var: RCLONE_MEGA_DEBUG
24032
24033       • Type: bool
24034
24035       • Default: false
24036
24037   --mega-hard-delete
24038       Delete files permanently rather than putting them into the trash.
24039
24040       Normally  the mega backend will put all deletions into the trash rather
24041       than permanently deleting them.  If you specify this then  rclone  will
24042       permanently delete objects instead.
24043
24044       • Config: hard_delete
24045
24046       • Env Var: RCLONE_MEGA_HARD_DELETE
24047
24048       • Type: bool
24049
24050       • Default: false
24051
24052   --mega-encoding
24053       This sets the encoding for the backend.
24054
24055       See:  the  encoding  section  in the overview (https://rclone.org/over
24056       view/#encoding) for more info.
24057
24058       • Config: encoding
24059
24060       • Env Var: RCLONE_MEGA_ENCODING
24061
24062       • Type: MultiEncoder
24063
24064       • Default: Slash,InvalidUtf8,Dot
24065
24066   Limitations
24067       This      backend      uses      the      go-mega      go       library
24068       (https://github.com/t3rm1n4l/go-mega) which is an opensource go library
24069       implementing the Mega API.  There doesn't appear to be  any  documenta‐
24070       tion    for    the    mega   protocol   beyond   the   mega   C++   SDK
24071       (https://github.com/meganz/sdk) source code so there are likely quite a
24072       few errors still remaining in this library.
24073
24074       Mega allows duplicate files which may confuse rclone.
24075
24076   Memory
24077       The  memory backend is an in RAM backend.  It does not persist its data
24078       - use the local backend for that.
24079
24080       The memory backend behaves like a bucket based remote (e.g.  like  s3).
24081       Because  it has no parameters you can just use it with the :memory: re‐
24082       mote name.
24083
24084       You can configure it as a remote like this with rclone  config  too  if
24085       you want to:
24086
24087              No remotes found - make a new one
24088              n) New remote
24089              s) Set configuration password
24090              q) Quit config
24091              n/s/q> n
24092              name> remote
24093              Type of storage to configure.
24094              Enter a string value. Press Enter for the default ("").
24095              Choose a number from below, or type in your own value
24096              [snip]
24097              XX / Memory
24098                 \ "memory"
24099              [snip]
24100              Storage> memory
24101              ** See help for memory backend at: https://rclone.org/memory/ **
24102
24103              Remote config
24104
24105              --------------------
24106              [remote]
24107              type = memory
24108              --------------------
24109              y) Yes this is OK (default)
24110              e) Edit this remote
24111              d) Delete this remote
24112              y/e/d> y
24113
24114       Because the memory backend isn't persistent it is most useful for test‐
24115       ing or with an rclone server or rclone mount, e.g.
24116
24117              rclone mount :memory: /mnt/tmp
24118              rclone serve webdav :memory:
24119              rclone serve sftp :memory:
24120
24121   Modified time and hashes
24122       The memory backend supports MD5 hashes and modification times  accurate
24123       to 1 nS.
24124
24125   Restricted filename characters
24126       The  memory  backend  replaces  the  default  restricted characters set
24127       (https://rclone.org/overview/#restricted-characters).
24128
24129   Microsoft Azure Blob Storage
24130       Paths are specified as remote:container (or remote: for  the  lsd  com‐
24131       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
24132       er/path/to/dir.
24133
24134       Here is an example of making a Microsoft Azure Blob Storage  configura‐
24135       tion.  For a remote called remote.  First run:
24136
24137               rclone config
24138
24139       This will guide you through an interactive setup process:
24140
24141              No remotes found - make a new one
24142              n) New remote
24143              s) Set configuration password
24144              q) Quit config
24145              n/s/q> n
24146              name> remote
24147              Type of storage to configure.
24148              Choose a number from below, or type in your own value
24149              [snip]
24150              XX / Microsoft Azure Blob Storage
24151                 \ "azureblob"
24152              [snip]
24153              Storage> azureblob
24154              Storage Account Name
24155              account> account_name
24156              Storage Account Key
24157              key> base64encodedkey==
24158              Endpoint for the service - leave blank normally.
24159              endpoint>
24160              Remote config
24161              --------------------
24162              [remote]
24163              account = account_name
24164              key = base64encodedkey==
24165              endpoint =
24166              --------------------
24167              y) Yes this is OK
24168              e) Edit this remote
24169              d) Delete this remote
24170              y/e/d> y
24171
24172       See all containers
24173
24174              rclone lsd remote:
24175
24176       Make a new container
24177
24178              rclone mkdir remote:container
24179
24180       List the contents of a container
24181
24182              rclone ls remote:container
24183
24184       Sync /home/local/directory to the remote container, deleting any excess
24185       files in the container.
24186
24187              rclone sync -i /home/local/directory remote:container
24188
24189   --fast-list
24190       This remote supports --fast-list which allows you to use fewer transac‐
24191       tions   in   exchange   for   more   memory.    See   the  rclone  docs
24192       (https://rclone.org/docs/#fast-list) for more details.
24193
24194   Modified time
24195       The modified time is stored as metadata on the object  with  the  mtime
24196       key.  It is stored using RFC3339 Format time with nanosecond precision.
24197       The metadata is supplied during directory listings so there is no over‐
24198       head to using it.
24199
24200   Restricted filename characters
24201       In    addition    to    the    default    restricted   characters   set
24202       (https://rclone.org/overview/#restricted-characters)   the    following
24203       characters are also replaced:
24204
24205       Character   Value   Replacement
24206       ────────────────────────────────
24207       /           0x2F        /
24208       \           0x5C        \
24209
24210       File  names can also not end with the following characters.  These only
24211       get replaced if they are the last character in the name:
24212
24213       Character   Value   Replacement
24214       ────────────────────────────────
24215       .           0x2E        .
24216
24217       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
24218       view/#invalid-utf8), as they can't be used in JSON strings.
24219
24220   Hashes
24221       MD5  hashes are stored with blobs.  However blobs that were uploaded in
24222       chunks only have an MD5 if the source remote was capable of MD5 hashes,
24223       e.g.  the local disk.
24224
24225   Authenticating with Azure Blob Storage
24226       Rclone has 3 ways of authenticating with Azure Blob Storage:
24227
24228   Account and Key
24229       This is the most straight forward and least flexible way.  Just fill in
24230       the account and key lines and leave the rest blank.
24231
24232   SAS URL
24233       This can be an account level SAS URL or container level SAS URL.
24234
24235       To use it leave account, key blank and fill in sas_url.
24236
24237       An account level SAS URL or container level SAS  URL  can  be  obtained
24238       from the Azure portal or the Azure Storage Explorer.  To get a contain‐
24239       er level SAS URL right click on a container in the Azure Blob  explorer
24240       in the Azure portal.
24241
24242       If  you  use a container level SAS URL, rclone operations are permitted
24243       only on a particular container, e.g.
24244
24245              rclone ls azureblob:container
24246
24247       You can also list the single container from the root.  This  will  only
24248       show the container specified by the SAS URL.
24249
24250              $ rclone lsd azureblob:
24251              container/
24252
24253       Note that you can't see or access any other containers - this will fail
24254
24255              rclone ls azureblob:othercontainer
24256
24257       Container level SAS URLs are useful for temporarily allowing third par‐
24258       ties access to a single container or putting credentials  into  an  un‐
24259       trusted environment such as a CI build server.
24260
24261   Standard Options
24262       Here  are  the  standard options specific to azureblob (Microsoft Azure
24263       Blob Storage).
24264
24265   --azureblob-account
24266       Storage Account Name (leave blank to use SAS URL or Emulator)
24267
24268       • Config: account
24269
24270       • Env Var: RCLONE_AZUREBLOB_ACCOUNT
24271
24272       • Type: string
24273
24274       • Default: ""
24275
24276   --azureblob-service-principal-file
24277       Path to file containing credentials for use with a service principal.
24278
24279       Leave blank normally.  Needed only if you want to use a service princi‐
24280       pal instead of interactive login.
24281
24282              $ az sp create-for-rbac --name "<name>" \
24283                --role "Storage Blob Data Owner" \
24284                --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \
24285                > azure-principal.json
24286
24287       See  Use Azure CLI to assign an Azure role for access to blob and queue
24288       data    (https://docs.microsoft.com/en-us/azure/storage/common/storage-
24289       auth-aad-rbac-cli) for more details.
24290
24291       • Config: service_principal_file
24292
24293       • Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE
24294
24295       • Type: string
24296
24297       • Default: ""
24298
24299   --azureblob-key
24300       Storage Account Key (leave blank to use SAS URL or Emulator)
24301
24302       • Config: key
24303
24304       • Env Var: RCLONE_AZUREBLOB_KEY
24305
24306       • Type: string
24307
24308       • Default: ""
24309
24310   --azureblob-sas-url
24311       SAS  URL  for  container  level  access  only (leave blank if using ac‐
24312       count/key or Emulator)
24313
24314       • Config: sas_url
24315
24316       • Env Var: RCLONE_AZUREBLOB_SAS_URL
24317
24318       • Type: string
24319
24320       • Default: ""
24321
24322   --azureblob-use-msi
24323       Use a managed service identity to authenticate (only works in Azure)
24324
24325       When  true,  use  a  managed  service   identity   (https://docs.micro
24326       soft.com/en-us/azure/active-directory/managed-identities-azure-re‐
24327       sources/) to authenticate to Azure Storage instead of a  SAS  token  or
24328       account key.
24329
24330       If  the  VM(SS)  on which this program is running has a system-assigned
24331       identity, it will be used by default.  If  the  resource  has  no  sys‐
24332       tem-assigned  but exactly one user-assigned identity, the user-assigned
24333       identity will be used by default.  If the  resource  has  multiple  us‐
24334       er-assigned  identities,  the identity to use must be explicitly speci‐
24335       fied  using  exactly  one  of  the  msi_object_id,  msi_client_id,   or
24336       msi_mi_res_id parameters.
24337
24338       • Config: use_msi
24339
24340       • Env Var: RCLONE_AZUREBLOB_USE_MSI
24341
24342       • Type: bool
24343
24344       • Default: false
24345
24346   --azureblob-use-emulator
24347       Uses local storage emulator if provided as 'true' (leave blank if using
24348       real azure storage endpoint)
24349
24350       • Config: use_emulator
24351
24352       • Env Var: RCLONE_AZUREBLOB_USE_EMULATOR
24353
24354       • Type: bool
24355
24356       • Default: false
24357
24358   Advanced Options
24359       Here are the advanced options specific to  azureblob  (Microsoft  Azure
24360       Blob Storage).
24361
24362   --azureblob-msi-object-id
24363       Object  ID  of  the  user-assigned  MSI to use, if any.  Leave blank if
24364       msi_client_id or msi_mi_res_id specified.
24365
24366       • Config: msi_object_id
24367
24368       • Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID
24369
24370       • Type: string
24371
24372       • Default: ""
24373
24374   --azureblob-msi-client-id
24375       Object ID of the user-assigned MSI to use,  if  any.   Leave  blank  if
24376       msi_object_id or msi_mi_res_id specified.
24377
24378       • Config: msi_client_id
24379
24380       • Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID
24381
24382       • Type: string
24383
24384       • Default: ""
24385
24386   --azureblob-msi-mi-res-id
24387       Azure resource ID of the user-assigned MSI to use, if any.  Leave blank
24388       if msi_client_id or msi_object_id specified.
24389
24390       • Config: msi_mi_res_id
24391
24392       • Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID
24393
24394       • Type: string
24395
24396       • Default: ""
24397
24398   --azureblob-endpoint
24399       Endpoint for the service Leave blank normally.
24400
24401       • Config: endpoint
24402
24403       • Env Var: RCLONE_AZUREBLOB_ENDPOINT
24404
24405       • Type: string
24406
24407       • Default: ""
24408
24409   --azureblob-upload-cutoff
24410       Cutoff for switching to chunked upload (<= 256MB).  (Deprecated)
24411
24412       • Config: upload_cutoff
24413
24414       • Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
24415
24416       • Type: string
24417
24418       • Default: ""
24419
24420   --azureblob-chunk-size
24421       Upload chunk size (<= 100MB).
24422
24423       Note that this is stored in memory and there may be up to "--transfers"
24424       chunks stored at once in memory.
24425
24426       • Config: chunk_size
24427
24428       • Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
24429
24430       • Type: SizeSuffix
24431
24432       • Default: 4M
24433
24434   --azureblob-list-chunk
24435       Size of blob list.
24436
24437       This sets the number of blobs requested in each listing chunk.  Default
24438       is the maximum, 5000.  "List blobs" requests are  permitted  2  minutes
24439       per megabyte to complete.  If an operation is taking longer than 2 min‐
24440       utes  per  megabyte  on  average,   it   will   time   out   (   source
24441       (https://docs.microsoft.com/en-us/rest/api/storageservices/setting-
24442       timeouts-for-blob-service-operations#exceptions-to-default-timeout-in‐
24443       terval)  ).  This can be used to limit the number of blobs items to re‐
24444       turn, to avoid the time out.
24445
24446       • Config: list_chunk
24447
24448       • Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
24449
24450       • Type: int
24451
24452       • Default: 5000
24453
24454   --azureblob-access-tier
24455       Access tier of blob: hot, cool or archive.
24456
24457       Archived blobs can be restored by setting access tier to hot  or  cool.
24458       Leave  blank  if you intend to use default access tier, which is set at
24459       account level
24460
24461       If there is no "access tier" specified, rclone doesn't apply any  tier.
24462       rclone  performs  "Set Tier" operation on blobs while uploading, if ob‐
24463       jects are not modified, specifying "access tier" to new one  will  have
24464       no effect.  If blobs are in "archive tier" at remote, trying to perform
24465       data transfer operations from remote will not be allowed.  User  should
24466       first restore by tiering blob to "Hot" or "Cool".
24467
24468       • Config: access_tier
24469
24470       • Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
24471
24472       • Type: string
24473
24474       • Default: ""
24475
24476   --azureblob-archive-tier-delete
24477       Delete archive tier blobs before overwriting.
24478
24479       Archive tier blobs cannot be updated.  So without this flag, if you at‐
24480       tempt to update an archive tier blob, then rclone will produce the  er‐
24481       ror:
24482
24483              can't update archive tier blob without --azureblob-archive-tier-delete
24484
24485       With  this flag set then before rclone attempts to overwrite an archive
24486       tier blob, it will delete the existing blob before  uploading  its  re‐
24487       placement.   This  has  the potential for data loss if the upload fails
24488       (unlike updating a normal blob) and also may cost more  since  deleting
24489       archive tier blobs early may be chargable.
24490
24491       • Config: archive_tier_delete
24492
24493       • Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE
24494
24495       • Type: bool
24496
24497       • Default: false
24498
24499   --azureblob-disable-checksum
24500       Don't store MD5 checksum with object metadata.
24501
24502       Normally rclone will calculate the MD5 checksum of the input before up‐
24503       loading it so it can add it to metadata on the object.  This  is  great
24504       for  data  integrity checking but can cause long delays for large files
24505       to start uploading.
24506
24507       • Config: disable_checksum
24508
24509       • Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM
24510
24511       • Type: bool
24512
24513       • Default: false
24514
24515   --azureblob-memory-pool-flush-time
24516       How often internal memory buffer pools will be flushed.  Uploads  which
24517       requires  additional  buffers  (f.e multipart) will use memory pool for
24518       allocations.  This option controls how often unused buffers will be re‐
24519       moved from the pool.
24520
24521       • Config: memory_pool_flush_time
24522
24523       • Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME
24524
24525       • Type: Duration
24526
24527       • Default: 1m0s
24528
24529   --azureblob-memory-pool-use-mmap
24530       Whether to use mmap buffers in internal memory pool.
24531
24532       • Config: memory_pool_use_mmap
24533
24534       • Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP
24535
24536       • Type: bool
24537
24538       • Default: false
24539
24540   --azureblob-encoding
24541       This sets the encoding for the backend.
24542
24543       See:  the  encoding  section  in the overview (https://rclone.org/over
24544       view/#encoding) for more info.
24545
24546       • Config: encoding
24547
24548       • Env Var: RCLONE_AZUREBLOB_ENCODING
24549
24550       • Type: MultiEncoder
24551
24552       • Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
24553
24554   --azureblob-public-access
24555       Public access level of a container: blob, container.
24556
24557       • Config: public_access
24558
24559       • Env Var: RCLONE_AZUREBLOB_PUBLIC_ACCESS
24560
24561       • Type: string
24562
24563       • Default: ""
24564
24565       • Examples:
24566
24567         • ""
24568
24569           • The container and its blobs can be accessed only with  an  autho‐
24570             rized request.  It's a default value
24571
24572         • "blob"
24573
24574           • Blob  data  within  this  container can be read via anonymous re‐
24575             quest.
24576
24577         • "container"
24578
24579           • Allow full public read access for container and blob data.
24580
24581   Limitations
24582       MD5 sums are only uploaded with chunked files if the source has an  MD5
24583       sum.  This will always be the case for a local to azure copy.
24584
24585       rclone about is not supported by the Microsoft Azure Blob storage back‐
24586       end.  Backends without this capability cannot determine free space  for
24587       an  rclone  mount or use policy mfs (most free space) as a member of an
24588       rclone union remote.
24589
24590       See   List   of   backends   that   do   not   support   rclone   about
24591       (https://rclone.org/overview/#optional-features)   See   rclone   about
24592       (https://rclone.org/commands/rclone_about/)
24593
24594   Azure Storage Emulator Support
24595       You can test rclone with storage emulator locally, to do this make sure
24596       azure  storage  emulator installed locally and set up a new remote with
24597       rclone  config  follow  instructions  described  in  introduction,  set
24598       use_emulator config as true, you do not need to provide default account
24599       name or key if using emulator.
24600
24601   Microsoft OneDrive
24602       Paths are specified as remote:path
24603
24604       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
24605
24606       The initial setup for OneDrive involves getting a token from  Microsoft
24607       which  you need to do in your browser.  rclone config walks you through
24608       it.
24609
24610       Here is an example of how to make a remote called remote.  First run:
24611
24612               rclone config
24613
24614       This will guide you through an interactive setup process:
24615
24616              e) Edit existing remote
24617              n) New remote
24618              d) Delete remote
24619              r) Rename remote
24620              c) Copy remote
24621              s) Set configuration password
24622              q) Quit config
24623              e/n/d/r/c/s/q> n
24624              name> remote
24625              Type of storage to configure.
24626              Enter a string value. Press Enter for the default ("").
24627              Choose a number from below, or type in your own value
24628              [snip]
24629              XX / Microsoft OneDrive
24630                 \ "onedrive"
24631              [snip]
24632              Storage> onedrive
24633              Microsoft App Client Id
24634              Leave blank normally.
24635              Enter a string value. Press Enter for the default ("").
24636              client_id>
24637              Microsoft App Client Secret
24638              Leave blank normally.
24639              Enter a string value. Press Enter for the default ("").
24640              client_secret>
24641              Edit advanced config? (y/n)
24642              y) Yes
24643              n) No
24644              y/n> n
24645              Remote config
24646              Use auto config?
24647               * Say Y if not sure
24648               * Say N if you are working on a remote or headless machine
24649              y) Yes
24650              n) No
24651              y/n> y
24652              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
24653              Log in and authorize rclone for access
24654              Waiting for code...
24655              Got code
24656              Choose a number from below, or type in an existing value
24657               1 / OneDrive Personal or Business
24658                 \ "onedrive"
24659               2 / Sharepoint site
24660                 \ "sharepoint"
24661               3 / Type in driveID
24662                 \ "driveid"
24663               4 / Type in SiteID
24664                 \ "siteid"
24665               5 / Search a Sharepoint site
24666                 \ "search"
24667              Your choice> 1
24668              Found 1 drives, please select the one you want to use:
24669              0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
24670              Chose drive to use:> 0
24671              Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
24672              Is that okay?
24673              y) Yes
24674              n) No
24675              y/n> y
24676              --------------------
24677              [remote]
24678              type = onedrive
24679              token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
24680              drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
24681              drive_type = business
24682              --------------------
24683              y) Yes this is OK
24684              e) Edit this remote
24685              d) Delete this remote
24686              y/e/d> y
24687
24688       See the remote setup docs (https://rclone.org/remote_setup/) for how to
24689       set it up on a machine with no Internet browser available.
24690
24691       Note  that rclone runs a webserver on your local machine to collect the
24692       token as returned from Microsoft.  This only runs from  the  moment  it
24693       opens  your  browser  to the moment you get back the verification code.
24694       This is on http://127.0.0.1:53682/ and this it may require you  to  un‐
24695       block it temporarily if you are running a host firewall.
24696
24697       Once configured you can then use rclone like this,
24698
24699       List directories in top level of your OneDrive
24700
24701              rclone lsd remote:
24702
24703       List all the files in your OneDrive
24704
24705              rclone ls remote:
24706
24707       To copy a local directory to an OneDrive directory called backup
24708
24709              rclone copy /home/source remote:backup
24710
24711   Getting your own Client ID and Key
24712       You  can  use  your own Client ID if the default (client_id left blank)
24713       one doesn't work for you or you see lots of  throttling.   The  default
24714       Client  ID  and  Key  is shared by all rclone users when performing re‐
24715       quests.
24716
24717       If you are having problems with them (E.g.,  seeing  a  lot  of  throt‐
24718       tling),  you  can get your own Client ID and Key by following the steps
24719       below:
24720
24721       1. Open            https://portal.azure.com/#blade/Microsoft_AAD_Regis‐
24722          teredApps/ApplicationsListBlade and then click New registration.
24723
24724       2. Enter a name for your app, choose account type Accounts in any orga‐
24725          nizational directory (Any Azure AD directory - Multitenant) and per‐
24726          sonal  Microsoft accounts (e.g. Skype, Xbox), select Web in Redirect
24727          URI, then type (do not copy and paste)  http://localhost:53682/  and
24728          click Register.  Copy and keep the Application (client) ID under the
24729          app name for later use.
24730
24731       3. Under manage select Certificates & secrets, click New client secret.
24732          Copy and keep that secret for later use.
24733
24734       4. Under  manage select API permissions, click Add a permission and se‐
24735          lect Microsoft Graph then select delegated permissions.
24736
24737       5. Search and select the following permissions: Files.Read, Files.Read‐
24738          Write,   Files.Read.All,  Files.ReadWrite.All,  offline_access,  Us‐
24739          er.Read.  Once selected click Add permissions at the bottom.
24740
24741       Now the application is complete.  Run rclone config to create or edit a
24742       OneDrive  remote.   Supply the app ID and password as Client ID and Se‐
24743       cret, respectively.  rclone will walk you through the remaining steps.
24744
24745   Modification time and hashes
24746       OneDrive allows modification times to be set on objects accurate  to  1
24747       second.   These  will be used to detect whether objects need syncing or
24748       not.
24749
24750       OneDrive personal supports SHA1 type hashes.  OneDrive for business and
24751       Sharepoint  Server support QuickXorHash (https://docs.microsoft.com/en-
24752       us/onedrive/developer/code-snippets/quickxorhash).
24753
24754       For all types of OneDrive you can use the --checksum flag.
24755
24756   Restricted filename characters
24757       In   addition   to    the    default    restricted    characters    set
24758       (https://rclone.org/overview/#restricted-characters)    the   following
24759       characters are also replaced:
24760
24761       Character   Value   Replacement
24762       ────────────────────────────────
24763       "           0x22        "
24764       *           0x2A        *
24765       :           0x3A        :
24766       <           0x3C        <
24767       >           0x3E        >
24768       ?           0x3F        ?
24769       \           0x5C        \
24770       |           0x7C        |
24771
24772       File names can also not end with the following characters.  These  only
24773       get replaced if they are the last character in the name:
24774
24775       Character   Value   Replacement
24776       ────────────────────────────────
24777       SP          0x20         ␠
24778       .           0x2E        .
24779
24780       File names can also not begin with the following characters.  These on‐
24781       ly get replaced if they are the first character in the name:
24782
24783       Character   Value   Replacement
24784       ────────────────────────────────
24785       SP          0x20         ␠
24786       ~           0x7E        ~
24787
24788       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
24789       view/#invalid-utf8), as they can't be used in JSON strings.
24790
24791   Deleting files
24792       Any  files  you delete with rclone will end up in the trash.  Microsoft
24793       doesn't provide an API to permanently delete files, nor  to  empty  the
24794       trash,  so you will have to do that with one of Microsoft's apps or via
24795       the OneDrive website.
24796
24797   Standard Options
24798       Here  are  the  standard  options  specific  to   onedrive   (Microsoft
24799       OneDrive).
24800
24801   --onedrive-client-id
24802       OAuth Client Id Leave blank normally.
24803
24804       • Config: client_id
24805
24806       • Env Var: RCLONE_ONEDRIVE_CLIENT_ID
24807
24808       • Type: string
24809
24810       • Default: ""
24811
24812   --onedrive-client-secret
24813       OAuth Client Secret Leave blank normally.
24814
24815       • Config: client_secret
24816
24817       • Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
24818
24819       • Type: string
24820
24821       • Default: ""
24822
24823   --onedrive-region
24824       Choose national cloud region for OneDrive.
24825
24826       • Config: region
24827
24828       • Env Var: RCLONE_ONEDRIVE_REGION
24829
24830       • Type: string
24831
24832       • Default: "global"
24833
24834       • Examples:
24835
24836         • "global"
24837
24838           • Microsoft Cloud Global
24839
24840         • "us"
24841
24842           • Microsoft Cloud for US Government
24843
24844         • "de"
24845
24846           • Microsoft Cloud Germany
24847
24848         • "cn"
24849
24850           • Azure and Office 365 operated by 21Vianet in China
24851
24852   Advanced Options
24853       Here   are   the  advanced  options  specific  to  onedrive  (Microsoft
24854       OneDrive).
24855
24856   --onedrive-token
24857       OAuth Access Token as a JSON blob.
24858
24859       • Config: token
24860
24861       • Env Var: RCLONE_ONEDRIVE_TOKEN
24862
24863       • Type: string
24864
24865       • Default: ""
24866
24867   --onedrive-auth-url
24868       Auth server URL.  Leave blank to use the provider defaults.
24869
24870       • Config: auth_url
24871
24872       • Env Var: RCLONE_ONEDRIVE_AUTH_URL
24873
24874       • Type: string
24875
24876       • Default: ""
24877
24878   --onedrive-token-url
24879       Token server url.  Leave blank to use the provider defaults.
24880
24881       • Config: token_url
24882
24883       • Env Var: RCLONE_ONEDRIVE_TOKEN_URL
24884
24885       • Type: string
24886
24887       • Default: ""
24888
24889   --onedrive-chunk-size
24890       Chunk size to upload files with - must be  multiple  of  320k  (327,680
24891       bytes).
24892
24893       Above  this  size  files  will  be  chunked  - must be multiple of 320k
24894       (327,680 bytes) and should not exceed 250M (262,144,000 bytes) else you
24895       may encounter "Microsoft.SharePoint.Client.InvalidClientQueryException:
24896       The request message is too big." Note that the chunks will be  buffered
24897       into memory.
24898
24899       • Config: chunk_size
24900
24901       • Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
24902
24903       • Type: SizeSuffix
24904
24905       • Default: 10M
24906
24907   --onedrive-drive-id
24908       The ID of the drive to use
24909
24910       • Config: drive_id
24911
24912       • Env Var: RCLONE_ONEDRIVE_DRIVE_ID
24913
24914       • Type: string
24915
24916       • Default: ""
24917
24918   --onedrive-drive-type
24919       The type of the drive ( personal | business | documentLibrary )
24920
24921       • Config: drive_type
24922
24923       • Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
24924
24925       • Type: string
24926
24927       • Default: ""
24928
24929   --onedrive-expose-onenote-files
24930       Set to make OneNote files show up in directory listings.
24931
24932       By default rclone will hide OneNote files in directory listings because
24933       operations like "Open" and "Update" won't work on them.  But  this  be‐
24934       haviour may also prevent you from deleting them.  If you want to delete
24935       OneNote files or otherwise want them to show up in  directory  listing,
24936       set this option.
24937
24938       • Config: expose_onenote_files
24939
24940       • Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
24941
24942       • Type: bool
24943
24944       • Default: false
24945
24946   --onedrive-server-side-across-configs
24947       Allow  server-side  operations  (e.g.   copy)  to work across different
24948       onedrive configs.
24949
24950       This will only work if you are copying between  two  OneDrive  Personal
24951       drives AND the files to copy are already shared between them.  In other
24952       cases, rclone will fall back to normal copy  (which  will  be  slightly
24953       slower).
24954
24955       • Config: server_side_across_configs
24956
24957       • Env Var: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS
24958
24959       • Type: bool
24960
24961       • Default: false
24962
24963   --onedrive-no-versions
24964       Remove all versions on modifying operations
24965
24966       Onedrive  for  business  creates versions when rclone uploads new files
24967       overwriting an existing one and when it sets the modification time.
24968
24969       These versions take up space out of the quota.
24970
24971       This flag checks for versions after file upload and  setting  modifica‐
24972       tion time and removes all but the last version.
24973
24974       NB  Onedrive personal can't currently delete versions so don't use this
24975       flag there.
24976
24977       • Config: no_versions
24978
24979       • Env Var: RCLONE_ONEDRIVE_NO_VERSIONS
24980
24981       • Type: bool
24982
24983       • Default: false
24984
24985   --onedrive-link-scope
24986       Set the scope of the links created by the link command.
24987
24988       • Config: link_scope
24989
24990       • Env Var: RCLONE_ONEDRIVE_LINK_SCOPE
24991
24992       • Type: string
24993
24994       • Default: "anonymous"
24995
24996       • Examples:
24997
24998         • "anonymous"
24999
25000           • Anyone with the link has access,  without  needing  to  sign  in.
25001             This  may include people outside of your organization.  Anonymous
25002             link support may be disabled by an administrator.
25003
25004         • "organization"
25005
25006           • Anyone signed into your organization (tenant) can use the link to
25007             get  access.   Only available in OneDrive for Business and Share‐
25008             Point.
25009
25010   --onedrive-link-type
25011       Set the type of the links created by the link command.
25012
25013       • Config: link_type
25014
25015       • Env Var: RCLONE_ONEDRIVE_LINK_TYPE
25016
25017       • Type: string
25018
25019       • Default: "view"
25020
25021       • Examples:
25022
25023         • "view"
25024
25025           • Creates a read-only link to the item.
25026
25027         • "edit"
25028
25029           • Creates a read-write link to the item.
25030
25031         • "embed"
25032
25033           • Creates an embeddable link to the item.
25034
25035   --onedrive-link-password
25036       Set the password for links created by the link command.
25037
25038       At the time of writing this only works with OneDrive personal paid  ac‐
25039       counts.
25040
25041       • Config: link_password
25042
25043       • Env Var: RCLONE_ONEDRIVE_LINK_PASSWORD
25044
25045       • Type: string
25046
25047       • Default: ""
25048
25049   --onedrive-encoding
25050       This sets the encoding for the backend.
25051
25052       See:  the  encoding  section  in the overview (https://rclone.org/over
25053       view/#encoding) for more info.
25054
25055       • Config: encoding
25056
25057       • Env Var: RCLONE_ONEDRIVE_ENCODING
25058
25059       • Type: MultiEncoder
25060
25061       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
25062         Slash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,In‐
25063         validUtf8,Dot
25064
25065   Limitations
25066       If you don't use rclone for 90 days  the  refresh  token  will  expire.
25067       This  will  result  in  authorization problems.  This is easy to fix by
25068       running the rclone config reconnect remote: command to get a new  token
25069       and refresh token.
25070
25071   Naming
25072       Note  that OneDrive is case insensitive so you can't have a file called
25073       "Hello.doc" and one called "hello.doc".
25074
25075       There are quite a few characters that can't be in OneDrive file  names.
25076       These  can't  occur  on Windows platforms, but on non-Windows platforms
25077       they are common.  Rclone will map these names to and from an  identical
25078       looking  unicode  equivalent.  For example if a file has a ? in it will
25079       be mapped to ? instead.
25080
25081   File sizes
25082       The largest allowed file size is 250GB for both OneDrive  Personal  and
25083       OneDrive  for  Business  (Updated  13 Jan 2021) (https://support.micro
25084       soft.com/en-us/office/invalid-file-names-and-file-types-in-onedrive-
25085       and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa?ui=en-us&rs=en-
25086       us&ad=us#individualfilesize).
25087
25088   Path length
25089       The entire path, including the file name, must contain fewer  than  400
25090       characters  for  OneDrive, OneDrive for Business and SharePoint Online.
25091       If you are encrypting file and folder names with rclone, you  may  want
25092       to  pay  attention  to  this limitation because the encrypted names are
25093       typically longer than the original ones.
25094
25095   Number of files
25096       OneDrive seems to be OK with at least 50,000 files in a folder, but  at
25097       100,000 rclone will get errors listing the directory like couldn’t list
25098       files: UnknownError:.  See #2707  (https://github.com/rclone/rclone/is
25099       sues/2707) for more info.
25100
25101       An  official  document  about  the  limitations  for different types of
25102       OneDrive  can  be  found  here  (https://support.office.com/en-us/arti
25103       cle/invalid-file-names-and-file-types-in-onedrive-onedrive-for-busi‐
25104       ness-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa).
25105
25106   Versions
25107       Every change in a file OneDrive causes the service to create a new ver‐
25108       sion  of the the file.  This counts against a users quota.  For example
25109       changing the modification time of a file creates a second  version,  so
25110       the file apparently uses twice the space.
25111
25112       For  example  the copy command is affected by this as rclone copies the
25113       file and then afterwards sets the modification time to match the source
25114       file which uses another version.
25115
25116       You  can  use  the rclone cleanup command (see below) to remove all old
25117       versions.
25118
25119       Or you can set the no_versions parameter to true and rclone will remove
25120       versions  after operations which create new versions.  This takes extra
25121       transactions so only enable it if you need it.
25122
25123       Note At the time of writing Onedrive Personal creates versions (but not
25124       for  setting  the  modification time) but the API for removing them re‐
25125       turns "API not found" so cleanup and no_versions should not be used  on
25126       Onedrive Personal.
25127
25128   Disabling versioning
25129       Starting October 2018, users will no longer be able to disable version‐
25130       ing by default.  This  is  because  Microsoft  has  brought  an  update
25131       (https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/New-Up
25132       dates-to-OneDrive-and-SharePoint-Team-Site-Versioning/ba-p/204390)   to
25133       the  mechanism.   To change this new default setting, a PowerShell com‐
25134       mand is required to be run by a SharePoint admin.  If you are an admin,
25135       you can run these commands in PowerShell to change that setting:
25136
25137       1. Install-Module -Name Microsoft.Online.SharePoint.PowerShell (in case
25138          you haven't installed this already)
25139
25140       2. Import-Module    Microsoft.Online.SharePoint.PowerShell    -Disable‐
25141          NameChecking
25142
25143       3. Connect-SPOService  -Url https://YOURSITE-admin.sharepoint.com -Cre‐
25144          dential YOU@YOURSITE.COM (replacing YOURSITE, YOU, YOURSITE.COM with
25145          the actual values; this will prompt for your credentials)
25146
25147       4. Set-SPOTenant -EnableMinimumVersionRequirement $False
25148
25149       5. Disconnect-SPOService (to disconnect from the server)
25150
25151       Below  are  the  steps  for  normal users to disable versioning. If you
25152       don't see the "No Versioning" option, make sure the above  requirements
25153       are met.
25154
25155       User Weropol (https://github.com/Weropol) has found a method to disable
25156       versioning on OneDrive
25157
25158       1. Open the settings menu by clicking on the gear symbol at the top  of
25159          the OneDrive Business page.
25160
25161       2. Click Site settings.
25162
25163       3. Once  on  the  Site settings page, navigate to Site Administration >
25164          Site libraries and lists.
25165
25166       4. Click Customize "Documents".
25167
25168       5. Click General Settings > Versioning Settings.
25169
25170       6. Under Document Version History  select  the  option  No  versioning.
25171          Note:  This will disable the creation of new file versions, but will
25172          not remove any previous versions.  Your documents are safe.
25173
25174       7. Apply the changes by clicking OK.
25175
25176       8. Use rclone to upload or modify files.   (I  also  use  the  --no-up‐
25177          date-modtime flag)
25178
25179       9. Restore the versioning settings after using rclone.  (Optional)
25180
25181   Cleanup
25182       OneDrive  supports  rclone  cleanup which causes rclone to look through
25183       every file under the path supplied and delete all version but the  cur‐
25184       rent  version.   Because  this  involves traversing all the files, then
25185       querying each file for versions it can  be  quite  slow.   Rclone  does
25186       --checkers  tests in parallel.  The command also supports -i which is a
25187       great way to see what it would do.
25188
25189              rclone cleanup -i remote:path/subdir # interactively remove all old version for path/subdir
25190              rclone cleanup remote:path/subdir    # unconditionally remove all old version for path/subdir
25191
25192       NB Onedrive personal can't currently delete versions
25193
25194   Troubleshooting
25195   Unexpected file size/hash differences on Sharepoint
25196       It  is   a   known   (https://github.com/OneDrive/onedrive-api-docs/is
25197       sues/935#issuecomment-441741631) issue that Sharepoint (not OneDrive or
25198       OneDrive for Business) silently modifies uploaded files, mainly  Office
25199       files  (.docx, .xlsx, etc.), causing file size and hash checks to fail.
25200       There are also other situations that will cause OneDrive to report  in‐
25201       consistent  file  sizes.   To  use  rclone  with such affected files on
25202       Sharepoint, you may disable these checks  with  the  following  command
25203       line arguments:
25204
25205              --ignore-checksum --ignore-size
25206
25207       Alternatively,  if  you have write access to the OneDrive files, it may
25208       be possible to fix this problem for certain files,  by  attempting  the
25209       steps     below.     Open    the    web    interface    for    OneDrive
25210       (https://onedrive.live.com) and find the affected files (which will  be
25211       in  the  error messages/log for rclone).  Simply click on each of these
25212       files, causing OneDrive to open them on the web.  This will cause  each
25213       file  to be converted in place to a format that is functionally equiva‐
25214       lent but which will no longer trigger the size discrepancy.   Once  all
25215       problematic  files are converted you will no longer need the ignore op‐
25216       tions above.
25217
25218   Replacing/deleting existing files on Sharepoint gets "item not found"
25219       It  is   a   known   (https://github.com/OneDrive/onedrive-api-docs/is
25220       sues/1068)  issue  that  Sharepoint (not OneDrive or OneDrive for Busi‐
25221       ness) may return "item not found" errors when users try to  replace  or
25222       delete uploaded files; this seems to mainly affect Office files (.docx,
25223       .xlsx, etc.).  As a workaround, you may  use  the  --backup-dir  <BACK‐
25224       UP_DIR>  command  line  argument  so  rclone  moves the files to be re‐
25225       placed/deleted into a given backup directory (instead of  directly  re‐
25226       placing/deleting  them).   For  example, to instruct rclone to move the
25227       files into the directory rclone-backup-dir on backend mysharepoint, you
25228       may use:
25229
25230              --backup-dir mysharepoint:rclone-backup-dir
25231
25232   access_denied (AADSTS65005)
25233              Error: access_denied
25234              Code: AADSTS65005
25235              Description: Using application 'rclone' is currently not supported for your organization [YOUR_ORGANIZATION] because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [YOUR_ORGANIZATION] before the application rclone can be provisioned.
25236
25237       This  means  that  rclone  can't use the OneDrive for Business API with
25238       your account.  You can't do much about it, maybe write an email to your
25239       admins.
25240
25241       However,  there  are other ways to interact with your OneDrive account.
25242       Have a look at the  webdav  backend:  https://rclone.org/webdav/#share‐
25243       point
25244
25245   invalid_grant (AADSTS50076)
25246              Error: invalid_grant
25247              Code: AADSTS50076
25248              Description: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '...'.
25249
25250       If  you  see the error above after enabling multi-factor authentication
25251       for your account, you can fix it by refreshing your OAuth  refresh  to‐
25252       ken.   To  do that, run rclone config, and choose to edit your OneDrive
25253       backend.  Then, you don't need to actually make any changes  until  you
25254       reach  this  question: Already have a token - refresh?.  For this ques‐
25255       tion, answer y and go through the process to refresh your  token,  just
25256       like  the  first  time  the  backend is configured.  After this, rclone
25257       should work again for this backend.
25258
25259   OpenDrive
25260       Paths are specified as remote:path
25261
25262       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
25263
25264       Here is an example of how to make a remote called remote.  First run:
25265
25266               rclone config
25267
25268       This will guide you through an interactive setup process:
25269
25270              n) New remote
25271              d) Delete remote
25272              q) Quit config
25273              e/n/d/q> n
25274              name> remote
25275              Type of storage to configure.
25276              Choose a number from below, or type in your own value
25277              [snip]
25278              XX / OpenDrive
25279                 \ "opendrive"
25280              [snip]
25281              Storage> opendrive
25282              Username
25283              username>
25284              Password
25285              y) Yes type in my own password
25286              g) Generate random password
25287              y/g> y
25288              Enter the password:
25289              password:
25290              Confirm the password:
25291              password:
25292              --------------------
25293              [remote]
25294              username =
25295              password = *** ENCRYPTED ***
25296              --------------------
25297              y) Yes this is OK
25298              e) Edit this remote
25299              d) Delete this remote
25300              y/e/d> y
25301
25302       List directories in top level of your OpenDrive
25303
25304              rclone lsd remote:
25305
25306       List all the files in your OpenDrive
25307
25308              rclone ls remote:
25309
25310       To copy a local directory to an OpenDrive directory called backup
25311
25312              rclone copy /home/source remote:backup
25313
25314   Modified time and MD5SUMs
25315       OpenDrive allows modification times to be set on objects accurate to  1
25316       second.   These  will be used to detect whether objects need syncing or
25317       not.
25318
25319   Restricted filename characters
25320       Character   Value   Replacement
25321       ────────────────────────────────
25322       NUL         0x00         ␀
25323       /           0x2F        /
25324       "           0x22        "
25325       *           0x2A        *
25326       :           0x3A        :
25327       <           0x3C        <
25328       >           0x3E        >
25329       ?           0x3F        ?
25330       \           0x5C        \
25331       |           0x7C        |
25332
25333       File names can also not begin or end  with  the  following  characters.
25334       These  only get replaced if they are the first or last character in the
25335       name:
25336
25337       Character   Value   Replacement
25338       ────────────────────────────────
25339       SP          0x20         ␠
25340       HT          0x09         ␉
25341       LF          0x0A         ␊
25342       VT          0x0B         ␋
25343       CR          0x0D         ␍
25344
25345       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
25346       view/#invalid-utf8), as they can't be used in JSON strings.
25347
25348   Standard Options
25349       Here are the standard options specific to opendrive (OpenDrive).
25350
25351   --opendrive-username
25352       Username
25353
25354       • Config: username
25355
25356       • Env Var: RCLONE_OPENDRIVE_USERNAME
25357
25358       • Type: string
25359
25360       • Default: ""
25361
25362   --opendrive-password
25363       Password.
25364
25365       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
25366       (https://rclone.org/commands/rclone_obscure/).
25367
25368       • Config: password
25369
25370       • Env Var: RCLONE_OPENDRIVE_PASSWORD
25371
25372       • Type: string
25373
25374       • Default: ""
25375
25376   Advanced Options
25377       Here are the advanced options specific to opendrive (OpenDrive).
25378
25379   --opendrive-encoding
25380       This sets the encoding for the backend.
25381
25382       See: the encoding section  in  the  overview  (https://rclone.org/over
25383       view/#encoding) for more info.
25384
25385       • Config: encoding
25386
25387       • Env Var: RCLONE_OPENDRIVE_ENCODING
25388
25389       • Type: MultiEncoder
25390
25391       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
25392         Slash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
25393
25394   --opendrive-chunk-size
25395       Files will be uploaded in chunks this size.
25396
25397       Note that these chunks are buffered in memory so increasing  them  will
25398       increase memory use.
25399
25400       • Config: chunk_size
25401
25402       • Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE
25403
25404       • Type: SizeSuffix
25405
25406       • Default: 10M
25407
25408   Limitations
25409       Note that OpenDrive is case insensitive so you can't have a file called
25410       "Hello.doc" and one called "hello.doc".
25411
25412       There are quite a few characters that can't be in OpenDrive file names.
25413       These  can't  occur  on Windows platforms, but on non-Windows platforms
25414       they are common.  Rclone will map these names to and from an  identical
25415       looking  unicode  equivalent.  For example if a file has a ? in it will
25416       be mapped to ? instead.
25417
25418       rclone about is not supported by the OpenDrive backend.  Backends with‐
25419       out  this capability cannot determine free space for an rclone mount or
25420       use policy mfs (most free space) as a member of an rclone union remote.
25421
25422       See   List   of   backends   that   do   not   support   rclone   about
25423       (https://rclone.org/overview/#optional-features)   See   rclone   about
25424       (https://rclone.org/commands/rclone_about/)
25425
25426   QingStor
25427       Paths are specified as remote:bucket (or remote: for the lsd  command.)
25428       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
25429
25430       Here is an example of making an QingStor configuration.  First run
25431
25432              rclone config
25433
25434       This will guide you through an interactive setup process.
25435
25436              No remotes found - make a new one
25437              n) New remote
25438              r) Rename remote
25439              c) Copy remote
25440              s) Set configuration password
25441              q) Quit config
25442              n/r/c/s/q> n
25443              name> remote
25444              Type of storage to configure.
25445              Choose a number from below, or type in your own value
25446              [snip]
25447              XX / QingStor Object Storage
25448                 \ "qingstor"
25449              [snip]
25450              Storage> qingstor
25451              Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
25452              Choose a number from below, or type in your own value
25453               1 / Enter QingStor credentials in the next step
25454                 \ "false"
25455               2 / Get QingStor credentials from the environment (env vars or IAM)
25456                 \ "true"
25457              env_auth> 1
25458              QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
25459              access_key_id> access_key
25460              QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
25461              secret_access_key> secret_key
25462              Enter an endpoint URL to connection QingStor API.
25463              Leave blank will use the default value "https://qingstor.com:443"
25464              endpoint>
25465              Zone connect to. Default is "pek3a".
25466              Choose a number from below, or type in your own value
25467                 / The Beijing (China) Three Zone
25468               1 | Needs location constraint pek3a.
25469                 \ "pek3a"
25470                 / The Shanghai (China) First Zone
25471               2 | Needs location constraint sh1a.
25472                 \ "sh1a"
25473              zone> 1
25474              Number of connection retry.
25475              Leave blank will use the default value "3".
25476              connection_retries>
25477              Remote config
25478              --------------------
25479              [remote]
25480              env_auth = false
25481              access_key_id = access_key
25482              secret_access_key = secret_key
25483              endpoint =
25484              zone = pek3a
25485              connection_retries =
25486              --------------------
25487              y) Yes this is OK
25488              e) Edit this remote
25489              d) Delete this remote
25490              y/e/d> y
25491
25492       This remote is called remote and can now be used like this
25493
25494       See all buckets
25495
25496              rclone lsd remote:
25497
25498       Make a new bucket
25499
25500              rclone mkdir remote:bucket
25501
25502       List the contents of a bucket
25503
25504              rclone ls remote:bucket
25505
25506       Sync  /home/local/directory  to  the remote bucket, deleting any excess
25507       files in the bucket.
25508
25509              rclone sync -i /home/local/directory remote:bucket
25510
25511   --fast-list
25512       This remote supports --fast-list which allows you to use fewer transac‐
25513       tions   in   exchange   for   more   memory.    See   the  rclone  docs
25514       (https://rclone.org/docs/#fast-list) for more details.
25515
25516   Multipart uploads
25517       rclone supports multipart uploads with QingStor which means that it can
25518       upload  files bigger than 5GB.  Note that files uploaded with multipart
25519       upload don't have an MD5SUM.
25520
25521       Note that incomplete multipart uploads older than 24 hours can  be  re‐
25522       moved  with  rclone  cleanup  remote:bucket  just for one bucket rclone
25523       cleanup remote: for all buckets.  QingStor does not ever remove  incom‐
25524       plete multipart uploads so it may be necessary to run this from time to
25525       time.
25526
25527   Buckets and Zone
25528       With QingStor you can list buckets (rclone lsd) using any zone, but you
25529       can  only  access  the content of a bucket from the zone it was created
25530       in.  If you attempt to access a bucket from the wrong  zone,  you  will
25531       get an error, incorrect zone, the bucket is not in 'XXX' zone.
25532
25533   Authentication
25534       There are two ways to supply rclone with a set of QingStor credentials.
25535       In order of precedence:
25536
25537       • Directly in the rclone configuration file (as  configured  by  rclone
25538         config)
25539
25540         • set access_key_id and secret_access_key
25541
25542       • Runtime configuration:
25543
25544         • set env_auth to true in the config file
25545
25546         • Exporting the following environment variables before running rclone
25547
25548           • Access Key ID: QS_ACCESS_KEY_ID or QS_ACCESS_KEY
25549
25550           • Secret Access Key: QS_SECRET_ACCESS_KEY or QS_SECRET_KEY
25551
25552   Restricted filename characters
25553       The  control  characters 0x00-0x1F and / are replaced as in the default
25554       restricted  characters  set   (https://rclone.org/overview/#restricted-
25555       characters).  Note that 0x7F is not replaced.
25556
25557       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
25558       view/#invalid-utf8), as they can't be used in JSON strings.
25559
25560   Standard Options
25561       Here are the standard options specific to  qingstor  (QingCloud  Object
25562       Storage).
25563
25564   --qingstor-env-auth
25565       Get  QingStor  credentials from runtime.  Only applies if access_key_id
25566       and secret_access_key is blank.
25567
25568       • Config: env_auth
25569
25570       • Env Var: RCLONE_QINGSTOR_ENV_AUTH
25571
25572       • Type: bool
25573
25574       • Default: false
25575
25576       • Examples:
25577
25578         • "false"
25579
25580           • Enter QingStor credentials in the next step
25581
25582         • "true"
25583
25584           • Get QingStor credentials from the environment (env vars or IAM)
25585
25586   --qingstor-access-key-id
25587       QingStor Access Key ID Leave blank for anonymous access or runtime cre‐
25588       dentials.
25589
25590       • Config: access_key_id
25591
25592       • Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
25593
25594       • Type: string
25595
25596       • Default: ""
25597
25598   --qingstor-secret-access-key
25599       QingStor  Secret Access Key (password) Leave blank for anonymous access
25600       or runtime credentials.
25601
25602       • Config: secret_access_key
25603
25604       • Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
25605
25606       • Type: string
25607
25608       • Default: ""
25609
25610   --qingstor-endpoint
25611       Enter an endpoint URL to connection QingStor API.  Leave blank will use
25612       the default value "https://qingstor.com:443"
25613
25614       • Config: endpoint
25615
25616       • Env Var: RCLONE_QINGSTOR_ENDPOINT
25617
25618       • Type: string
25619
25620       • Default: ""
25621
25622   --qingstor-zone
25623       Zone to connect to.  Default is "pek3a".
25624
25625       • Config: zone
25626
25627       • Env Var: RCLONE_QINGSTOR_ZONE
25628
25629       • Type: string
25630
25631       • Default: ""
25632
25633       • Examples:
25634
25635         • "pek3a"
25636
25637           • The Beijing (China) Three Zone
25638
25639           • Needs location constraint pek3a.
25640
25641         • "sh1a"
25642
25643           • The Shanghai (China) First Zone
25644
25645           • Needs location constraint sh1a.
25646
25647         • "gd2a"
25648
25649           • The Guangdong (China) Second Zone
25650
25651           • Needs location constraint gd2a.
25652
25653   Advanced Options
25654       Here  are  the  advanced options specific to qingstor (QingCloud Object
25655       Storage).
25656
25657   --qingstor-connection-retries
25658       Number of connection retries.
25659
25660       • Config: connection_retries
25661
25662       • Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
25663
25664       • Type: int
25665
25666       • Default: 3
25667
25668   --qingstor-upload-cutoff
25669       Cutoff for switching to chunked upload
25670
25671       Any files larger than this will be uploaded in  chunks  of  chunk_size.
25672       The minimum is 0 and the maximum is 5GB.
25673
25674       • Config: upload_cutoff
25675
25676       • Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF
25677
25678       • Type: SizeSuffix
25679
25680       • Default: 200M
25681
25682   --qingstor-chunk-size
25683       Chunk size to use for uploading.
25684
25685       When uploading files larger than upload_cutoff they will be uploaded as
25686       multipart uploads using this chunk size.
25687
25688       Note that  "--qingstor-upload-concurrency"  chunks  of  this  size  are
25689       buffered in memory per transfer.
25690
25691       If  you are transferring large files over high-speed links and you have
25692       enough memory, then increasing this will speed up the transfers.
25693
25694       • Config: chunk_size
25695
25696       • Env Var: RCLONE_QINGSTOR_CHUNK_SIZE
25697
25698       • Type: SizeSuffix
25699
25700       • Default: 4M
25701
25702   --qingstor-upload-concurrency
25703       Concurrency for multipart uploads.
25704
25705       This is the number of chunks of the same file that are uploaded concur‐
25706       rently.
25707
25708       NB  if  you set this to > 1 then the checksums of multipart uploads be‐
25709       come corrupted (the uploads themselves are not corrupted though).
25710
25711       If you are uploading small numbers of large files over high-speed links
25712       and  these uploads do not fully utilize your bandwidth, then increasing
25713       this may help to speed up the transfers.
25714
25715       • Config: upload_concurrency
25716
25717       • Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
25718
25719       • Type: int
25720
25721       • Default: 1
25722
25723   --qingstor-encoding
25724       This sets the encoding for the backend.
25725
25726       See: the encoding section  in  the  overview  (https://rclone.org/over
25727       view/#encoding) for more info.
25728
25729       • Config: encoding
25730
25731       • Env Var: RCLONE_QINGSTOR_ENCODING
25732
25733       • Type: MultiEncoder
25734
25735       • Default: Slash,Ctl,InvalidUtf8
25736
25737   Limitations
25738       rclone  about is not supported by the qingstor backend.  Backends with‐
25739       out this capability cannot determine free space for an rclone mount  or
25740       use policy mfs (most free space) as a member of an rclone union remote.
25741
25742       See   List   of   backends   that   do   not   support   rclone   about
25743       (https://rclone.org/overview/#optional-features)   See   rclone   about
25744       (https://rclone.org/commands/rclone_about/)
25745
25746   Swift
25747       Swift   refers   to   OpenStack   Object   Storage  (https://docs.open
25748       stack.org/swift/latest/).  Commercial implementations of that being:
25749
25750       • Rackspace Cloud Files (https://www.rackspace.com/cloud/files/)
25751
25752       • Memset Memstore (https://www.memset.com/cloud/storage/)
25753
25754       • OVH  Object  Storage  (https://www.ovh.co.uk/public-cloud/storage/ob
25755         ject-storage/)
25756
25757       • Oracle Cloud Storage (https://cloud.oracle.com/storage-opc)
25758
25759       • IBM     Bluemix     Cloud     ObjectStorage    Swift    (https://con
25760         sole.bluemix.net/docs/infrastructure/objectstorage-swift/index.html)
25761
25762       Paths are specified as remote:container (or remote: for  the  lsd  com‐
25763       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
25764       er/path/to/dir.
25765
25766       Here is an example of making a swift configuration.  First run
25767
25768              rclone config
25769
25770       This will guide you through an interactive setup process.
25771
25772              No remotes found - make a new one
25773              n) New remote
25774              s) Set configuration password
25775              q) Quit config
25776              n/s/q> n
25777              name> remote
25778              Type of storage to configure.
25779              Choose a number from below, or type in your own value
25780              [snip]
25781              XX / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
25782                 \ "swift"
25783              [snip]
25784              Storage> swift
25785              Get swift credentials from environment variables in standard OpenStack form.
25786              Choose a number from below, or type in your own value
25787               1 / Enter swift credentials in the next step
25788                 \ "false"
25789               2 / Get swift credentials from environment vars. Leave other fields blank if using this.
25790                 \ "true"
25791              env_auth> true
25792              User name to log in (OS_USERNAME).
25793              user>
25794              API key or password (OS_PASSWORD).
25795              key>
25796              Authentication URL for server (OS_AUTH_URL).
25797              Choose a number from below, or type in your own value
25798               1 / Rackspace US
25799                 \ "https://auth.api.rackspacecloud.com/v1.0"
25800               2 / Rackspace UK
25801                 \ "https://lon.auth.api.rackspacecloud.com/v1.0"
25802               3 / Rackspace v2
25803                 \ "https://identity.api.rackspacecloud.com/v2.0"
25804               4 / Memset Memstore UK
25805                 \ "https://auth.storage.memset.com/v1.0"
25806               5 / Memset Memstore UK v2
25807                 \ "https://auth.storage.memset.com/v2.0"
25808               6 / OVH
25809                 \ "https://auth.cloud.ovh.net/v3"
25810              auth>
25811              User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
25812              user_id>
25813              User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
25814              domain>
25815              Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
25816              tenant>
25817              Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
25818              tenant_id>
25819              Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
25820              tenant_domain>
25821              Region name - optional (OS_REGION_NAME)
25822              region>
25823              Storage URL - optional (OS_STORAGE_URL)
25824              storage_url>
25825              Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
25826              auth_token>
25827              AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
25828              auth_version>
25829              Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
25830              Choose a number from below, or type in your own value
25831               1 / Public (default, choose this if not sure)
25832                 \ "public"
25833               2 / Internal (use internal service net)
25834                 \ "internal"
25835               3 / Admin
25836                 \ "admin"
25837              endpoint_type>
25838              Remote config
25839              --------------------
25840              [test]
25841              env_auth = true
25842              user =
25843              key =
25844              auth =
25845              user_id =
25846              domain =
25847              tenant =
25848              tenant_id =
25849              tenant_domain =
25850              region =
25851              storage_url =
25852              auth_token =
25853              auth_version =
25854              endpoint_type =
25855              --------------------
25856              y) Yes this is OK
25857              e) Edit this remote
25858              d) Delete this remote
25859              y/e/d> y
25860
25861       This remote is called remote and can now be used like this
25862
25863       See all containers
25864
25865              rclone lsd remote:
25866
25867       Make a new container
25868
25869              rclone mkdir remote:container
25870
25871       List the contents of a container
25872
25873              rclone ls remote:container
25874
25875       Sync /home/local/directory to the remote container, deleting any excess
25876       files in the container.
25877
25878              rclone sync -i /home/local/directory remote:container
25879
25880   Configuration from an OpenStack credentials file
25881       An  OpenStack credentials file typically looks something something like
25882       this (without the comments)
25883
25884              export OS_AUTH_URL=https://a.provider.net/v2.0
25885              export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
25886              export OS_TENANT_NAME="1234567890123456"
25887              export OS_USERNAME="123abc567xy"
25888              echo "Please enter your OpenStack Password: "
25889              read -sr OS_PASSWORD_INPUT
25890              export OS_PASSWORD=$OS_PASSWORD_INPUT
25891              export OS_REGION_NAME="SBG1"
25892              if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
25893
25894       The config file needs to look something like  this  where  $OS_USERNAME
25895       represents  the  value of the OS_USERNAME variable - 123abc567xy in the
25896       example above.
25897
25898              [remote]
25899              type = swift
25900              user = $OS_USERNAME
25901              key = $OS_PASSWORD
25902              auth = $OS_AUTH_URL
25903              tenant = $OS_TENANT_NAME
25904
25905       Note that you may (or may not) need to set region  too  -  try  without
25906       first.
25907
25908   Configuration from the environment
25909       If  you  prefer  you can configure rclone to use swift using a standard
25910       set of OpenStack environment variables.
25911
25912       When you run through the config, make sure you choose true for env_auth
25913       and leave everything else blank.
25914
25915       rclone  will  then set any empty config parameters from the environment
25916       using standard OpenStack environment variables.  There is a list of the
25917       variables (https://godoc.org/github.com/ncw/swift#Connection.ApplyEnvi‐
25918       ronment) in the docs for the swift library.
25919
25920   Using an alternate authentication method
25921       If your OpenStack installation uses a non-standard authentication meth‐
25922       od  that  might  not be yet supported by rclone or the underlying swift
25923       library, you can authenticate externally (e.g.   calling  manually  the
25924       openstack  commands  to  get a token).  Then, you just need to pass the
25925       two configuration variables auth_token and storage_url.   If  they  are
25926       both provided, the other variables are ignored.  rclone will not try to
25927       authenticate but instead assume it is  already  authenticated  and  use
25928       these two variables to access the OpenStack installation.
25929
25930   Using rclone without a config file
25931       You  can  use rclone with swift without a config file, if desired, like
25932       this:
25933
25934              source openstack-credentials-file
25935              export RCLONE_CONFIG_MYREMOTE_TYPE=swift
25936              export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
25937              rclone lsd myremote:
25938
25939   --fast-list
25940       This remote supports --fast-list which allows you to use fewer transac‐
25941       tions   in   exchange   for   more   memory.    See   the  rclone  docs
25942       (https://rclone.org/docs/#fast-list) for more details.
25943
25944   --update and --use-server-modtime
25945       As noted below, the modified time is stored on metadata on the  object.
25946       It is used by default for all operations that require checking the time
25947       a file was last updated.  It allows rclone to  treat  the  remote  more
25948       like  a  true  filesystem, but it is inefficient because it requires an
25949       extra API call to retrieve the metadata.
25950
25951       For many operations, the time the object was last uploaded to  the  re‐
25952       mote  is  sufficient  to determine if it is "dirty".  By using --update
25953       along with --use-server-modtime, you can avoid the extra API  call  and
25954       simply  upload  files whose local modtime is newer than the time it was
25955       last uploaded.
25956
25957   Standard Options
25958       Here are the  standard  options  specific  to  swift  (OpenStack  Swift
25959       (Rackspace Cloud Files, Memset Memstore, OVH)).
25960
25961   --swift-env-auth
25962       Get  swift credentials from environment variables in standard OpenStack
25963       form.
25964
25965       • Config: env_auth
25966
25967       • Env Var: RCLONE_SWIFT_ENV_AUTH
25968
25969       • Type: bool
25970
25971       • Default: false
25972
25973       • Examples:
25974
25975         • "false"
25976
25977           • Enter swift credentials in the next step
25978
25979         • "true"
25980
25981           • Get swift credentials from environment vars.  Leave other  fields
25982             blank if using this.
25983
25984   --swift-user
25985       User name to log in (OS_USERNAME).
25986
25987       • Config: user
25988
25989       • Env Var: RCLONE_SWIFT_USER
25990
25991       • Type: string
25992
25993       • Default: ""
25994
25995   --swift-key
25996       API key or password (OS_PASSWORD).
25997
25998       • Config: key
25999
26000       • Env Var: RCLONE_SWIFT_KEY
26001
26002       • Type: string
26003
26004       • Default: ""
26005
26006   --swift-auth
26007       Authentication URL for server (OS_AUTH_URL).
26008
26009       • Config: auth
26010
26011       • Env Var: RCLONE_SWIFT_AUTH
26012
26013       • Type: string
26014
26015       • Default: ""
26016
26017       • Examples:
26018
26019         • "https://auth.api.rackspacecloud.com/v1.0"
26020
26021           • Rackspace US
26022
26023         • "https://lon.auth.api.rackspacecloud.com/v1.0"
26024
26025           • Rackspace UK
26026
26027         • "https://identity.api.rackspacecloud.com/v2.0"
26028
26029           • Rackspace v2
26030
26031         • "https://auth.storage.memset.com/v1.0"
26032
26033           • Memset Memstore UK
26034
26035         • "https://auth.storage.memset.com/v2.0"
26036
26037           • Memset Memstore UK v2
26038
26039         • "https://auth.cloud.ovh.net/v3"
26040
26041           • OVH
26042
26043   --swift-user-id
26044       User  ID  to  log in - optional - most swift systems use user and leave
26045       this blank (v3 auth) (OS_USER_ID).
26046
26047       • Config: user_id
26048
26049       • Env Var: RCLONE_SWIFT_USER_ID
26050
26051       • Type: string
26052
26053       • Default: ""
26054
26055   --swift-domain
26056       User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
26057
26058       • Config: domain
26059
26060       • Env Var: RCLONE_SWIFT_DOMAIN
26061
26062       • Type: string
26063
26064       • Default: ""
26065
26066   --swift-tenant
26067       Tenant name - optional for v1 auth, this or tenant_id  required  other‐
26068       wise (OS_TENANT_NAME or OS_PROJECT_NAME)
26069
26070       • Config: tenant
26071
26072       • Env Var: RCLONE_SWIFT_TENANT
26073
26074       • Type: string
26075
26076       • Default: ""
26077
26078   --swift-tenant-id
26079       Tenant  ID  -  optional  for v1 auth, this or tenant required otherwise
26080       (OS_TENANT_ID)
26081
26082       • Config: tenant_id
26083
26084       • Env Var: RCLONE_SWIFT_TENANT_ID
26085
26086       • Type: string
26087
26088       • Default: ""
26089
26090   --swift-tenant-domain
26091       Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
26092
26093       • Config: tenant_domain
26094
26095       • Env Var: RCLONE_SWIFT_TENANT_DOMAIN
26096
26097       • Type: string
26098
26099       • Default: ""
26100
26101   --swift-region
26102       Region name - optional (OS_REGION_NAME)
26103
26104       • Config: region
26105
26106       • Env Var: RCLONE_SWIFT_REGION
26107
26108       • Type: string
26109
26110       • Default: ""
26111
26112   --swift-storage-url
26113       Storage URL - optional (OS_STORAGE_URL)
26114
26115       • Config: storage_url
26116
26117       • Env Var: RCLONE_SWIFT_STORAGE_URL
26118
26119       • Type: string
26120
26121       • Default: ""
26122
26123   --swift-auth-token
26124       Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
26125
26126       • Config: auth_token
26127
26128       • Env Var: RCLONE_SWIFT_AUTH_TOKEN
26129
26130       • Type: string
26131
26132       • Default: ""
26133
26134   --swift-application-credential-id
26135       Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
26136
26137       • Config: application_credential_id
26138
26139       • Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
26140
26141       • Type: string
26142
26143       • Default: ""
26144
26145   --swift-application-credential-name
26146       Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
26147
26148       • Config: application_credential_name
26149
26150       • Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
26151
26152       • Type: string
26153
26154       • Default: ""
26155
26156   --swift-application-credential-secret
26157       Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
26158
26159       • Config: application_credential_secret
26160
26161       • Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
26162
26163       • Type: string
26164
26165       • Default: ""
26166
26167   --swift-auth-version
26168       AuthVersion - optional - set to (1,2,3) if your auth URL has no version
26169       (ST_AUTH_VERSION)
26170
26171       • Config: auth_version
26172
26173       • Env Var: RCLONE_SWIFT_AUTH_VERSION
26174
26175       • Type: int
26176
26177       • Default: 0
26178
26179   --swift-endpoint-type
26180       Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
26181
26182       • Config: endpoint_type
26183
26184       • Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
26185
26186       • Type: string
26187
26188       • Default: "public"
26189
26190       • Examples:
26191
26192         • "public"
26193
26194           • Public (default, choose this if not sure)
26195
26196         • "internal"
26197
26198           • Internal (use internal service net)
26199
26200         • "admin"
26201
26202           • Admin
26203
26204   --swift-storage-policy
26205       The storage policy to use when creating a new container
26206
26207       This  applies the specified storage policy when creating a new contain‐
26208       er.  The policy cannot be changed afterwards.  The  allowed  configura‐
26209       tion values and their meaning depend on your Swift storage provider.
26210
26211       • Config: storage_policy
26212
26213       • Env Var: RCLONE_SWIFT_STORAGE_POLICY
26214
26215       • Type: string
26216
26217       • Default: ""
26218
26219       • Examples:
26220
26221         • ""
26222
26223           • Default
26224
26225         • "pcs"
26226
26227           • OVH Public Cloud Storage
26228
26229         • "pca"
26230
26231           • OVH Public Cloud Archive
26232
26233   Advanced Options
26234       Here  are  the  advanced  options  specific  to  swift (OpenStack Swift
26235       (Rackspace Cloud Files, Memset Memstore, OVH)).
26236
26237   --swift-leave-parts-on-error
26238       If true avoid calling abort upload on a failure.  It should be  set  to
26239       true for resuming uploads across different sessions.
26240
26241       • Config: leave_parts_on_error
26242
26243       • Env Var: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR
26244
26245       • Type: bool
26246
26247       • Default: false
26248
26249   --swift-chunk-size
26250       Above this size files will be chunked into a _segments container.
26251
26252       Above  this size files will be chunked into a _segments container.  The
26253       default for this is 5GB which is its maximum value.
26254
26255       • Config: chunk_size
26256
26257       • Env Var: RCLONE_SWIFT_CHUNK_SIZE
26258
26259       • Type: SizeSuffix
26260
26261       • Default: 5G
26262
26263   --swift-no-chunk
26264       Don't chunk files during streaming upload.
26265
26266       When doing streaming uploads (e.g.  using rcat or mount)  setting  this
26267       flag will cause the swift backend to not upload chunked files.
26268
26269       This  will  limit  the maximum upload size to 5GB.  However non chunked
26270       files are easier to deal with and have an MD5SUM.
26271
26272       Rclone will still chunk files bigger than chunk_size when doing  normal
26273       copy operations.
26274
26275       • Config: no_chunk
26276
26277       • Env Var: RCLONE_SWIFT_NO_CHUNK
26278
26279       • Type: bool
26280
26281       • Default: false
26282
26283   --swift-encoding
26284       This sets the encoding for the backend.
26285
26286       See:  the  encoding  section  in the overview (https://rclone.org/over
26287       view/#encoding) for more info.
26288
26289       • Config: encoding
26290
26291       • Env Var: RCLONE_SWIFT_ENCODING
26292
26293       • Type: MultiEncoder
26294
26295       • Default: Slash,InvalidUtf8
26296
26297   Modified time
26298       The modified time  is  stored  as  metadata  on  the  object  as  X-Ob‐
26299       ject-Meta-Mtime as floating point since the epoch accurate to 1 ns.
26300
26301       This  is  a  de facto standard (used in the official python-swiftclient
26302       amongst others) for storing the modification time for an object.
26303
26304   Restricted filename characters
26305       Character   Value   Replacement
26306       ────────────────────────────────
26307       NUL         0x00         ␀
26308       /           0x2F        /
26309
26310       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
26311       view/#invalid-utf8), as they can't be used in JSON strings.
26312
26313   Limitations
26314       The  Swift API doesn't return a correct MD5SUM for segmented files (Dy‐
26315       namic or Static Large Objects) so rclone won't check or use the  MD5SUM
26316       for these.
26317
26318   Troubleshooting
26319   Rclone gives Failed to create file system for "remote:": Bad Request
26320       Due  to  an oddity of the underlying swift library, it gives a "Bad Re‐
26321       quest" error rather than a more sensible error when the  authentication
26322       fails for Swift.
26323
26324       So  this  most likely means your username / password is wrong.  You can
26325       investigate further with the --dump-bodies flag.
26326
26327       This may also be caused by specifying the  region  when  you  shouldn't
26328       have (e.g.  OVH).
26329
26330   Rclone gives Failed to create file system: Response didn't have storage url
26331       and auth token
26332       This is most likely caused by forgetting to specify  your  tenant  when
26333       setting up a swift remote.
26334
26335   pCloud
26336       Paths are specified as remote:path
26337
26338       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
26339
26340       The initial setup for pCloud involves getting a token from pCloud which
26341       you need to do in your browser.  rclone config walks you through it.
26342
26343       Here is an example of how to make a remote called remote.  First run:
26344
26345               rclone config
26346
26347       This will guide you through an interactive setup process:
26348
26349              No remotes found - make a new one
26350              n) New remote
26351              s) Set configuration password
26352              q) Quit config
26353              n/s/q> n
26354              name> remote
26355              Type of storage to configure.
26356              Choose a number from below, or type in your own value
26357              [snip]
26358              XX / Pcloud
26359                 \ "pcloud"
26360              [snip]
26361              Storage> pcloud
26362              Pcloud App Client Id - leave blank normally.
26363              client_id>
26364              Pcloud App Client Secret - leave blank normally.
26365              client_secret>
26366              Remote config
26367              Use auto config?
26368               * Say Y if not sure
26369               * Say N if you are working on a remote or headless machine
26370              y) Yes
26371              n) No
26372              y/n> y
26373              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
26374              Log in and authorize rclone for access
26375              Waiting for code...
26376              Got code
26377              --------------------
26378              [remote]
26379              client_id =
26380              client_secret =
26381              token = {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
26382              --------------------
26383              y) Yes this is OK
26384              e) Edit this remote
26385              d) Delete this remote
26386              y/e/d> y
26387
26388       See the remote setup docs (https://rclone.org/remote_setup/) for how to
26389       set it up on a machine with no Internet browser available.
26390
26391       Note  that rclone runs a webserver on your local machine to collect the
26392       token as returned from pCloud.  This only runs from the moment it opens
26393       your browser to the moment you get back the verification code.  This is
26394       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
26395       temporarily if you are running a host firewall.
26396
26397       Once configured you can then use rclone like this,
26398
26399       List directories in top level of your pCloud
26400
26401              rclone lsd remote:
26402
26403       List all the files in your pCloud
26404
26405              rclone ls remote:
26406
26407       To copy a local directory to an pCloud directory called backup
26408
26409              rclone copy /home/source remote:backup
26410
26411   Modified time and hashes
26412       pCloud  allows  modification  times  to be set on objects accurate to 1
26413       second.  These will be used to detect whether objects need  syncing  or
26414       not.  In order to set a Modification time pCloud requires the object be
26415       re-uploaded.
26416
26417       pCloud supports MD5 and SHA1 type hashes in the US region but and  SHA1
26418       only in the EU region, so you can use the --checksum flag.
26419
26420       (Note that pCloud also support SHA256 in the EU region, but rclone does
26421       not have support for that yet.)
26422
26423   Restricted filename characters
26424       In   addition   to    the    default    restricted    characters    set
26425       (https://rclone.org/overview/#restricted-characters)    the   following
26426       characters are also replaced:
26427
26428       Character   Value   Replacement
26429       ────────────────────────────────
26430       \           0x5C        \
26431
26432       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
26433       view/#invalid-utf8), as they can't be used in JSON strings.
26434
26435   Deleting files
26436       Deleted files will be moved to the trash.  Your subscription level will
26437       determine how long items stay in the trash.  rclone cleanup can be used
26438       to empty the trash.
26439
26440   Root folder ID
26441       You  can  set  the  root_folder_id  for  rclone.  This is the directory
26442       (identified by its Folder ID) that rclone considers to be the  root  of
26443       your pCloud drive.
26444
26445       Normally  you  will leave this blank and rclone will determine the cor‐
26446       rect root to use itself.
26447
26448       However you can set this to restrict rclone to a specific folder  hier‐
26449       archy.
26450
26451       In order to do this you will have to find the Folder ID of the directo‐
26452       ry you wish rclone to display.  This will be the folder  field  of  the
26453       URL when you open the relevant folder in the pCloud web interface.
26454
26455       So  if  the  folder  you  want rclone to use has a URL which looks like
26456       https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=folder‐
26457       grid  in  the browser, then you use 5xxxxxxxx8 as the root_folder_id in
26458       the config.
26459
26460   Standard Options
26461       Here are the standard options specific to pcloud (Pcloud).
26462
26463   --pcloud-client-id
26464       OAuth Client Id Leave blank normally.
26465
26466       • Config: client_id
26467
26468       • Env Var: RCLONE_PCLOUD_CLIENT_ID
26469
26470       • Type: string
26471
26472       • Default: ""
26473
26474   --pcloud-client-secret
26475       OAuth Client Secret Leave blank normally.
26476
26477       • Config: client_secret
26478
26479       • Env Var: RCLONE_PCLOUD_CLIENT_SECRET
26480
26481       • Type: string
26482
26483       • Default: ""
26484
26485   Advanced Options
26486       Here are the advanced options specific to pcloud (Pcloud).
26487
26488   --pcloud-token
26489       OAuth Access Token as a JSON blob.
26490
26491       • Config: token
26492
26493       • Env Var: RCLONE_PCLOUD_TOKEN
26494
26495       • Type: string
26496
26497       • Default: ""
26498
26499   --pcloud-auth-url
26500       Auth server URL.  Leave blank to use the provider defaults.
26501
26502       • Config: auth_url
26503
26504       • Env Var: RCLONE_PCLOUD_AUTH_URL
26505
26506       • Type: string
26507
26508       • Default: ""
26509
26510   --pcloud-token-url
26511       Token server url.  Leave blank to use the provider defaults.
26512
26513       • Config: token_url
26514
26515       • Env Var: RCLONE_PCLOUD_TOKEN_URL
26516
26517       • Type: string
26518
26519       • Default: ""
26520
26521   --pcloud-encoding
26522       This sets the encoding for the backend.
26523
26524       See: the encoding section  in  the  overview  (https://rclone.org/over
26525       view/#encoding) for more info.
26526
26527       • Config: encoding
26528
26529       • Env Var: RCLONE_PCLOUD_ENCODING
26530
26531       • Type: MultiEncoder
26532
26533       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
26534
26535   --pcloud-root-folder-id
26536       Fill in for rclone to use a non root folder as its starting point.
26537
26538       • Config: root_folder_id
26539
26540       • Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID
26541
26542       • Type: string
26543
26544       • Default: "d0"
26545
26546   --pcloud-hostname
26547       Hostname to connect to.
26548
26549       This  is  normally set when rclone initially does the oauth connection,
26550       however you will need to set it by hand if you are using remote  config
26551       with rclone authorize.
26552
26553       • Config: hostname
26554
26555       • Env Var: RCLONE_PCLOUD_HOSTNAME
26556
26557       • Type: string
26558
26559       • Default: "api.pcloud.com"
26560
26561       • Examples:
26562
26563         • "api.pcloud.com"
26564
26565           • Original/US region
26566
26567         • "eapi.pcloud.com"
26568
26569           • EU region
26570
26571   premiumize.me
26572       Paths are specified as remote:path
26573
26574       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
26575
26576       The  initial  setup for premiumize.me (https://premiumize.me/) involves
26577       getting a token from premiumize.me which you need to do in your  brows‐
26578       er.  rclone config walks you through it.
26579
26580       Here is an example of how to make a remote called remote.  First run:
26581
26582               rclone config
26583
26584       This will guide you through an interactive setup process:
26585
26586              No remotes found - make a new one
26587              n) New remote
26588              s) Set configuration password
26589              q) Quit config
26590              n/s/q> n
26591              name> remote
26592              Type of storage to configure.
26593              Enter a string value. Press Enter for the default ("").
26594              Choose a number from below, or type in your own value
26595              [snip]
26596              XX / premiumize.me
26597                 \ "premiumizeme"
26598              [snip]
26599              Storage> premiumizeme
26600              ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ **
26601
26602              Remote config
26603              Use auto config?
26604               * Say Y if not sure
26605               * Say N if you are working on a remote or headless machine
26606              y) Yes
26607              n) No
26608              y/n> y
26609              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
26610              Log in and authorize rclone for access
26611              Waiting for code...
26612              Got code
26613              --------------------
26614              [remote]
26615              type = premiumizeme
26616              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2029-08-07T18:44:15.548915378+01:00"}
26617              --------------------
26618              y) Yes this is OK
26619              e) Edit this remote
26620              d) Delete this remote
26621              y/e/d>
26622
26623       See the remote setup docs (https://rclone.org/remote_setup/) for how to
26624       set it up on a machine with no Internet browser available.
26625
26626       Note that rclone runs a webserver on your local machine to collect  the
26627       token  as  returned from premiumize.me.  This only runs from the moment
26628       it opens your browser to the moment you get back the verification code.
26629       This  is  on http://127.0.0.1:53682/ and this it may require you to un‐
26630       block it temporarily if you are running a host firewall.
26631
26632       Once configured you can then use rclone like this,
26633
26634       List directories in top level of your premiumize.me
26635
26636              rclone lsd remote:
26637
26638       List all the files in your premiumize.me
26639
26640              rclone ls remote:
26641
26642       To copy a local directory to an premiumize.me directory called backup
26643
26644              rclone copy /home/source remote:backup
26645
26646   Modified time and hashes
26647       premiumize.me does not support modification times or hashes,  therefore
26648       syncing will default to --size-only checking.  Note that using --update
26649       will work.
26650
26651   Restricted filename characters
26652       In   addition   to    the    default    restricted    characters    set
26653       (https://rclone.org/overview/#restricted-characters)    the   following
26654       characters are also replaced:
26655
26656       Character   Value   Replacement
26657       ────────────────────────────────
26658       \           0x5C        \
26659       "           0x22        "
26660
26661       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
26662       view/#invalid-utf8), as they can't be used in JSON strings.
26663
26664   Standard Options
26665       Here are the standard options specific to premiumizeme (premiumize.me).
26666
26667   --premiumizeme-api-key
26668       API Key.
26669
26670       This is not normally used - use oauth instead.
26671
26672       • Config: api_key
26673
26674       • Env Var: RCLONE_PREMIUMIZEME_API_KEY
26675
26676       • Type: string
26677
26678       • Default: ""
26679
26680   Advanced Options
26681       Here are the advanced options specific to premiumizeme (premiumize.me).
26682
26683   --premiumizeme-encoding
26684       This sets the encoding for the backend.
26685
26686       See:  the  encoding  section  in the overview (https://rclone.org/over
26687       view/#encoding) for more info.
26688
26689       • Config: encoding
26690
26691       • Env Var: RCLONE_PREMIUMIZEME_ENCODING
26692
26693       • Type: MultiEncoder
26694
26695       • Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
26696
26697   Limitations
26698       Note that premiumize.me is case insensitive so you can't  have  a  file
26699       called "Hello.doc" and one called "hello.doc".
26700
26701       premiumize.me  file  names can't have the \ or " characters in.  rclone
26702       maps these to and from an identical looking unicode equivalents \  and
26703
26704
26705       premiumize.me only supports filenames up to 255 characters in length.
26706
26707   put.io
26708       Paths are specified as remote:path
26709
26710       put.io  paths may be as deep as required, e.g.  remote:directory/subdi‐
26711       rectory.
26712
26713       The initial setup for put.io involves getting a token from put.io which
26714       you need to do in your browser.  rclone config walks you through it.
26715
26716       Here is an example of how to make a remote called remote.  First run:
26717
26718               rclone config
26719
26720       This will guide you through an interactive setup process:
26721
26722              No remotes found - make a new one
26723              n) New remote
26724              s) Set configuration password
26725              q) Quit config
26726              n/s/q> n
26727              name> putio
26728              Type of storage to configure.
26729              Enter a string value. Press Enter for the default ("").
26730              Choose a number from below, or type in your own value
26731              [snip]
26732              XX / Put.io
26733                 \ "putio"
26734              [snip]
26735              Storage> putio
26736              ** See help for putio backend at: https://rclone.org/putio/ **
26737
26738              Remote config
26739              Use auto config?
26740               * Say Y if not sure
26741               * Say N if you are working on a remote or headless machine
26742              y) Yes
26743              n) No
26744              y/n> y
26745              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
26746              Log in and authorize rclone for access
26747              Waiting for code...
26748              Got code
26749              --------------------
26750              [putio]
26751              type = putio
26752              token = {"access_token":"XXXXXXXX","expiry":"0001-01-01T00:00:00Z"}
26753              --------------------
26754              y) Yes this is OK
26755              e) Edit this remote
26756              d) Delete this remote
26757              y/e/d> y
26758              Current remotes:
26759
26760              Name                 Type
26761              ====                 ====
26762              putio                putio
26763
26764              e) Edit existing remote
26765              n) New remote
26766              d) Delete remote
26767              r) Rename remote
26768              c) Copy remote
26769              s) Set configuration password
26770              q) Quit config
26771              e/n/d/r/c/s/q> q
26772
26773       Note  that rclone runs a webserver on your local machine to collect the
26774       token as returned from Google if you use auto config mode.   This  only
26775       runs  from  the moment it opens your browser to the moment you get back
26776       the verification code.  This is on http://127.0.0.1:53682/ and this  it
26777       may  require  you  to  unblock it temporarily if you are running a host
26778       firewall, or use manual mode.
26779
26780       You can then use it like this,
26781
26782       List directories in top level of your put.io
26783
26784              rclone lsd remote:
26785
26786       List all the files in your put.io
26787
26788              rclone ls remote:
26789
26790       To copy a local directory to a put.io directory called backup
26791
26792              rclone copy /home/source remote:backup
26793
26794   Restricted filename characters
26795       In   addition   to    the    default    restricted    characters    set
26796       (https://rclone.org/overview/#restricted-characters)    the   following
26797       characters are also replaced:
26798
26799       Character   Value   Replacement
26800       ────────────────────────────────
26801       \           0x5C        \
26802
26803       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
26804       view/#invalid-utf8), as they can't be used in JSON strings.
26805
26806   Advanced Options
26807       Here are the advanced options specific to putio (Put.io).
26808
26809   --putio-encoding
26810       This sets the encoding for the backend.
26811
26812       See:  the  encoding  section  in the overview (https://rclone.org/over
26813       view/#encoding) for more info.
26814
26815       • Config: encoding
26816
26817       • Env Var: RCLONE_PUTIO_ENCODING
26818
26819       • Type: MultiEncoder
26820
26821       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
26822
26823   Seafile
26824       This is a backend for the  Seafile  (https://www.seafile.com/)  storage
26825       service: - It works with both the free community edition or the profes‐
26826       sional edition.  - Seafile versions 6.x and 7.x are all  supported.   -
26827       Encrypted  libraries  are  also  supported.   - It supports 2FA enabled
26828       users
26829
26830   Root mode vs Library mode
26831       There are two distinct modes you can setup your  remote:  -  you  point
26832       your  remote to the root of the server, meaning you don't specify a li‐
26833       brary during the configuration: Paths are specified as  remote:library.
26834       You may put subdirectories in too, e.g.  remote:library/path/to/dir.  -
26835       you point your remote to a specific library during  the  configuration:
26836       Paths  are  specified  as  remote:path/to/dir.  This is the recommended
26837       mode when using encrypted libraries.  (This mode is  possibly  slightly
26838       faster than the root mode)
26839
26840   Configuration in root mode
26841       Here is an example of making a seafile configuration for a user with no
26842       two-factor authentication.  First run
26843
26844              rclone config
26845
26846       This will guide you through an interactive setup process.  To authenti‐
26847       cate you will need the URL of your server, your email (or username) and
26848       your password.
26849
26850              No remotes found - make a new one
26851              n) New remote
26852              s) Set configuration password
26853              q) Quit config
26854              n/s/q> n
26855              name> seafile
26856              Type of storage to configure.
26857              Enter a string value. Press Enter for the default ("").
26858              Choose a number from below, or type in your own value
26859              [snip]
26860              XX / Seafile
26861                 \ "seafile"
26862              [snip]
26863              Storage> seafile
26864              ** See help for seafile backend at: https://rclone.org/seafile/ **
26865
26866              URL of seafile host to connect to
26867              Enter a string value. Press Enter for the default ("").
26868              Choose a number from below, or type in your own value
26869               1 / Connect to cloud.seafile.com
26870                 \ "https://cloud.seafile.com/"
26871              url> http://my.seafile.server/
26872              User name (usually email address)
26873              Enter a string value. Press Enter for the default ("").
26874              user> me@example.com
26875              Password
26876              y) Yes type in my own password
26877              g) Generate random password
26878              n) No leave this optional password blank (default)
26879              y/g> y
26880              Enter the password:
26881              password:
26882              Confirm the password:
26883              password:
26884              Two-factor authentication ('true' if the account has 2FA enabled)
26885              Enter a boolean value (true or false). Press Enter for the default ("false").
26886              2fa> false
26887              Name of the library. Leave blank to access all non-encrypted libraries.
26888              Enter a string value. Press Enter for the default ("").
26889              library>
26890              Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
26891              y) Yes type in my own password
26892              g) Generate random password
26893              n) No leave this optional password blank (default)
26894              y/g/n> n
26895              Edit advanced config? (y/n)
26896              y) Yes
26897              n) No (default)
26898              y/n> n
26899              Remote config
26900              Two-factor authentication is not enabled on this account.
26901              --------------------
26902              [seafile]
26903              type = seafile
26904              url = http://my.seafile.server/
26905              user = me@example.com
26906              pass = *** ENCRYPTED ***
26907              2fa = false
26908              --------------------
26909              y) Yes this is OK (default)
26910              e) Edit this remote
26911              d) Delete this remote
26912              y/e/d> y
26913
26914       This remote is called seafile.  It's  pointing  to  the  root  of  your
26915       seafile server and can now be used like this:
26916
26917       See all libraries
26918
26919              rclone lsd seafile:
26920
26921       Create a new library
26922
26923              rclone mkdir seafile:library
26924
26925       List the contents of a library
26926
26927              rclone ls seafile:library
26928
26929       Sync  /home/local/directory  to the remote library, deleting any excess
26930       files in the library.
26931
26932              rclone sync -i /home/local/directory seafile:library
26933
26934   Configuration in library mode
26935       Here's an example of a configuration in library mode with a  user  that
26936       has the two-factor authentication enabled.  Your 2FA code will be asked
26937       at the end of the configuration, and will attempt to authenticate you:
26938
26939              No remotes found - make a new one
26940              n) New remote
26941              s) Set configuration password
26942              q) Quit config
26943              n/s/q> n
26944              name> seafile
26945              Type of storage to configure.
26946              Enter a string value. Press Enter for the default ("").
26947              Choose a number from below, or type in your own value
26948              [snip]
26949              XX / Seafile
26950                 \ "seafile"
26951              [snip]
26952              Storage> seafile
26953              ** See help for seafile backend at: https://rclone.org/seafile/ **
26954
26955              URL of seafile host to connect to
26956              Enter a string value. Press Enter for the default ("").
26957              Choose a number from below, or type in your own value
26958               1 / Connect to cloud.seafile.com
26959                 \ "https://cloud.seafile.com/"
26960              url> http://my.seafile.server/
26961              User name (usually email address)
26962              Enter a string value. Press Enter for the default ("").
26963              user> me@example.com
26964              Password
26965              y) Yes type in my own password
26966              g) Generate random password
26967              n) No leave this optional password blank (default)
26968              y/g> y
26969              Enter the password:
26970              password:
26971              Confirm the password:
26972              password:
26973              Two-factor authentication ('true' if the account has 2FA enabled)
26974              Enter a boolean value (true or false). Press Enter for the default ("false").
26975              2fa> true
26976              Name of the library. Leave blank to access all non-encrypted libraries.
26977              Enter a string value. Press Enter for the default ("").
26978              library> My Library
26979              Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
26980              y) Yes type in my own password
26981              g) Generate random password
26982              n) No leave this optional password blank (default)
26983              y/g/n> n
26984              Edit advanced config? (y/n)
26985              y) Yes
26986              n) No (default)
26987              y/n> n
26988              Remote config
26989              Two-factor authentication: please enter your 2FA code
26990              2fa code> 123456
26991              Authenticating...
26992              Success!
26993              --------------------
26994              [seafile]
26995              type = seafile
26996              url = http://my.seafile.server/
26997              user = me@example.com
26998              pass =
26999              2fa = true
27000              library = My Library
27001              --------------------
27002              y) Yes this is OK (default)
27003              e) Edit this remote
27004              d) Delete this remote
27005              y/e/d> y
27006
27007       You'll notice your password is blank in the  configuration.   It's  be‐
27008       cause we only need the password to authenticate you once.
27009
27010       You specified My Library during the configuration.  The root of the re‐
27011       mote is pointing at the root of the library My Library:
27012
27013       See all files in the library:
27014
27015              rclone lsd seafile:
27016
27017       Create a new directory inside the library
27018
27019              rclone mkdir seafile:directory
27020
27021       List the contents of a directory
27022
27023              rclone ls seafile:directory
27024
27025       Sync /home/local/directory to the remote library, deleting  any  excess
27026       files in the library.
27027
27028              rclone sync -i /home/local/directory seafile:
27029
27030   --fast-list
27031       Seafile  version  7+ supports --fast-list which allows you to use fewer
27032       transactions  in  exchange  for  more  memory.   See  the  rclone  docs
27033       (https://rclone.org/docs/#fast-list)  for  more  details.   Please note
27034       this is not supported on seafile server version 6.x
27035
27036   Restricted filename characters
27037       In   addition   to    the    default    restricted    characters    set
27038       (https://rclone.org/overview/#restricted-characters)    the   following
27039       characters are also replaced:
27040
27041       Character   Value   Replacement
27042       ────────────────────────────────
27043       /           0x2F        /
27044       "           0x22        "
27045       \           0x5C        \
27046
27047       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
27048       view/#invalid-utf8), as they can't be used in JSON strings.
27049
27050   Seafile and rclone link
27051       Rclone  supports generating share links for non-encrypted libraries on‐
27052       ly.  They can either be for a file or a directory:
27053
27054              rclone link seafile:seafile-tutorial.doc
27055              http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/
27056
27057       or if run on a directory you will get:
27058
27059              rclone link seafile:dir
27060              http://my.seafile.server/d/9ea2455f6f55478bbb0d/
27061
27062       Please note a share link is unique for each file or directory.  If  you
27063       run a link command on a file/dir that has already been shared, you will
27064       get the exact same link.
27065
27066   Compatibility
27067       It  has  been  actively  tested  using   the   seafile   docker   image
27068       (https://github.com/haiwen/seafile-docker)  of  these versions: - 6.3.4
27069       community edition - 7.0.5 community edition - 7.1.3 community edition
27070
27071       Versions below 6.0 are not supported.  Versions  between  6.0  and  6.3
27072       haven't been tested and might not work properly.
27073
27074   Standard Options
27075       Here are the standard options specific to seafile (seafile).
27076
27077   --seafile-url
27078       URL of seafile host to connect to
27079
27080       • Config: url
27081
27082       • Env Var: RCLONE_SEAFILE_URL
27083
27084       • Type: string
27085
27086       • Default: ""
27087
27088       • Examples:
27089
27090         • "https://cloud.seafile.com/"
27091
27092           • Connect to cloud.seafile.com
27093
27094   --seafile-user
27095       User name (usually email address)
27096
27097       • Config: user
27098
27099       • Env Var: RCLONE_SEAFILE_USER
27100
27101       • Type: string
27102
27103       • Default: ""
27104
27105   --seafile-pass
27106       Password
27107
27108       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
27109       (https://rclone.org/commands/rclone_obscure/).
27110
27111       • Config: pass
27112
27113       • Env Var: RCLONE_SEAFILE_PASS
27114
27115       • Type: string
27116
27117       • Default: ""
27118
27119   --seafile-2fa
27120       Two-factor authentication ('true' if the account has 2FA enabled)
27121
27122       • Config: 2fa
27123
27124       • Env Var: RCLONE_SEAFILE_2FA
27125
27126       • Type: bool
27127
27128       • Default: false
27129
27130   --seafile-library
27131       Name of the library.  Leave  blank  to  access  all  non-encrypted  li‐
27132       braries.
27133
27134       • Config: library
27135
27136       • Env Var: RCLONE_SEAFILE_LIBRARY
27137
27138       • Type: string
27139
27140       • Default: ""
27141
27142   --seafile-library-key
27143       Library  password  (for  encrypted libraries only).  Leave blank if you
27144       pass it through the command line.
27145
27146       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
27147       (https://rclone.org/commands/rclone_obscure/).
27148
27149       • Config: library_key
27150
27151       • Env Var: RCLONE_SEAFILE_LIBRARY_KEY
27152
27153       • Type: string
27154
27155       • Default: ""
27156
27157   --seafile-auth-token
27158       Authentication token
27159
27160       • Config: auth_token
27161
27162       • Env Var: RCLONE_SEAFILE_AUTH_TOKEN
27163
27164       • Type: string
27165
27166       • Default: ""
27167
27168   Advanced Options
27169       Here are the advanced options specific to seafile (seafile).
27170
27171   --seafile-create-library
27172       Should rclone create a library if it doesn't exist
27173
27174       • Config: create_library
27175
27176       • Env Var: RCLONE_SEAFILE_CREATE_LIBRARY
27177
27178       • Type: bool
27179
27180       • Default: false
27181
27182   --seafile-encoding
27183       This sets the encoding for the backend.
27184
27185       See:  the  encoding  section  in the overview (https://rclone.org/over
27186       view/#encoding) for more info.
27187
27188       • Config: encoding
27189
27190       • Env Var: RCLONE_SEAFILE_ENCODING
27191
27192       • Type: MultiEncoder
27193
27194       • Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8
27195
27196   SFTP
27197       SFTP   is   the   Secure    (or    SSH)    File    Transfer    Protocol
27198       (https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol).
27199
27200       The SFTP backend can be used with a number of different providers:
27201
27202       • C14
27203
27204       • rsync.net
27205
27206       SFTP runs over SSH v2 and is installed as standard with most modern SSH
27207       installations.
27208
27209       Paths are specified as remote:path.  If the path does not begin with  a
27210       /  it is relative to the home directory of the user.  An empty path re‐
27211       mote: refers to the user's home directory.
27212
27213       "Note that some SFTP servers will need the leading / -  Synology  is  a
27214       good  example of this.  rsync.net, on the other hand, requires users to
27215       OMIT the leading /.
27216
27217       Here is an example of making an SFTP configuration.  First run
27218
27219              rclone config
27220
27221       This will guide you through an interactive setup process.
27222
27223              No remotes found - make a new one
27224              n) New remote
27225              s) Set configuration password
27226              q) Quit config
27227              n/s/q> n
27228              name> remote
27229              Type of storage to configure.
27230              Choose a number from below, or type in your own value
27231              [snip]
27232              XX / SSH/SFTP Connection
27233                 \ "sftp"
27234              [snip]
27235              Storage> sftp
27236              SSH host to connect to
27237              Choose a number from below, or type in your own value
27238               1 / Connect to example.com
27239                 \ "example.com"
27240              host> example.com
27241              SSH username, leave blank for current username, $USER
27242              user> sftpuser
27243              SSH port, leave blank to use default (22)
27244              port>
27245              SSH password, leave blank to use ssh-agent.
27246              y) Yes type in my own password
27247              g) Generate random password
27248              n) No leave this optional password blank
27249              y/g/n> n
27250              Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
27251              key_file>
27252              Remote config
27253              --------------------
27254              [remote]
27255              host = example.com
27256              user = sftpuser
27257              port =
27258              pass =
27259              key_file =
27260              --------------------
27261              y) Yes this is OK
27262              e) Edit this remote
27263              d) Delete this remote
27264              y/e/d> y
27265
27266       This remote is called remote and can now be used like this:
27267
27268       See all directories in the home directory
27269
27270              rclone lsd remote:
27271
27272       Make a new directory
27273
27274              rclone mkdir remote:path/to/directory
27275
27276       List the contents of a directory
27277
27278              rclone ls remote:path/to/directory
27279
27280       Sync /home/local/directory to the remote directory, deleting any excess
27281       files in the directory.
27282
27283              rclone sync -i /home/local/directory remote:directory
27284
27285   SSH Authentication
27286       The SFTP remote supports three authentication methods:
27287
27288       • Password
27289
27290       • Key file, including certificate signed keys
27291
27292       • ssh-agent
27293
27294       Key  files  should  be  PEM-encoded  private  key  files.  For instance
27295       /home/$USER/.ssh/id_rsa.  Only unencrypted  OpenSSH  or  PEM  encrypted
27296       files are supported.
27297
27298       The  key file can be specified in either an external file (key_file) or
27299       contained within the rclone config file (key_pem).  If using key_pem in
27300       the config file, the entry should be on a single line with new line (''
27301       or '') separating lines.  i.e.
27302
27303       key_pem = -----BEGIN RSA PRIVATE KEY-----0gAMbMbaSsd-----END  RSA  PRI‐
27304       VATE KEY-----
27305
27306       This will generate it correctly for key_pem for use in the config:
27307
27308              awk '{printf "%s\\n", $0}' < ~/.ssh/id_rsa
27309
27310       If  you  don't  specify pass, key_file, or key_pem then rclone will at‐
27311       tempt to contact an ssh-agent.
27312
27313       You can also specify key_use_agent to force the usage of an  ssh-agent.
27314       In this case key_file or key_pem can also be specified to force the us‐
27315       age of a specific key in the ssh-agent.
27316
27317       Using an ssh-agent is the only way to load encrypted  OpenSSH  keys  at
27318       the moment.
27319
27320       If  you  set  the  --sftp-ask-password option, rclone will prompt for a
27321       password when needed and no password has been configured.
27322
27323       If you have a certificate then you can provide the path to  the  public
27324       key that contains the certificate.  For example:
27325
27326              [remote]
27327              type = sftp
27328              host = example.com
27329              user = sftpuser
27330              key_file = ~/id_rsa
27331              pubkey_file = ~/id_rsa-cert.pub
27332
27333       If  you  concatenate a cert with a private key then you can specify the
27334       merged file in both places.
27335
27336       Note: the cert must come first in the file.  e.g.
27337
27338              cat id_rsa-cert.pub id_rsa > merged_key
27339
27340   Host key validation
27341       By default rclone will not check the server's host key for  validation.
27342       This  can  allow  an attacker to replace a server with their own and if
27343       you use password authentication then this can lead to that password be‐
27344       ing exposed.
27345
27346       Host key matching, using standard known_hosts files can be turned on by
27347       enabling the known_hosts_file option.  This can point to the file main‐
27348       tained by OpenSSH or can point to a unique file.
27349
27350       e.g.
27351
27352              [remote]
27353              type = sftp
27354              host = example.com
27355              user = sftpuser
27356              pass =
27357              known_hosts_file = ~/.ssh/known_hosts
27358
27359       There are some limitations:
27360
27361       • rclone  will  not manage this file for you.  If the key is missing or
27362         wrong then the connection will be refused.
27363
27364       • If the server is set up for a certificate host key then the entry  in
27365         the known_hosts file must be the @cert-authority entry for the CA
27366
27367       • Unlike  OpenSSH,  the libraries used by rclone do not permit (at time
27368         of writing) multiple host keys to be listed for a server.   Only  the
27369         first entry is used.
27370
27371       If  the  host  key provided by the server does not match the one in the
27372       file (or is missing) then the connection will be aborted and  an  error
27373       returned such as
27374
27375              NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key mismatch
27376
27377       or
27378
27379              NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key is unknown
27380
27381       If you see an error such as
27382
27383              NewFs: couldn't connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22
27384
27385       then it is likely the server has presented a CA signed host certificate
27386       and you will need to add the appropriate @cert-authority entry.
27387
27388       The known_hosts_file setting can be set during rclone config as an  ad‐
27389       vanced option.
27390
27391   ssh-agent on macOS
27392       Note  that there seem to be various problems with using an ssh-agent on
27393       macOS due to recent changes in the OS.  The most effective  work-around
27394       seems to be to start an ssh-agent in each session, e.g.
27395
27396              eval `ssh-agent -s` && ssh-add -A
27397
27398       And then at the end of the session
27399
27400              eval `ssh-agent -k`
27401
27402       These commands can be used in scripts of course.
27403
27404   Modified time
27405       Modified times are stored on the server to 1 second precision.
27406
27407       Modified times are used in syncing and are fully supported.
27408
27409       Some  SFTP servers disable setting/modifying the file modification time
27410       after upload (for  example,  certain  configurations  of  ProFTPd  with
27411       mod_sftp).   If you are using one of these servers, you can set the op‐
27412       tion set_modtime = false in your RClone backend configuration  to  dis‐
27413       able this behaviour.
27414
27415   Standard Options
27416       Here are the standard options specific to sftp (SSH/SFTP Connection).
27417
27418   --sftp-host
27419       SSH host to connect to
27420
27421       • Config: host
27422
27423       • Env Var: RCLONE_SFTP_HOST
27424
27425       • Type: string
27426
27427       • Default: ""
27428
27429       • Examples:
27430
27431         • "example.com"
27432
27433           • Connect to example.com
27434
27435   --sftp-user
27436       SSH username, leave blank for current username, $USER
27437
27438       • Config: user
27439
27440       • Env Var: RCLONE_SFTP_USER
27441
27442       • Type: string
27443
27444       • Default: ""
27445
27446   --sftp-port
27447       SSH port, leave blank to use default (22)
27448
27449       • Config: port
27450
27451       • Env Var: RCLONE_SFTP_PORT
27452
27453       • Type: string
27454
27455       • Default: ""
27456
27457   --sftp-pass
27458       SSH password, leave blank to use ssh-agent.
27459
27460       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
27461       (https://rclone.org/commands/rclone_obscure/).
27462
27463       • Config: pass
27464
27465       • Env Var: RCLONE_SFTP_PASS
27466
27467       • Type: string
27468
27469       • Default: ""
27470
27471   --sftp-key-pem
27472       Raw PEM-encoded private key, If specified, will override  key_file  pa‐
27473       rameter.
27474
27475       • Config: key_pem
27476
27477       • Env Var: RCLONE_SFTP_KEY_PEM
27478
27479       • Type: string
27480
27481       • Default: ""
27482
27483   --sftp-key-file
27484       Path  to PEM-encoded private key file, leave blank or set key-use-agent
27485       to use ssh-agent.
27486
27487       Leading ~ will be expanded in the file name as will  environment  vari‐
27488       ables such as ${RCLONE_CONFIG_DIR}.
27489
27490       • Config: key_file
27491
27492       • Env Var: RCLONE_SFTP_KEY_FILE
27493
27494       • Type: string
27495
27496       • Default: ""
27497
27498   --sftp-key-file-pass
27499       The passphrase to decrypt the PEM-encoded private key file.
27500
27501       Only  PEM  encrypted key files (old OpenSSH format) are supported.  En‐
27502       crypted keys in the new OpenSSH format can't be used.
27503
27504       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
27505       (https://rclone.org/commands/rclone_obscure/).
27506
27507       • Config: key_file_pass
27508
27509       • Env Var: RCLONE_SFTP_KEY_FILE_PASS
27510
27511       • Type: string
27512
27513       • Default: ""
27514
27515   --sftp-pubkey-file
27516       Optional path to public key file.
27517
27518       Set this if you have a signed certificate you want to use for authenti‐
27519       cation.
27520
27521       Leading ~ will be expanded in the file name as will  environment  vari‐
27522       ables such as ${RCLONE_CONFIG_DIR}.
27523
27524       • Config: pubkey_file
27525
27526       • Env Var: RCLONE_SFTP_PUBKEY_FILE
27527
27528       • Type: string
27529
27530       • Default: ""
27531
27532   --sftp-key-use-agent
27533       When set forces the usage of the ssh-agent.
27534
27535       When key-file is also set, the ".pub" file of the specified key-file is
27536       read and only the associated key is requested from the ssh-agent.  This
27537       allows  to avoid Too many authentication failures for *username* errors
27538       when the ssh-agent contains many keys.
27539
27540       • Config: key_use_agent
27541
27542       • Env Var: RCLONE_SFTP_KEY_USE_AGENT
27543
27544       • Type: bool
27545
27546       • Default: false
27547
27548   --sftp-use-insecure-cipher
27549       Enable the use of insecure ciphers and key exchange methods.
27550
27551       This enables the use of the following insecure ciphers and key exchange
27552       methods:
27553
27554       • aes128-cbc
27555
27556       • aes192-cbc
27557
27558       • aes256-cbc
27559
27560       • 3des-cbc
27561
27562       • diffie-hellman-group-exchange-sha256
27563
27564       • diffie-hellman-group-exchange-sha1
27565
27566       Those algorithms are insecure and may allow plaintext data to be recov‐
27567       ered by an attacker.
27568
27569       • Config: use_insecure_cipher
27570
27571       • Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
27572
27573       • Type: bool
27574
27575       • Default: false
27576
27577       • Examples:
27578
27579         • "false"
27580
27581           • Use default Cipher list.
27582
27583         • "true"
27584
27585           • Enables  the  use  of  the  aes128-cbc  cipher  and  diffie-hell‐
27586             man-group-exchange-sha256, diffie-hellman-group-exchange-sha1 key
27587             exchange.
27588
27589   --sftp-disable-hashcheck
27590       Disable the execution of SSH commands to determine if remote file hash‐
27591       ing  is available.  Leave blank or set to false to enable hashing (rec‐
27592       ommended), set to true to disable hashing.
27593
27594       • Config: disable_hashcheck
27595
27596       • Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
27597
27598       • Type: bool
27599
27600       • Default: false
27601
27602   Advanced Options
27603       Here are the advanced options specific to sftp (SSH/SFTP Connection).
27604
27605   --sftp-known-hosts-file
27606       Optional path to known_hosts file.
27607
27608       Set this value to enable server host key validation.
27609
27610       Leading ~ will be expanded in the file name as will  environment  vari‐
27611       ables such as ${RCLONE_CONFIG_DIR}.
27612
27613       • Config: known_hosts_file
27614
27615       • Env Var: RCLONE_SFTP_KNOWN_HOSTS_FILE
27616
27617       • Type: string
27618
27619       • Default: ""
27620
27621       • Examples:
27622
27623         • "~/.ssh/known_hosts"
27624
27625           • Use OpenSSH's known_hosts file
27626
27627   --sftp-ask-password
27628       Allow asking for SFTP password when needed.
27629
27630       If  this is set and no password is supplied then rclone will: - ask for
27631       a password - not contact the ssh agent
27632
27633       • Config: ask_password
27634
27635       • Env Var: RCLONE_SFTP_ASK_PASSWORD
27636
27637       • Type: bool
27638
27639       • Default: false
27640
27641   --sftp-path-override
27642       Override path used by SSH connection.
27643
27644       This allows checksum calculation when SFTP and SSH paths are different.
27645       This issue affects among others Synology NAS boxes.
27646
27647       Shared folders can be found in directories representing volumes
27648
27649              rclone sync /home/local/directory remote:/directory --ssh-path-override /volume2/directory
27650
27651       Home directory can be found in a shared folder called "home"
27652
27653              rclone sync /home/local/directory remote:/home/directory --ssh-path-override /volume1/homes/USER/directory
27654
27655       • Config: path_override
27656
27657       • Env Var: RCLONE_SFTP_PATH_OVERRIDE
27658
27659       • Type: string
27660
27661       • Default: ""
27662
27663   --sftp-set-modtime
27664       Set the modified time on the remote if set.
27665
27666       • Config: set_modtime
27667
27668       • Env Var: RCLONE_SFTP_SET_MODTIME
27669
27670       • Type: bool
27671
27672       • Default: true
27673
27674   --sftp-md5sum-command
27675       The command used to read md5 hashes.  Leave blank for autodetect.
27676
27677       • Config: md5sum_command
27678
27679       • Env Var: RCLONE_SFTP_MD5SUM_COMMAND
27680
27681       • Type: string
27682
27683       • Default: ""
27684
27685   --sftp-sha1sum-command
27686       The command used to read sha1 hashes.  Leave blank for autodetect.
27687
27688       • Config: sha1sum_command
27689
27690       • Env Var: RCLONE_SFTP_SHA1SUM_COMMAND
27691
27692       • Type: string
27693
27694       • Default: ""
27695
27696   --sftp-skip-links
27697       Set to skip any symlinks and any other non regular files.
27698
27699       • Config: skip_links
27700
27701       • Env Var: RCLONE_SFTP_SKIP_LINKS
27702
27703       • Type: bool
27704
27705       • Default: false
27706
27707   --sftp-subsystem
27708       Specifies the SSH2 subsystem on the remote host.
27709
27710       • Config: subsystem
27711
27712       • Env Var: RCLONE_SFTP_SUBSYSTEM
27713
27714       • Type: string
27715
27716       • Default: "sftp"
27717
27718   --sftp-server-command
27719       Specifies the path or command to run a sftp server on the remote host.
27720
27721       The subsystem option is ignored when server_command is defined.
27722
27723       • Config: server_command
27724
27725       • Env Var: RCLONE_SFTP_SERVER_COMMAND
27726
27727       • Type: string
27728
27729       • Default: ""
27730
27731   --sftp-use-fstat
27732       If set use fstat instead of stat
27733
27734       Some  servers  limit  the  amount  of open files and calling Stat after
27735       opening the file will throw an error from  the  server.   Setting  this
27736       flag will call Fstat instead of Stat which is called on an already open
27737       file handle.
27738
27739       It has been found that this helps with IBM Sterling SFTP servers  which
27740       have  "extractability"  level  set  to 1 which means only 1 file can be
27741       opened at any given time.
27742
27743       • Config: use_fstat
27744
27745       • Env Var: RCLONE_SFTP_USE_FSTAT
27746
27747       • Type: bool
27748
27749       • Default: false
27750
27751   --sftp-disable-concurrent-reads
27752       If set don't use concurrent reads
27753
27754       Normally concurrent reads are safe to use and not using them  will  de‐
27755       grade performance, so this option is disabled by default.
27756
27757       Some servers limit the amount number of times a file can be downloaded.
27758       Using concurrent reads can trigger this limit, so if you have a  server
27759       which returns
27760
27761              Failed to copy: file does not exist
27762
27763       Then you may need to enable this flag.
27764
27765       If concurrent reads are disabled, the use_fstat option is ignored.
27766
27767       • Config: disable_concurrent_reads
27768
27769       • Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_READS
27770
27771       • Type: bool
27772
27773       • Default: false
27774
27775   --sftp-idle-timeout
27776       Max time before closing idle connections
27777
27778       If no connections have been returned to the connection pool in the time
27779       given, rclone will empty the connection pool.
27780
27781       Set to 0 to keep connections indefinitely.
27782
27783       • Config: idle_timeout
27784
27785       • Env Var: RCLONE_SFTP_IDLE_TIMEOUT
27786
27787       • Type: Duration
27788
27789       • Default: 1m0s
27790
27791   Limitations
27792       SFTP supports checksums if the same login has shell access  and  md5sum
27793       or  sha1sum  as  well  as  echo  are in the remote's PATH.  This remote
27794       checksumming (file hashing) is  recommended  and  enabled  by  default.
27795       Disabling  the  checksumming  may  be required if you are connecting to
27796       SFTP servers which are not under your control, and to which the  execu‐
27797       tion  of  remote  commands is prohibited.  Set the configuration option
27798       disable_hashcheck to true to disable checksumming.
27799
27800       SFTP also supports about if the same login has shell access and df  are
27801       in  the  remote's PATH.  about will return the total space, free space,
27802       and used space on the remote for the disk of the specified path on  the
27803       remote  or, if not set, the disk of the root on the remote.  about will
27804       fail if it does not have shell access or if df is not in  the  remote's
27805       PATH.
27806
27807       Note  that  some  SFTP servers (e.g.  Synology) the paths are different
27808       for SSH and SFTP so the hashes can't be calculated properly.  For  them
27809       using disable_hashcheck is a good idea.
27810
27811       The only ssh agent supported under Windows is Putty's pageant.
27812
27813       The  Go  SSH  library  disables the use of the aes128-cbc cipher by de‐
27814       fault, due to security concerns.  This can be re-enabled on a  per-con‐
27815       nection basis by setting the use_insecure_cipher setting in the config‐
27816       uration file to true.  Further details on the insecurity of this cipher
27817       can  be  found  in  this  paper (http://www.isg.rhul.ac.uk/~kp/SandPfi‐
27818       nal.pdf).
27819
27820       SFTP    isn't    supported    under    plan9    until    this     issue
27821       (https://github.com/pkg/sftp/issues/156) is fixed.
27822
27823       Note  that  since  SFTP isn't HTTP based the following flags don't work
27824       with it: --dump-headers, --dump-bodies, --dump-auth
27825
27826       Note that --timeout isn't supported (but --contimeout is).
27827
27828   C14
27829       C14 is supported through the SFTP backend.
27830
27831       See  C14's  documentation  (https://www.online.net/en/storage/c14-cold-
27832       storage)
27833
27834   rsync.net
27835       rsync.net is supported through the SFTP backend.
27836
27837       See      rsync.net's      documentation      of     rclone     examples
27838       (https://www.rsync.net/products/rclone.html).
27839
27840   SugarSync
27841       SugarSync (https://sugarsync.com) is a cloud service that  enables  ac‐
27842       tive  synchronization  of  files across computers and other devices for
27843       file backup, access, syncing, and sharing.
27844
27845       The initial setup for SugarSync involves getting a token from SugarSync
27846       which you can do with rclone.  rclone config walks you through it.
27847
27848       Here is an example of how to make a remote called remote.  First run:
27849
27850               rclone config
27851
27852       This will guide you through an interactive setup process:
27853
27854              No remotes found - make a new one
27855              n) New remote
27856              s) Set configuration password
27857              q) Quit config
27858              n/s/q> n
27859              name> remote
27860              Type of storage to configure.
27861              Enter a string value. Press Enter for the default ("").
27862              Choose a number from below, or type in your own value
27863              [snip]
27864              XX / Sugarsync
27865                 \ "sugarsync"
27866              [snip]
27867              Storage> sugarsync
27868              ** See help for sugarsync backend at: https://rclone.org/sugarsync/ **
27869
27870              Sugarsync App ID.
27871              Leave blank to use rclone's.
27872              Enter a string value. Press Enter for the default ("").
27873              app_id>
27874              Sugarsync Access Key ID.
27875              Leave blank to use rclone's.
27876              Enter a string value. Press Enter for the default ("").
27877              access_key_id>
27878              Sugarsync Private Access Key
27879              Leave blank to use rclone's.
27880              Enter a string value. Press Enter for the default ("").
27881              private_access_key>
27882              Permanently delete files if true
27883              otherwise put them in the deleted files.
27884              Enter a boolean value (true or false). Press Enter for the default ("false").
27885              hard_delete>
27886              Edit advanced config? (y/n)
27887              y) Yes
27888              n) No (default)
27889              y/n> n
27890              Remote config
27891              Username (email address)> nick@craig-wood.com
27892              Your Sugarsync password is only required during setup and will not be stored.
27893              password:
27894              --------------------
27895              [remote]
27896              type = sugarsync
27897              refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX
27898              --------------------
27899              y) Yes this is OK (default)
27900              e) Edit this remote
27901              d) Delete this remote
27902              y/e/d> y
27903
27904       Note that the config asks for your email and password but doesn't store
27905       them, it only uses them to get the initial token.
27906
27907       Once configured you can then use rclone like this,
27908
27909       List directories (sync folders) in top level of your SugarSync
27910
27911              rclone lsd remote:
27912
27913       List all the files in your SugarSync folder "Test"
27914
27915              rclone ls remote:Test
27916
27917       To copy a local directory to an SugarSync folder called backup
27918
27919              rclone copy /home/source remote:backup
27920
27921       Paths are specified as remote:path
27922
27923       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
27924
27925       NB you can't create files in the top level folder you have to create  a
27926       folder, which rclone will create as a "Sync Folder" with SugarSync.
27927
27928   Modified time and hashes
27929       SugarSync  does  not  support  modification  times or hashes, therefore
27930       syncing will default to --size-only checking.  Note that using --update
27931       will work as rclone can read the time files were uploaded.
27932
27933   Restricted filename characters
27934       SugarSync    replaces    the    default   restricted   characters   set
27935       (https://rclone.org/overview/#restricted-characters) except for DEL.
27936
27937       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
27938       view/#invalid-utf8), as they can't be used in XML strings.
27939
27940   Deleting files
27941       Deleted files will be moved to the "Deleted items" folder by default.
27942
27943       However you can supply the flag --sugarsync-hard-delete or set the con‐
27944       fig parameter hard_delete = true if you would like files to be  deleted
27945       straight away.
27946
27947   Standard Options
27948       Here are the standard options specific to sugarsync (Sugarsync).
27949
27950   --sugarsync-app-id
27951       Sugarsync App ID.
27952
27953       Leave blank to use rclone's.
27954
27955       • Config: app_id
27956
27957       • Env Var: RCLONE_SUGARSYNC_APP_ID
27958
27959       • Type: string
27960
27961       • Default: ""
27962
27963   --sugarsync-access-key-id
27964       Sugarsync Access Key ID.
27965
27966       Leave blank to use rclone's.
27967
27968       • Config: access_key_id
27969
27970       • Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID
27971
27972       • Type: string
27973
27974       • Default: ""
27975
27976   --sugarsync-private-access-key
27977       Sugarsync Private Access Key
27978
27979       Leave blank to use rclone's.
27980
27981       • Config: private_access_key
27982
27983       • Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
27984
27985       • Type: string
27986
27987       • Default: ""
27988
27989   --sugarsync-hard-delete
27990       Permanently  delete  files  if  true  otherwise put them in the deleted
27991       files.
27992
27993       • Config: hard_delete
27994
27995       • Env Var: RCLONE_SUGARSYNC_HARD_DELETE
27996
27997       • Type: bool
27998
27999       • Default: false
28000
28001   Advanced Options
28002       Here are the advanced options specific to sugarsync (Sugarsync).
28003
28004   --sugarsync-refresh-token
28005       Sugarsync refresh token
28006
28007       Leave blank normally, will be auto configured by rclone.
28008
28009       • Config: refresh_token
28010
28011       • Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN
28012
28013       • Type: string
28014
28015       • Default: ""
28016
28017   --sugarsync-authorization
28018       Sugarsync authorization
28019
28020       Leave blank normally, will be auto configured by rclone.
28021
28022       • Config: authorization
28023
28024       • Env Var: RCLONE_SUGARSYNC_AUTHORIZATION
28025
28026       • Type: string
28027
28028       • Default: ""
28029
28030   --sugarsync-authorization-expiry
28031       Sugarsync authorization expiry
28032
28033       Leave blank normally, will be auto configured by rclone.
28034
28035       • Config: authorization_expiry
28036
28037       • Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
28038
28039       • Type: string
28040
28041       • Default: ""
28042
28043   --sugarsync-user
28044       Sugarsync user
28045
28046       Leave blank normally, will be auto configured by rclone.
28047
28048       • Config: user
28049
28050       • Env Var: RCLONE_SUGARSYNC_USER
28051
28052       • Type: string
28053
28054       • Default: ""
28055
28056   --sugarsync-root-id
28057       Sugarsync root id
28058
28059       Leave blank normally, will be auto configured by rclone.
28060
28061       • Config: root_id
28062
28063       • Env Var: RCLONE_SUGARSYNC_ROOT_ID
28064
28065       • Type: string
28066
28067       • Default: ""
28068
28069   --sugarsync-deleted-id
28070       Sugarsync deleted folder id
28071
28072       Leave blank normally, will be auto configured by rclone.
28073
28074       • Config: deleted_id
28075
28076       • Env Var: RCLONE_SUGARSYNC_DELETED_ID
28077
28078       • Type: string
28079
28080       • Default: ""
28081
28082   --sugarsync-encoding
28083       This sets the encoding for the backend.
28084
28085       See: the encoding section  in  the  overview  (https://rclone.org/over
28086       view/#encoding) for more info.
28087
28088       • Config: encoding
28089
28090       • Env Var: RCLONE_SUGARSYNC_ENCODING
28091
28092       • Type: MultiEncoder
28093
28094       • Default: Slash,Ctl,InvalidUtf8,Dot
28095
28096   Limitations
28097       rclone about is not supported by the SugarSync backend.  Backends with‐
28098       out this capability cannot determine free space for an rclone mount  or
28099       use policy mfs (most free space) as a member of an rclone union remote.
28100
28101       See   List   of   backends   that   do   not   support   rclone   about
28102       (https://rclone.org/overview/#optional-features)   See   rclone   about
28103       (https://rclone.org/commands/rclone_about/)
28104
28105   Tardigrade
28106       Tardigrade   (https://tardigrade.io)   is  an  encrypted,  secure,  and
28107       cost-effective object storage service that enables you to  store,  back
28108       up, and archive large amounts of data in a decentralized manner.
28109
28110   Setup
28111       To make a new Tardigrade configuration you need one of the following: *
28112       Access  Grant  that  someone  else  shared  with  you.    *   API   Key
28113       (https://documentation.tardigrade.io/getting-started/uploading-your-
28114       first-object/create-an-api-key) of a Tardigrade project you are a  mem‐
28115       ber of.
28116
28117       Here is an example of how to make a remote called remote.  First run:
28118
28119               rclone config
28120
28121       This will guide you through an interactive setup process:
28122
28123   Setup with access grant
28124              No remotes found - make a new one
28125              n) New remote
28126              s) Set configuration password
28127              q) Quit config
28128              n/s/q> n
28129              name> remote
28130              Type of storage to configure.
28131              Enter a string value. Press Enter for the default ("").
28132              Choose a number from below, or type in your own value
28133              [snip]
28134              XX / Tardigrade Decentralized Cloud Storage
28135                 \ "tardigrade"
28136              [snip]
28137              Storage> tardigrade
28138              ** See help for tardigrade backend at: https://rclone.org/tardigrade/ **
28139
28140              Choose an authentication method.
28141              Enter a string value. Press Enter for the default ("existing").
28142              Choose a number from below, or type in your own value
28143               1 / Use an existing access grant.
28144                 \ "existing"
28145               2 / Create a new access grant from satellite address, API key, and passphrase.
28146                 \ "new"
28147              provider> existing
28148              Access Grant.
28149              Enter a string value. Press Enter for the default ("").
28150              access_grant> your-access-grant-received-by-someone-else
28151              Remote config
28152              --------------------
28153              [remote]
28154              type = tardigrade
28155              access_grant = your-access-grant-received-by-someone-else
28156              --------------------
28157              y) Yes this is OK (default)
28158              e) Edit this remote
28159              d) Delete this remote
28160              y/e/d> y
28161
28162   Setup with API key and passphrase
28163              No remotes found - make a new one
28164              n) New remote
28165              s) Set configuration password
28166              q) Quit config
28167              n/s/q> n
28168              name> remote
28169              Type of storage to configure.
28170              Enter a string value. Press Enter for the default ("").
28171              Choose a number from below, or type in your own value
28172              [snip]
28173              XX / Tardigrade Decentralized Cloud Storage
28174                 \ "tardigrade"
28175              [snip]
28176              Storage> tardigrade
28177              ** See help for tardigrade backend at: https://rclone.org/tardigrade/ **
28178
28179              Choose an authentication method.
28180              Enter a string value. Press Enter for the default ("existing").
28181              Choose a number from below, or type in your own value
28182               1 / Use an existing access grant.
28183                 \ "existing"
28184               2 / Create a new access grant from satellite address, API key, and passphrase.
28185                 \ "new"
28186              provider> new
28187              Satellite Address. Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
28188              Enter a string value. Press Enter for the default ("us-central-1.tardigrade.io").
28189              Choose a number from below, or type in your own value
28190               1 / US Central 1
28191                 \ "us-central-1.tardigrade.io"
28192               2 / Europe West 1
28193                 \ "europe-west-1.tardigrade.io"
28194               3 / Asia East 1
28195                 \ "asia-east-1.tardigrade.io"
28196              satellite_address> 1
28197              API Key.
28198              Enter a string value. Press Enter for the default ("").
28199              api_key> your-api-key-for-your-tardigrade-project
28200              Encryption Passphrase. To access existing objects enter passphrase used for uploading.
28201              Enter a string value. Press Enter for the default ("").
28202              passphrase> your-human-readable-encryption-passphrase
28203              Remote config
28204              --------------------
28205              [remote]
28206              type = tardigrade
28207              satellite_address = 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us-central-1.tardigrade.io:7777
28208              api_key = your-api-key-for-your-tardigrade-project
28209              passphrase = your-human-readable-encryption-passphrase
28210              access_grant = the-access-grant-generated-from-the-api-key-and-passphrase
28211              --------------------
28212              y) Yes this is OK (default)
28213              e) Edit this remote
28214              d) Delete this remote
28215              y/e/d> y
28216
28217   Usage
28218       Paths  are specified as remote:bucket (or remote: for the lsf command.)
28219       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
28220
28221       Once configured you can then use rclone like this.
28222
28223   Create a new bucket
28224       Use the mkdir command to create new bucket, e.g.  bucket.
28225
28226              rclone mkdir remote:bucket
28227
28228   List all buckets
28229       Use the lsf command to list all buckets.
28230
28231              rclone lsf remote:
28232
28233       Note the colon (:) character at the end of the command line.
28234
28235   Delete a bucket
28236       Use the rmdir command to delete an empty bucket.
28237
28238              rclone rmdir remote:bucket
28239
28240       Use the purge command to delete a non-empty bucket with  all  its  con‐
28241       tent.
28242
28243              rclone purge remote:bucket
28244
28245   Upload objects
28246       Use the copy command to upload an object.
28247
28248              rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
28249
28250       The  --progress flag is for displaying progress information.  Remove it
28251       if you don't need this information.
28252
28253       Use a folder in the local path to upload all its objects.
28254
28255              rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
28256
28257       Only modified files will be copied.
28258
28259   List objects
28260       Use the ls command to list recursively all objects in a bucket.
28261
28262              rclone ls remote:bucket
28263
28264       Add the folder to the remote path to list recursively  all  objects  in
28265       this folder.
28266
28267              rclone ls remote:bucket/path/to/dir/
28268
28269       Use  the lsf command to list non-recursively all objects in a bucket or
28270       a folder.
28271
28272              rclone lsf remote:bucket/path/to/dir/
28273
28274   Download objects
28275       Use the copy command to download an object.
28276
28277              rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
28278
28279       The --progress flag is for displaying progress information.  Remove  it
28280       if you don't need this information.
28281
28282       Use a folder in the remote path to download all its objects.
28283
28284              rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
28285
28286   Delete objects
28287       Use the deletefile command to delete a single object.
28288
28289              rclone deletefile remote:bucket/path/to/dir/file.ext
28290
28291       Use the delete command to delete all object in a folder.
28292
28293              rclone delete remote:bucket/path/to/dir/
28294
28295   Print the total size of objects
28296       Use  the size command to print the total size of objects in a bucket or
28297       a folder.
28298
28299              rclone size remote:bucket/path/to/dir/
28300
28301   Sync two Locations
28302       Use the sync command to sync the source to  the  destination,  changing
28303       the destination only, deleting any excess files.
28304
28305              rclone sync -i --progress /home/local/directory/ remote:bucket/path/to/dir/
28306
28307       The  --progress flag is for displaying progress information.  Remove it
28308       if you don't need this information.
28309
28310       Since this can cause data loss, test first with the --dry-run  flag  to
28311       see exactly what would be copied and deleted.
28312
28313       The sync can be done also from Tardigrade to the local file system.
28314
28315              rclone sync -i --progress remote:bucket/path/to/dir/ /home/local/directory/
28316
28317       Or between two Tardigrade buckets.
28318
28319              rclone sync -i --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
28320
28321       Or even between another cloud storage and Tardigrade.
28322
28323              rclone sync -i --progress s3:bucket/path/to/dir/ tardigrade:bucket/path/to/dir/
28324
28325   Standard Options
28326       Here are the standard options specific to tardigrade (Tardigrade Decen‐
28327       tralized Cloud Storage).
28328
28329   --tardigrade-provider
28330       Choose an authentication method.
28331
28332       • Config: provider
28333
28334       • Env Var: RCLONE_TARDIGRADE_PROVIDER
28335
28336       • Type: string
28337
28338       • Default: "existing"
28339
28340       • Examples:
28341
28342         • "existing"
28343
28344           • Use an existing access grant.
28345
28346         • "new"
28347
28348           • Create a new access grant from satellite address,  API  key,  and
28349             passphrase.
28350
28351   --tardigrade-access-grant
28352       Access Grant.
28353
28354       • Config: access_grant
28355
28356       • Env Var: RCLONE_TARDIGRADE_ACCESS_GRANT
28357
28358       • Type: string
28359
28360       • Default: ""
28361
28362   --tardigrade-satellite-address
28363       Satellite  Address.   Custom satellite address should match the format:
28364       <nodeid>@<address>:<port>.
28365
28366       • Config: satellite_address
28367
28368       • Env Var: RCLONE_TARDIGRADE_SATELLITE_ADDRESS
28369
28370       • Type: string
28371
28372       • Default: "us-central-1.tardigrade.io"
28373
28374       • Examples:
28375
28376         • "us-central-1.tardigrade.io"
28377
28378           • US Central 1
28379
28380         • "europe-west-1.tardigrade.io"
28381
28382           • Europe West 1
28383
28384         • "asia-east-1.tardigrade.io"
28385
28386           • Asia East 1
28387
28388   --tardigrade-api-key
28389       API Key.
28390
28391       • Config: api_key
28392
28393       • Env Var: RCLONE_TARDIGRADE_API_KEY
28394
28395       • Type: string
28396
28397       • Default: ""
28398
28399   --tardigrade-passphrase
28400       Encryption Passphrase.  To access  existing  objects  enter  passphrase
28401       used for uploading.
28402
28403       • Config: passphrase
28404
28405       • Env Var: RCLONE_TARDIGRADE_PASSPHRASE
28406
28407       • Type: string
28408
28409       • Default: ""
28410
28411   Limitations
28412       rclone  about is not supported by the rclone Tardigrade backend.  Back‐
28413       ends without this capability cannot determine free space for an  rclone
28414       mount  or  use  policy  mfs  (most free space) as a member of an rclone
28415       union remote.
28416
28417       See   List   of   backends   that   do   not   support   rclone   about
28418       (https://rclone.org/overview/#optional-features)   See   rclone   about
28419       (https://rclone.org/commands/rclone_about/)
28420
28421   Union
28422       The union remote provides a unification similar to UnionFS using  other
28423       remotes.
28424
28425       Paths may be as deep as required or a local path, e.g.  remote:directo‐
28426       ry/subdirectory or /directory/subdirectory.
28427
28428       During the initial setup with rclone config you will  specify  the  up‐
28429       stream remotes as a space separated list.  The upstream remotes can ei‐
28430       ther be a local paths or other remotes.
28431
28432       Attribute :ro and :nc can be attach to the end of path to tag  the  re‐
28433       mote  as read only or no create, e.g.  remote:directory/subdirectory:ro
28434       or remote:directory/subdirectory:nc.
28435
28436       Subfolders can be used in upstream  remotes.   Assume  a  union  remote
28437       named  backup with the remotes mydrive:private/backup.  Invoking rclone
28438       mkdir backup:desktop is exactly the same as invoking rclone  mkdir  my‐
28439       drive:private/backup/desktop.
28440
28441       There  will  be  no  special handling of paths containing ..  segments.
28442       Invoking rclone mkdir backup:../desktop is exactly the same as invoking
28443       rclone mkdir mydrive:private/backup/../desktop.
28444
28445   Behavior / Policies
28446       The   behavior  of  union  backend  is  inspired  by  trapexit/mergerfs
28447       (https://github.com/trapexit/mergerfs).  All functions are grouped into
28448       3  categories:  action,  create  and search.  These functions and cate‐
28449       gories can be assigned a policy which dictates what file  or  directory
28450       is chosen when performing that behavior.  Any policy can be assigned to
28451       a function or category though some may not be very useful in  practice.
28452       For  instance:  rand  (random) may be useful for file creation (create)
28453       but could lead to very odd behavior if used for delete  if  there  were
28454       more than one copy of the file.
28455
28456   Function / Category classifications
28457       Cate‐    Description       Functions
28458       gory
28459       ─────────────────────────────────────────────────────────────────────────────
28460       action   Writing  Exist‐   move, rmdir, rmdirs, delete, purge and copy, sync
28461                ing file          (as destination when file exist)
28462       create   Create  non-ex‐   copy, sync (as destination when file not exist)
28463                isting file
28464       search   Reading     and   ls, lsd, lsl, cat, md5sum, sha1sum and copy, sync
28465                listing file      (as source)
28466       N/A                        size, about
28467
28468   Path Preservation
28469       Policies,  as described below, are of two basic types.  path preserving
28470       and non-path preserving.
28471
28472       All policies which start with ep (epff, eplfs,  eplus,  epmfs,  eprand)
28473       are path preserving.  ep stands for existing path.
28474
28475       A  path  preserving policy will only consider upstreams where the rela‐
28476       tive path being accessed already exists.
28477
28478       When using non-path preserving policies paths will be created in target
28479       upstreams as necessary.
28480
28481   Quota Relevant Policies
28482       Some policies rely on quota information.  These policies should be used
28483       only if your upstreams support the respective quota fields.
28484
28485       Policy       Required Field
28486       ────────────────────────────
28487       lfs, eplfs   Free
28488       mfs, epmfs   Free
28489       lus, eplus   Used
28490       lno, eplno   Objects
28491
28492       To check if your upstream supports the field, run rclone about  remote:
28493       [flags] and see if the required field exists.
28494
28495   Filters
28496       Policies basically search upstream remotes and create a list of files /
28497       paths for functions to work on.  The policy is responsible for  filter‐
28498       ing  and sorting.  The policy type defines the sorting but filtering is
28499       mostly uniform as described below.
28500
28501       • No search policies filter.
28502
28503       • All action policies will filter  out  remotes  which  are  tagged  as
28504         read-only.
28505
28506       • All create policies will filter out remotes which are tagged read-on‐
28507         ly or no-create.
28508
28509       If all remotes are filtered an error will be returned.
28510
28511   Policy descriptions
28512       The   policies   definition   are   inspired    by    trapexit/mergerfs
28513       (https://github.com/trapexit/mergerfs)  but not exactly the same.  Some
28514       policy definition could be different due to the much larger latency  of
28515       remote file systems.
28516
28517       Policy             Description
28518       ──────────────────────────────────────────────────────────────────────────
28519       all                Search category: same as epall.  Action category: same
28520                          as epall.  Create category: act on all upstreams.
28521       epall  (existing   Search  category:  Given this order configured, act on
28522       path, all)         the first one found where the  relative  path  exists.
28523                          Action category: apply to all found.  Create category:
28524                          act on all upstreams where the relative path exists.
28525       epff   (existing   Act on the first one found, by the time upstreams  re‐
28526       path,      first   ply, where the relative path exists.
28527       found)
28528       eplfs  (existing   Of all the upstreams on which the relative path exists
28529       path, least free   choose the one with the least free space.
28530       space)
28531       eplus  (existing   Of all the upstreams on which the relative path exists
28532       path, least used   choose the one with the least used space.
28533       space)
28534       eplno  (existing   Of all the upstreams on which the relative path exists
28535       path, least num‐   choose the one with the least number of objects.
28536       ber of objects)
28537       epmfs  (existing   Of all the upstreams on which the relative path exists
28538       path,  most free   choose the one with the most free space.
28539       space)
28540       eprand (existing   Calls epall and then randomizes.  Returns only one up‐
28541       path, random)      stream.
28542       ff (first found)   Search  category: same as epff.  Action category: same
28543                          as epff.  Create category: Act on the first one  found
28544                          by the time upstreams reply.
28545       lfs  (least free   Search category: same as eplfs.  Action category: same
28546       space)             as eplfs.  Create category: Pick the upstream with the
28547                          least available free space.
28548       lus (least  used   Search category: same as eplus.  Action category: same
28549       space)             as eplus.  Create category: Pick the upstream with the
28550                          least used space.
28551       lno  (least num‐   Search category: same as eplno.  Action category: same
28552       ber of objects)    as eplno.  Create category: Pick the upstream with the
28553                          least number of objects.
28554       mfs  (most  free   Search category: same as epmfs.  Action category: same
28555       space)             as epmfs.  Create category: Pick the upstream with the
28556                          most available free space.
28557       newest             Pick the file / directory with the largest mtime.
28558       rand (random)      Calls  all  and then randomizes.  Returns only one up‐
28559                          stream.
28560
28561   Setup
28562       Here is an example of how to make a union called remote for local fold‐
28563       ers.  First run:
28564
28565               rclone config
28566
28567       This will guide you through an interactive setup process:
28568
28569              No remotes found - make a new one
28570              n) New remote
28571              s) Set configuration password
28572              q) Quit config
28573              n/s/q> n
28574              name> remote
28575              Type of storage to configure.
28576              Choose a number from below, or type in your own value
28577              [snip]
28578              XX / Union merges the contents of several remotes
28579                 \ "union"
28580              [snip]
28581              Storage> union
28582              List of space separated upstreams.
28583              Can be 'upstreama:test/dir upstreamb:', '\"upstreama:test/space:ro dir\" upstreamb:', etc.
28584              Enter a string value. Press Enter for the default ("").
28585              upstreams> remote1:dir1 remote2:dir2 remote3:dir3
28586              Policy to choose upstream on ACTION class.
28587              Enter a string value. Press Enter for the default ("epall").
28588              action_policy>
28589              Policy to choose upstream on CREATE class.
28590              Enter a string value. Press Enter for the default ("epmfs").
28591              create_policy>
28592              Policy to choose upstream on SEARCH class.
28593              Enter a string value. Press Enter for the default ("ff").
28594              search_policy>
28595              Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used.
28596              Enter a signed integer. Press Enter for the default ("120").
28597              cache_time>
28598              Remote config
28599              --------------------
28600              [remote]
28601              type = union
28602              upstreams = remote1:dir1 remote2:dir2 remote3:dir3
28603              --------------------
28604              y) Yes this is OK
28605              e) Edit this remote
28606              d) Delete this remote
28607              y/e/d> y
28608              Current remotes:
28609
28610              Name                 Type
28611              ====                 ====
28612              remote               union
28613
28614              e) Edit existing remote
28615              n) New remote
28616              d) Delete remote
28617              r) Rename remote
28618              c) Copy remote
28619              s) Set configuration password
28620              q) Quit config
28621              e/n/d/r/c/s/q> q
28622
28623       Once configured you can then use rclone like this,
28624
28625       List  directories  in  top  level in remote1:dir1, remote2:dir2 and re‐
28626       mote3:dir3
28627
28628              rclone lsd remote:
28629
28630       List all the files in remote1:dir1, remote2:dir2 and remote3:dir3
28631
28632              rclone ls remote:
28633
28634       Copy another local directory to  the  union  directory  called  source,
28635       which will be placed into remote3:dir3
28636
28637              rclone copy C:\source remote:source
28638
28639   Standard Options
28640       Here  are the standard options specific to union (Union merges the con‐
28641       tents of several upstream fs).
28642
28643   --union-upstreams
28644       List of space separated  upstreams.   Can  be  'upstreama:test/dir  up‐
28645       streamb:', '"upstreama:test/space:ro dir" upstreamb:', etc.
28646
28647       • Config: upstreams
28648
28649       • Env Var: RCLONE_UNION_UPSTREAMS
28650
28651       • Type: string
28652
28653       • Default: ""
28654
28655   --union-action-policy
28656       Policy to choose upstream on ACTION category.
28657
28658       • Config: action_policy
28659
28660       • Env Var: RCLONE_UNION_ACTION_POLICY
28661
28662       • Type: string
28663
28664       • Default: "epall"
28665
28666   --union-create-policy
28667       Policy to choose upstream on CREATE category.
28668
28669       • Config: create_policy
28670
28671       • Env Var: RCLONE_UNION_CREATE_POLICY
28672
28673       • Type: string
28674
28675       • Default: "epmfs"
28676
28677   --union-search-policy
28678       Policy to choose upstream on SEARCH category.
28679
28680       • Config: search_policy
28681
28682       • Env Var: RCLONE_UNION_SEARCH_POLICY
28683
28684       • Type: string
28685
28686       • Default: "ff"
28687
28688   --union-cache-time
28689       Cache  time  of usage and free space (in seconds).  This option is only
28690       useful when a path preserving policy is used.
28691
28692       • Config: cache_time
28693
28694       • Env Var: RCLONE_UNION_CACHE_TIME
28695
28696       • Type: int
28697
28698       • Default: 120
28699
28700   WebDAV
28701       Paths are specified as remote:path
28702
28703       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
28704
28705       To configure the WebDAV remote you will need to have a URL for it,  and
28706       a  username and password.  If you know what kind of system you are con‐
28707       necting to then rclone can enable extra features.
28708
28709       Here is an example of how to make a remote called remote.  First run:
28710
28711               rclone config
28712
28713       This will guide you through an interactive setup process:
28714
28715              No remotes found - make a new one
28716              n) New remote
28717              s) Set configuration password
28718              q) Quit config
28719              n/s/q> n
28720              name> remote
28721              Type of storage to configure.
28722              Choose a number from below, or type in your own value
28723              [snip]
28724              XX / Webdav
28725                 \ "webdav"
28726              [snip]
28727              Storage> webdav
28728              URL of http host to connect to
28729              Choose a number from below, or type in your own value
28730               1 / Connect to example.com
28731                 \ "https://example.com"
28732              url> https://example.com/remote.php/webdav/
28733              Name of the Webdav site/service/software you are using
28734              Choose a number from below, or type in your own value
28735               1 / Nextcloud
28736                 \ "nextcloud"
28737               2 / Owncloud
28738                 \ "owncloud"
28739               3 / Sharepoint Online, authenticated by Microsoft account.
28740                 \ "sharepoint"
28741               4 / Sharepoint with NTLM authentication. Usually self-hosted or on-premises.
28742                 \ "sharepoint-ntlm"
28743               5 / Other site/service or software
28744                 \ "other"
28745              vendor> 1
28746              User name
28747              user> user
28748              Password.
28749              y) Yes type in my own password
28750              g) Generate random password
28751              n) No leave this optional password blank
28752              y/g/n> y
28753              Enter the password:
28754              password:
28755              Confirm the password:
28756              password:
28757              Bearer token instead of user/pass (e.g. a Macaroon)
28758              bearer_token>
28759              Remote config
28760              --------------------
28761              [remote]
28762              type = webdav
28763              url = https://example.com/remote.php/webdav/
28764              vendor = nextcloud
28765              user = user
28766              pass = *** ENCRYPTED ***
28767              bearer_token =
28768              --------------------
28769              y) Yes this is OK
28770              e) Edit this remote
28771              d) Delete this remote
28772              y/e/d> y
28773
28774       Once configured you can then use rclone like this,
28775
28776       List directories in top level of your WebDAV
28777
28778              rclone lsd remote:
28779
28780       List all the files in your WebDAV
28781
28782              rclone ls remote:
28783
28784       To copy a local directory to an WebDAV directory called backup
28785
28786              rclone copy /home/source remote:backup
28787
28788   Modified time and hashes
28789       Plain WebDAV does not support modified times.  However when  used  with
28790       Owncloud or Nextcloud rclone will support modified times.
28791
28792       Likewise  plain  WebDAV does not support hashes, however when used with
28793       Owncloud or Nextcloud rclone will support SHA1 and MD5 hashes.  Depend‐
28794       ing  on the exact version of Owncloud or Nextcloud hashes may appear on
28795       all objects, or only on objects which had a hash uploaded with them.
28796
28797   Standard Options
28798       Here are the standard options specific to webdav (Webdav).
28799
28800   --webdav-url
28801       URL of http host to connect to
28802
28803       • Config: url
28804
28805       • Env Var: RCLONE_WEBDAV_URL
28806
28807       • Type: string
28808
28809       • Default: ""
28810
28811       • Examples:
28812
28813         • "https://example.com"
28814
28815           • Connect to example.com
28816
28817   --webdav-vendor
28818       Name of the Webdav site/service/software you are using
28819
28820       • Config: vendor
28821
28822       • Env Var: RCLONE_WEBDAV_VENDOR
28823
28824       • Type: string
28825
28826       • Default: ""
28827
28828       • Examples:
28829
28830         • "nextcloud"
28831
28832           • Nextcloud
28833
28834         • "owncloud"
28835
28836           • Owncloud
28837
28838         • "sharepoint"
28839
28840           • Sharepoint Online, authenticated by Microsoft account.
28841
28842         • "sharepoint-ntlm"
28843
28844           • Sharepoint with  NTLM  authentication.   Usually  self-hosted  or
28845             on-premises.
28846
28847         • "other"
28848
28849           • Other site/service or software
28850
28851   --webdav-user
28852       User name.  In case NTLM authentication is used, the username should be
28853       in the format 'Domain'.
28854
28855       • Config: user
28856
28857       • Env Var: RCLONE_WEBDAV_USER
28858
28859       • Type: string
28860
28861       • Default: ""
28862
28863   --webdav-pass
28864       Password.
28865
28866       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
28867       (https://rclone.org/commands/rclone_obscure/).
28868
28869       • Config: pass
28870
28871       • Env Var: RCLONE_WEBDAV_PASS
28872
28873       • Type: string
28874
28875       • Default: ""
28876
28877   --webdav-bearer-token
28878       Bearer token instead of user/pass (e.g.  a Macaroon)
28879
28880       • Config: bearer_token
28881
28882       • Env Var: RCLONE_WEBDAV_BEARER_TOKEN
28883
28884       • Type: string
28885
28886       • Default: ""
28887
28888   Advanced Options
28889       Here are the advanced options specific to webdav (Webdav).
28890
28891   --webdav-bearer-token-command
28892       Command to run to get a bearer token
28893
28894       • Config: bearer_token_command
28895
28896       • Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND
28897
28898       • Type: string
28899
28900       • Default: ""
28901
28902   --webdav-encoding
28903       This sets the encoding for the backend.
28904
28905       See:  the  encoding  section  in the overview (https://rclone.org/over
28906       view/#encoding) for more info.
28907
28908       Default   encoding   is    Slash,LtGt,DoubleQuote,Colon,Question,Aster‐
28909       isk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,Left‐
28910       Tilde,RightSpace,RightPeriod,InvalidUtf8 for sharepoint-ntlm or identi‐
28911       ty otherwise.
28912
28913       • Config: encoding
28914
28915       • Env Var: RCLONE_WEBDAV_ENCODING
28916
28917       • Type: string
28918
28919       • Default: ""
28920
28921   Provider notes
28922       See below for notes on specific providers.
28923
28924   Owncloud
28925       Click on the settings cog in the bottom right of the page and this will
28926       show the WebDAV URL that rclone needs in the config step.  It will look
28927       something like https://example.com/remote.php/webdav/.
28928
28929       Owncloud supports modified times using the X-OC-Mtime header.
28930
28931   Nextcloud
28932       This  is  configured  in  an  identical  way  to  Owncloud.   Note that
28933       Nextcloud initially did not support streaming of files  (rcat)  whereas
28934       Owncloud did, but this (https://github.com/nextcloud/nextcloud-snap/is
28935       sues/365) seems to be  fixed  as  of  2020-11-27  (tested  with  rclone
28936       v1.53.1 and Nextcloud Server v19).
28937
28938   Sharepoint Online
28939       Rclone can be used with Sharepoint provided by OneDrive for Business or
28940       Office365 Education Accounts.  This feature is only needed for a few of
28941       these  Accounts,  mostly  Office365 Education ones.  These accounts are
28942       sometimes   not   verified   by   the    domain    owner    github#1975
28943       (https://github.com/rclone/rclone/issues/1975)
28944
28945       This  means  that  these accounts can't be added using the official API
28946       (other Accounts should work with the "onedrive" option).   However,  it
28947       is possible to access them using webdav.
28948
28949       To  use  a  sharepoint remote with rclone, add it like this: First, you
28950       need to get your remote's URL:
28951
28952       • Go here (https://onedrive.live.com/about/en-us/signin/) to open  your
28953         OneDrive or to sign in
28954
28955       • Now  take  a look at your address bar, the URL should look like this:
28956         https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_lay‐
28957         outs/15/onedrive.aspx
28958
28959       You'll  only need this URL up to the email address.  After that, you'll
28960       most likely want to add "/Documents".  That subdirectory  contains  the
28961       actual data stored on your OneDrive.
28962
28963       Add   the   remote   to   rclone   like  this:  Configure  the  url  as
28964       https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
28965       and  use  your normal account email and password for user and pass.  If
28966       you have 2FA enabled, you have to generate an app  password.   Set  the
28967       vendor to sharepoint.
28968
28969       Your config file should look like this:
28970
28971              [sharepoint]
28972              type = webdav
28973              url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
28974              vendor = sharepoint
28975              user = YourEmailAddress
28976              pass = encryptedpassword
28977
28978   Sharepoint with NTLM Authentication
28979       Use  this  option  in  case  your  (hosted)  Sharepoint  is not tied to
28980       OneDrive accounts and uses NTLM authentication.
28981
28982       To get the url configuration, similarly to the above, first navigate to
28983       the desired directory in your browser to get the URL, then strip every‐
28984       thing after the name of the opened directory.
28985
28986       Example: If the URL is: https://example.sharepoint.com/sites/12345/Doc
28987       uments/Forms/AllItems.aspx
28988
28989       The    configuration    to   use   would   be:   https://example.share
28990       point.com/sites/12345/Documents
28991
28992       Set the vendor to sharepoint-ntlm.
28993
28994       NTLM uses domain and user name combination for authentication, set user
28995       to DOMAIN\username.
28996
28997       Your config file should look like this:
28998
28999              [sharepoint]
29000              type = webdav
29001              url = https://[YOUR-DOMAIN]/some-path-to/Documents
29002              vendor = sharepoint-ntlm
29003              user = DOMAIN\user
29004              pass = encryptedpassword
29005
29006   Required Flags for SharePoint
29007       As  SharePoint  does  some  special things with uploaded documents, you
29008       won't be able to use the documents size or the documents hash  to  com‐
29009       pare if a file has been changed since the upload / which file is newer.
29010
29011       For  Rclone calls copying files (especially Office files such as .docx,
29012       .xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should ap‐
29013       pend  these  flags  to  ensure Rclone uses the "Last Modified" datetime
29014       property to compare your documents:
29015
29016              --ignore-size --ignore-checksum --update
29017
29018   dCache
29019       dCache is a storage system that supports many protocols and authentica‐
29020       tion/authorisation schemes.  For WebDAV clients, it allows users to au‐
29021       thenticate with username and password  (BASIC),  X.509,  Kerberos,  and
29022       various bearer tokens, including Macaroons (https://www.dcache.org/man
29023       uals/workshop-2017-05-29-Umea/000-Final/anupam_macaroons_v02.pdf)   and
29024       OpenID-Connect   (https://en.wikipedia.org/wiki/OpenID_Connect)  access
29025       tokens.
29026
29027       Configure as normal using the other type.  Don't enter  a  username  or
29028       password, instead enter your Macaroon as the bearer_token.
29029
29030       The config will end up looking something like this.
29031
29032              [dcache]
29033              type = webdav
29034              url = https://dcache...
29035              vendor = other
29036              user =
29037              pass =
29038              bearer_token = your-macaroon
29039
29040       There  is  a  script  (https://github.com/sara-nl/GridScripts/blob/mas
29041       ter/get-macaroon) that obtains a Macaroon from  a  dCache  WebDAV  end‐
29042       point, and creates an rclone config file.
29043
29044       Macaroons  may  also  be obtained from the dCacheView web-browser/Java‐
29045       Script client that comes with dCache.
29046
29047   OpenID-Connect
29048       dCache also supports authenticating with OpenID-Connect access  tokens.
29049       OpenID-Connect  is a protocol (based on OAuth 2.0) that allows services
29050       to identify users who have authenticated with some central service.
29051
29052       Support for OpenID-Connect in rclone is currently achieved using anoth‐
29053       er   software  package  called  oidc-agent  (https://github.com/indigo-
29054       dc/oidc-agent).  This is a command-line tool that facilitates obtaining
29055       an access token.  Once installed and configured, an access token is ob‐
29056       tained by running the oidc-token command.  The following example  shows
29057       a (shortened) access token obtained from the XDC OIDC Provider.
29058
29059              paul@celebrimbor:~$ oidc-token XDC
29060              eyJraWQ[...]QFXDt0
29061              paul@celebrimbor:~$
29062
29063       Note Before the oidc-token command will work, the refresh token must be
29064       loaded into the oidc agent.  This is done  with  the  oidc-add  command
29065       (e.g.,  oidc-add  XDC).  This is typically done once per login session.
29066       Full details on this and how to  register  oidc-agent  with  your  OIDC
29067       Provider  are provided in the oidc-agent documentation (https://indigo-
29068       dc.gitbooks.io/oidc-agent/).
29069
29070       The rclone bearer_token_command configuration option is used  to  fetch
29071       the access token from oidc-agent.
29072
29073       Configure  as a normal WebDAV endpoint, using the 'other' vendor, leav‐
29074       ing the username and password empty.  When prompted, choose to edit the
29075       advanced  config  and  enter  the  command to get a bearer token (e.g.,
29076       oidc-agent XDC).
29077
29078       The  following  example  config  shows  a  WebDAV  endpoint  that  uses
29079       oidc-agent to supply an access token from the XDC OIDC Provider.
29080
29081              [dcache]
29082              type = webdav
29083              url = https://dcache.example.org/
29084              vendor = other
29085              bearer_token_command = oidc-token XDC
29086
29087   Yandex Disk
29088       Yandex  Disk (https://disk.yandex.com) is a cloud storage solution cre‐
29089       ated by Yandex (https://yandex.com).
29090
29091       Here is an example of making a yandex configuration.  First run
29092
29093              rclone config
29094
29095       This will guide you through an interactive setup process:
29096
29097              No remotes found - make a new one
29098              n) New remote
29099              s) Set configuration password
29100              n/s> n
29101              name> remote
29102              Type of storage to configure.
29103              Choose a number from below, or type in your own value
29104              [snip]
29105              XX / Yandex Disk
29106                 \ "yandex"
29107              [snip]
29108              Storage> yandex
29109              Yandex Client Id - leave blank normally.
29110              client_id>
29111              Yandex Client Secret - leave blank normally.
29112              client_secret>
29113              Remote config
29114              Use auto config?
29115               * Say Y if not sure
29116               * Say N if you are working on a remote or headless machine
29117              y) Yes
29118              n) No
29119              y/n> y
29120              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
29121              Log in and authorize rclone for access
29122              Waiting for code...
29123              Got code
29124              --------------------
29125              [remote]
29126              client_id =
29127              client_secret =
29128              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","expiry":"2016-12-29T12:27:11.362788025Z"}
29129              --------------------
29130              y) Yes this is OK
29131              e) Edit this remote
29132              d) Delete this remote
29133              y/e/d> y
29134
29135       See the remote setup docs (https://rclone.org/remote_setup/) for how to
29136       set it up on a machine with no Internet browser available.
29137
29138       Note  that rclone runs a webserver on your local machine to collect the
29139       token as returned from Yandex Disk.  This only runs from the moment  it
29140       opens  your  browser  to the moment you get back the verification code.
29141       This is on http://127.0.0.1:53682/ and this it may require you  to  un‐
29142       block it temporarily if you are running a host firewall.
29143
29144       Once configured you can then use rclone like this,
29145
29146       See top level directories
29147
29148              rclone lsd remote:
29149
29150       Make a new directory
29151
29152              rclone mkdir remote:directory
29153
29154       List the contents of a directory
29155
29156              rclone ls remote:directory
29157
29158       Sync  /home/local/directory  to  the  remote  path, deleting any excess
29159       files in the path.
29160
29161              rclone sync -i /home/local/directory remote:directory
29162
29163       Yandex paths may be as deep as required, e.g.   remote:directory/subdi‐
29164       rectory.
29165
29166   Modified time
29167       Modified  times are supported and are stored accurate to 1 ns in custom
29168       metadata called rclone_modified in RFC3339 with nanoseconds format.
29169
29170   MD5 checksums
29171       MD5 checksums are natively supported by Yandex Disk.
29172
29173   Emptying Trash
29174       If you wish to empty your trash you can use the rclone cleanup  remote:
29175       command  which  will  permanently  delete all your trashed files.  This
29176       command does not take any path arguments.
29177
29178   Quota information
29179       To view your current quota you can use the rclone about remote: command
29180       which will display your usage limit (quota) and the current usage.
29181
29182   Restricted filename characters
29183       The default restricted characters set (https://rclone.org/overview/#re‐
29184       stricted-characters) are replaced.
29185
29186       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
29187       view/#invalid-utf8), as they can't be used in JSON strings.
29188
29189   Limitations
29190       When  uploading  very large files (bigger than about 5GB) you will need
29191       to increase the --timeout parameter.  This  is  because  Yandex  pauses
29192       (perhaps  to calculate the MD5SUM for the entire file) before returning
29193       confirmation that the file has been uploaded.  The default handling  of
29194       timeouts  in rclone is to assume a 5 minute pause is an error and close
29195       the connection - you'll see net/http: timeout awaiting response headers
29196       errors  in the logs if this is happening.  Setting the timeout to twice
29197       the max size of file in GB should be enough, so if you want to upload a
29198       30GB file set a timeout of 2 * 30 = 60m, that is --timeout 60m.
29199
29200   Standard Options
29201       Here are the standard options specific to yandex (Yandex Disk).
29202
29203   --yandex-client-id
29204       OAuth Client Id Leave blank normally.
29205
29206       • Config: client_id
29207
29208       • Env Var: RCLONE_YANDEX_CLIENT_ID
29209
29210       • Type: string
29211
29212       • Default: ""
29213
29214   --yandex-client-secret
29215       OAuth Client Secret Leave blank normally.
29216
29217       • Config: client_secret
29218
29219       • Env Var: RCLONE_YANDEX_CLIENT_SECRET
29220
29221       • Type: string
29222
29223       • Default: ""
29224
29225   Advanced Options
29226       Here are the advanced options specific to yandex (Yandex Disk).
29227
29228   --yandex-token
29229       OAuth Access Token as a JSON blob.
29230
29231       • Config: token
29232
29233       • Env Var: RCLONE_YANDEX_TOKEN
29234
29235       • Type: string
29236
29237       • Default: ""
29238
29239   --yandex-auth-url
29240       Auth server URL.  Leave blank to use the provider defaults.
29241
29242       • Config: auth_url
29243
29244       • Env Var: RCLONE_YANDEX_AUTH_URL
29245
29246       • Type: string
29247
29248       • Default: ""
29249
29250   --yandex-token-url
29251       Token server url.  Leave blank to use the provider defaults.
29252
29253       • Config: token_url
29254
29255       • Env Var: RCLONE_YANDEX_TOKEN_URL
29256
29257       • Type: string
29258
29259       • Default: ""
29260
29261   --yandex-encoding
29262       This sets the encoding for the backend.
29263
29264       See:  the  encoding  section  in the overview (https://rclone.org/over
29265       view/#encoding) for more info.
29266
29267       • Config: encoding
29268
29269       • Env Var: RCLONE_YANDEX_ENCODING
29270
29271       • Type: MultiEncoder
29272
29273       • Default: Slash,Del,Ctl,InvalidUtf8,Dot
29274
29275   Zoho Workdrive
29276       Zoho WorkDrive (https://www.zoho.com/workdrive/) is a cloud storage so‐
29277       lution created by Zoho (https://zoho.com).
29278
29279       Here is an example of making a zoho configuration.  First run
29280
29281              rclone config
29282
29283       This will guide you through an interactive setup process:
29284
29285              No remotes found - make a new one
29286              n) New remote
29287              s) Set configuration password
29288              n/s> n
29289              name> remote
29290              Type of storage to configure.
29291              Enter a string value. Press Enter for the default ("").
29292              Choose a number from below, or type in your own value
29293              [snip]
29294              XX / Zoho
29295                 \ "zoho"
29296              [snip]
29297              Storage> zoho
29298              ** See help for zoho backend at: https://rclone.org/zoho/ **
29299
29300              OAuth Client Id
29301              Leave blank normally.
29302              Enter a string value. Press Enter for the default ("").
29303              client_id>
29304              OAuth Client Secret
29305              Leave blank normally.
29306              Enter a string value. Press Enter for the default ("").
29307              client_secret>
29308              Edit advanced config? (y/n)
29309              y) Yes
29310              n) No (default)
29311              y/n> n
29312              Remote config
29313              Use auto config?
29314               * Say Y if not sure
29315               * Say N if you are working on a remote or headless machine
29316              y) Yes (default)
29317              n) No
29318              y/n>
29319              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ
29320              Log in and authorize rclone for access
29321              Waiting for code...
29322              Got code
29323              Choose a number from below, or type in your own value
29324               1 / MyTeam
29325                 \ "4u28602177065ff22426787a6745dba8954eb"
29326              Enter a Team ID> 1
29327              Choose a number from below, or type in your own value
29328               1 / General
29329                 \ "4u2869d2aa6fca04f4f2f896b6539243b85b1"
29330              Enter a Workspace ID> 1
29331              --------------------
29332              [remote]
29333              type = zoho
29334              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Zoho-oauthtoken","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expiry":"2020-10-12T00:54:52.370275223+02:00"}
29335              root_folder_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
29336              --------------------
29337              y) Yes this is OK (default)
29338              e) Edit this remote
29339              d) Delete this remote
29340              y/e/d>
29341
29342       See the remote setup docs (https://rclone.org/remote_setup/) for how to
29343       set it up on a machine with no Internet browser available.
29344
29345       Rclone runs a webserver on your local computer to  collect  the  autho‐
29346       rization  token from Zoho Workdrive.  This is only from the moment your
29347       browser is opened until the token is returned.  The webserver  runs  on
29348       http://127.0.0.1:53682/.   If  local port 53682 is protected by a fire‐
29349       wall you may need to temporarily unblock the firewall to  complete  au‐
29350       thorization.
29351
29352       Once configured you can then use rclone like this,
29353
29354       See top level directories
29355
29356              rclone lsd remote:
29357
29358       Make a new directory
29359
29360              rclone mkdir remote:directory
29361
29362       List the contents of a directory
29363
29364              rclone ls remote:directory
29365
29366       Sync  /home/local/directory  to  the  remote  path, deleting any excess
29367       files in the path.
29368
29369              rclone sync -i /home/local/directory remote:directory
29370
29371       Zoho paths may be as deep as required, eg  remote:directory/subdirecto‐
29372       ry.
29373
29374   Modified time
29375       Modified times are currently not supported for Zoho Workdrive
29376
29377   Checksums
29378       No checksums are supported.
29379
29380   Usage information
29381       To view your current quota you can use the rclone about remote: command
29382       which will display your current usage.
29383
29384   Restricted filename characters
29385       Only control characters and invalid UTF-8 are  replaced.   In  addition
29386       most Unicode full-width characters are not supported at all and will be
29387       removed from filenames during upload.
29388
29389   Standard Options
29390       Here are the standard options specific to zoho (Zoho).
29391
29392   --zoho-client-id
29393       OAuth Client Id Leave blank normally.
29394
29395       • Config: client_id
29396
29397       • Env Var: RCLONE_ZOHO_CLIENT_ID
29398
29399       • Type: string
29400
29401       • Default: ""
29402
29403   --zoho-client-secret
29404       OAuth Client Secret Leave blank normally.
29405
29406       • Config: client_secret
29407
29408       • Env Var: RCLONE_ZOHO_CLIENT_SECRET
29409
29410       • Type: string
29411
29412       • Default: ""
29413
29414   --zoho-region
29415       Zoho region to connect to.  You'll have to use the region you organiza‐
29416       tion is registered in.
29417
29418       • Config: region
29419
29420       • Env Var: RCLONE_ZOHO_REGION
29421
29422       • Type: string
29423
29424       • Default: ""
29425
29426       • Examples:
29427
29428         • "com"
29429
29430           • United states / Global
29431
29432         • "eu"
29433
29434           • Europe
29435
29436         • "in"
29437
29438           • India
29439
29440         • "com.au"
29441
29442           • Australia
29443
29444   Advanced Options
29445       Here are the advanced options specific to zoho (Zoho).
29446
29447   --zoho-token
29448       OAuth Access Token as a JSON blob.
29449
29450       • Config: token
29451
29452       • Env Var: RCLONE_ZOHO_TOKEN
29453
29454       • Type: string
29455
29456       • Default: ""
29457
29458   --zoho-auth-url
29459       Auth server URL.  Leave blank to use the provider defaults.
29460
29461       • Config: auth_url
29462
29463       • Env Var: RCLONE_ZOHO_AUTH_URL
29464
29465       • Type: string
29466
29467       • Default: ""
29468
29469   --zoho-token-url
29470       Token server url.  Leave blank to use the provider defaults.
29471
29472       • Config: token_url
29473
29474       • Env Var: RCLONE_ZOHO_TOKEN_URL
29475
29476       • Type: string
29477
29478       • Default: ""
29479
29480   --zoho-encoding
29481       This sets the encoding for the backend.
29482
29483       See:  the  encoding  section  in the overview (https://rclone.org/over
29484       view/#encoding) for more info.
29485
29486       • Config: encoding
29487
29488       • Env Var: RCLONE_ZOHO_ENCODING
29489
29490       • Type: MultiEncoder
29491
29492       • Default: Del,Ctl,InvalidUtf8
29493
29494   Local Filesystem
29495       Local  paths  are  specified   as   normal   filesystem   paths,   e.g.
29496       /path/to/wherever, so
29497
29498              rclone sync -i /home/source /tmp/destination
29499
29500       Will sync /home/source to /tmp/destination.
29501
29502       For consistencies sake one can also configure a remote of type local in
29503       the config file, and access the local filesystem  using  rclone  remote
29504       paths, e.g.  remote:path/to/wherever, but it is probably easier not to.
29505
29506   Modified time
29507       Rclone  reads and writes the modified time using an accuracy determined
29508       by the OS.  Typically this is 1ns on Linux, 10 ns on Windows and 1 Sec‐
29509       ond on OS X.
29510
29511   Filenames
29512       Filenames  should be encoded in UTF-8 on disk.  This is the normal case
29513       for Windows and OS X.
29514
29515       There is a bit more uncertainty in the Linux world, but  new  distribu‐
29516       tions  will  have  UTF-8  encoded files names.  If you are using an old
29517       Linux filesystem with non UTF-8 file names (e.g.  latin1) then you  can
29518       use  the  convmv tool to convert the filesystem to UTF-8.  This tool is
29519       available in most distributions' package managers.
29520
29521       If an invalid (non-UTF8) filename is read, the invalid characters  will
29522       be  replaced  with  a  quoted representation of the invalid bytes.  The
29523       name gro\xdf will be transferred as gro‛DF.  rclone will emit  a  debug
29524       message in this case (use -v to see), e.g.
29525
29526              Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf"
29527
29528   Restricted characters
29529       On  non  Windows  platforms  the following characters are replaced when
29530       handling file names.
29531
29532       Character   Value   Replacement
29533       ────────────────────────────────
29534       NUL         0x00         ␀
29535       /           0x2F        /
29536
29537       When running on Windows the following characters  are  replaced.   This
29538       list  is based on the Windows file naming conventions (https://docs.mi
29539       crosoft.com/de-de/windows/desktop/FileIO/naming-a-file#naming-conven‐
29540       tions).
29541
29542       Character   Value   Replacement
29543       ────────────────────────────────
29544       NUL         0x00         ␀
29545       SOH         0x01         ␁
29546       STX         0x02         ␂
29547       ETX         0x03         ␃
29548       EOT         0x04         ␄
29549       ENQ         0x05         ␅
29550       ACK         0x06         ␆
29551       BEL         0x07         ␇
29552       BS          0x08         ␈
29553       HT          0x09         ␉
29554       LF          0x0A         ␊
29555       VT          0x0B         ␋
29556       FF          0x0C         ␌
29557       CR          0x0D         ␍
29558       SO          0x0E         ␎
29559       SI          0x0F         ␏
29560       DLE         0x10         ␐
29561       DC1         0x11         ␑
29562       DC2         0x12         ␒
29563       DC3         0x13         ␓
29564       DC4         0x14         ␔
29565       NAK         0x15         ␕
29566       SYN         0x16         ␖
29567       ETB         0x17         ␗
29568       CAN         0x18         ␘
29569       EM          0x19         ␙
29570       SUB         0x1A         ␚
29571       ESC         0x1B         ␛
29572       FS          0x1C         ␜
29573       GS          0x1D         ␝
29574       RS          0x1E         ␞
29575       US          0x1F         ␟
29576       /           0x2F        /
29577       "           0x22        "
29578       *           0x2A        *
29579       :           0x3A        :
29580       <           0x3C        <
29581       >           0x3E        >
29582       ?           0x3F        ?
29583       \           0x5C        \
29584       |           0x7C        |
29585
29586       File  names  on Windows can also not end with the following characters.
29587       These only get replaced if they are the last character in the name:
29588
29589       Character   Value   Replacement
29590       ────────────────────────────────
29591       SP          0x20         ␠
29592       .           0x2E        .
29593
29594       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
29595       view/#invalid-utf8), as they can't be converted to UTF-16.
29596
29597   Paths on Windows
29598       On  Windows  there  are many ways of specifying a path to a file system
29599       resource.  Both absolute paths like C:\path\to\wherever,  and  relative
29600       paths  like ..\wherever can be used, and path separator can be either \
29601       (as in C:\path\to\wherever) or / (as in  C:/path/to/wherever).   Length
29602       of  these paths are limited to 259 characters for files and 247 charac‐
29603       ters for directories, but there is an alternative extended-length  path
29604       format increasing the limit to (approximately) 32,767 characters.  This
29605       format requires absolute  paths  and  the  use  of  prefix  \\?\,  e.g.
29606       \\?\D:\some\very\long\path.   For convenience rclone will automatically
29607       convert regular paths into the corresponding extended-length paths,  so
29608       in most cases you do not have to worry about this (read more below).
29609
29610       Note  that  Windows supports using the same prefix \\?\ to specify path
29611       to   volumes    identified    by    their    GUID,    e.g.     \\?\Vol‐
29612       ume{b75e2c83-0000-0000-0000-602f00000000}\some\path.   This is not sup‐
29613       ported in rclone, due  to  an  issue  (https://github.com/golang/go/is
29614       sues/39785) in go.
29615
29616   Long paths
29617       Rclone handles long paths automatically, by converting all paths to ex‐
29618       tended-length   path   format    (https://docs.microsoft.com/en-us/win
29619       dows/win32/fileio/maximum-file-path-limitation),  which allows paths up
29620       to 32,767 characters.
29621
29622       This conversion will ensure paths are absolute and prefix them with the
29623       \\?\.   This  is why you will see that your paths, for instance .\files
29624       is shown as path \\?\C:\files in  the  output,  and  \\server\share  as
29625       \\?\UNC\server\share.
29626
29627       However,  in  rare cases this may cause problems with buggy file system
29628       drivers like EncFS  (https://github.com/rclone/rclone/issues/261).   To
29629       disable UNC conversion globally, add this to your .rclone.conf file:
29630
29631              [local]
29632              nounc = true
29633
29634       If  you  want  to selectively disable UNC, you can add it to a separate
29635       entry like this:
29636
29637              [nounc]
29638              type = local
29639              nounc = true
29640
29641       And use rclone like this:
29642
29643       rclone copy c:\src nounc:z:\dst
29644
29645       This will use UNC paths on c:\src but not on z:\dst.   Of  course  this
29646       will  cause  problems if the absolute path length of a file exceeds 259
29647       characters on z, so only use this option if you have to.
29648
29649   Symlinks / Junction points
29650       Normally rclone will ignore symlinks or junction points  (which  behave
29651       like symlinks under Windows).
29652
29653       If  you  supply  --copy-links or -L then rclone will follow the symlink
29654       and copy the pointed to file or directory.  Note that this flag is  in‐
29655       compatible with -links / -l.
29656
29657       This flag applies to all commands.
29658
29659       For example, supposing you have a directory structure like this
29660
29661              $ tree /tmp/a
29662              /tmp/a
29663              ├── b -> ../b
29664              ├── expected -> ../expected
29665              ├── one
29666              └── two
29667                  └── three
29668
29669       Then you can see the difference with and without the flag like this
29670
29671              $ rclone ls /tmp/a
29672                      6 one
29673                      6 two/three
29674
29675       and
29676
29677              $ rclone -L ls /tmp/a
29678                   4174 expected
29679                      6 one
29680                      6 two/three
29681                      6 b/two
29682                      6 b/one
29683
29684   --links, -l
29685       Normally  rclone  will ignore symlinks or junction points (which behave
29686       like symlinks under Windows).
29687
29688       If you supply this flag then rclone will copy symbolic links  from  the
29689       local  storage, and store them as text files, with a '.rclonelink' suf‐
29690       fix in the remote storage.
29691
29692       The text file will contain the target of the symbolic link  (see  exam‐
29693       ple).
29694
29695       This flag applies to all commands.
29696
29697       For example, supposing you have a directory structure like this
29698
29699              $ tree /tmp/a
29700              /tmp/a
29701              ├── file1 -> ./file4
29702              └── file2 -> /home/user/file3
29703
29704       Copying the entire directory with '-l'
29705
29706              $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/
29707
29708       The remote files are created with a '.rclonelink' suffix
29709
29710              $ rclone ls remote:/tmp/a
29711                     5 file1.rclonelink
29712                    14 file2.rclonelink
29713
29714       The remote files will contain the target of the symbolic links
29715
29716              $ rclone cat remote:/tmp/a/file1.rclonelink
29717              ./file4
29718
29719              $ rclone cat remote:/tmp/a/file2.rclonelink
29720              /home/user/file3
29721
29722       Copying them back with '-l'
29723
29724              $ rclone copyto -l remote:/tmp/a/ /tmp/b/
29725
29726              $ tree /tmp/b
29727              /tmp/b
29728              ├── file1 -> ./file4
29729              └── file2 -> /home/user/file3
29730
29731       However, if copied back without '-l'
29732
29733              $ rclone copyto remote:/tmp/a/ /tmp/b/
29734
29735              $ tree /tmp/b
29736              /tmp/b
29737              ├── file1.rclonelink
29738              └── file2.rclonelink
29739
29740       Note that this flag is incompatible with -copy-links / -L.
29741
29742   Restricting filesystems with --one-file-system
29743       Normally rclone will recurse through filesystems as mounted.
29744
29745       However if you set --one-file-system or -x this tells rclone to stay in
29746       the filesystem specified by the root and not to recurse into  different
29747       file systems.
29748
29749       For example if you have a directory hierarchy like this
29750
29751              root
29752              ├── disk1     - disk1 mounted on the root
29753              │   └── file3 - stored on disk1
29754              ├── disk2     - disk2 mounted on the root
29755              │   └── file4 - stored on disk12
29756              ├── file1     - stored on the root disk
29757              └── file2     - stored on the root disk
29758
29759       Using  rclone  --one-file-system copy root remote: will only copy file1
29760       and file2.  Eg
29761
29762              $ rclone -q --one-file-system ls root
29763                      0 file1
29764                      0 file2
29765
29766              $ rclone -q ls root
29767                      0 disk1/file3
29768                      0 disk2/file4
29769                      0 file1
29770                      0 file2
29771
29772       NB Rclone (like most unix tools such as du, rsync  and  tar)  treats  a
29773       bind mount to the same device as being on the same filesystem.
29774
29775       NB This flag is only available on Unix based systems.  On systems where
29776       it isn't supported (e.g.  Windows) it will be ignored.
29777
29778   Advanced Options
29779       Here are the advanced options specific to local (Local Disk).
29780
29781   --local-nounc
29782       Disable UNC (long path names) conversion on Windows
29783
29784       • Config: nounc
29785
29786       • Env Var: RCLONE_LOCAL_NOUNC
29787
29788       • Type: string
29789
29790       • Default: ""
29791
29792       • Examples:
29793
29794         • "true"
29795
29796           • Disables long file names
29797
29798   --copy-links / -L
29799       Follow symlinks and copy the pointed to item.
29800
29801       • Config: copy_links
29802
29803       • Env Var: RCLONE_LOCAL_COPY_LINKS
29804
29805       • Type: bool
29806
29807       • Default: false
29808
29809   --links / -l
29810       Translate symlinks to/from regular files with a '.rclonelink' extension
29811
29812       • Config: links
29813
29814       • Env Var: RCLONE_LOCAL_LINKS
29815
29816       • Type: bool
29817
29818       • Default: false
29819
29820   --skip-links
29821       Don't warn about skipped symlinks.  This flag disables warning messages
29822       on  skipped  symlinks or junction points, as you explicitly acknowledge
29823       that they should be skipped.
29824
29825       • Config: skip_links
29826
29827       • Env Var: RCLONE_LOCAL_SKIP_LINKS
29828
29829       • Type: bool
29830
29831       • Default: false
29832
29833   --local-zero-size-links
29834       Assume the Stat size of links is zero (and read them instead)
29835
29836       On some virtual filesystems (such ash LucidLink), reading a  link  size
29837       via  a  Stat  call  always returns 0.  However, on unix it reads as the
29838       length of the text in the link.  This may cause errors like  this  when
29839       syncing:
29840
29841              Failed to copy: corrupted on transfer: sizes differ 0 vs 13
29842
29843       Setting  this  flag  causes rclone to read the link and use that as the
29844       size of the link instead of 0 which in most cases fixes the problem.
29845
29846       • Config: zero_size_links
29847
29848       • Env Var: RCLONE_LOCAL_ZERO_SIZE_LINKS
29849
29850       • Type: bool
29851
29852       • Default: false
29853
29854   --local-no-unicode-normalization
29855       Don't apply unicode normalization to paths and filenames (Deprecated)
29856
29857       This flag is deprecated now.  Rclone no longer normalizes unicode  file
29858       names, but it compares them with unicode normalization in the sync rou‐
29859       tine instead.
29860
29861       • Config: no_unicode_normalization
29862
29863       • Env Var: RCLONE_LOCAL_NO_UNICODE_NORMALIZATION
29864
29865       • Type: bool
29866
29867       • Default: false
29868
29869   --local-no-check-updated
29870       Don't check to see if the files change during upload
29871
29872       Normally rclone checks the size and modification time of files as  they
29873       are being uploaded and aborts with a message which starts "can't copy -
29874       source file is being updated" if the file changes during upload.
29875
29876       However on some file systems this  modification  time  check  may  fail
29877       (e.g.   Glusterfs #2206 (https://github.com/rclone/rclone/issues/2206))
29878       so this check can be disabled with this flag.
29879
29880       If this flag is set, rclone will use its best  efforts  to  transfer  a
29881       file which is being updated.  If the file is only having things append‐
29882       ed to it (e.g.  a log) then rclone will transfer the log file with  the
29883       size it had the first time rclone saw it.
29884
29885       If  the  file  is being modified throughout (not just appended to) then
29886       the transfer may fail with a hash check failure.
29887
29888       In detail, once the file has had stat() called on it for the first time
29889       we:
29890
29891       • Only transfer the size that stat gave
29892
29893       • Only checksum the size that stat gave
29894
29895       • Don't update the stat info for the file
29896
29897       • Config: no_check_updated
29898
29899       • Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
29900
29901       • Type: bool
29902
29903       • Default: false
29904
29905   --one-file-system / -x
29906       Don't cross filesystem boundaries (unix/macOS only).
29907
29908       • Config: one_file_system
29909
29910       • Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
29911
29912       • Type: bool
29913
29914       • Default: false
29915
29916   --local-case-sensitive
29917       Force the filesystem to report itself as case sensitive.
29918
29919       Normally  the local backend declares itself as case insensitive on Win‐
29920       dows/macOS and case sensitive for everything else.  Use  this  flag  to
29921       override the default choice.
29922
29923       • Config: case_sensitive
29924
29925       • Env Var: RCLONE_LOCAL_CASE_SENSITIVE
29926
29927       • Type: bool
29928
29929       • Default: false
29930
29931   --local-case-insensitive
29932       Force the filesystem to report itself as case insensitive
29933
29934       Normally  the local backend declares itself as case insensitive on Win‐
29935       dows/macOS and case sensitive for everything else.  Use  this  flag  to
29936       override the default choice.
29937
29938       • Config: case_insensitive
29939
29940       • Env Var: RCLONE_LOCAL_CASE_INSENSITIVE
29941
29942       • Type: bool
29943
29944       • Default: false
29945
29946   --local-no-preallocate
29947       Disable preallocation of disk space for transferred files
29948
29949       Preallocation  of  disk  space  helps prevent filesystem fragmentation.
29950       However, some virtual filesystem layers  (such  as  Google  Drive  File
29951       Stream)  may incorrectly set the actual file size equal to the preallo‐
29952       cated space, causing checksum and file size checks to fail.   Use  this
29953       flag to disable preallocation.
29954
29955       • Config: no_preallocate
29956
29957       • Env Var: RCLONE_LOCAL_NO_PREALLOCATE
29958
29959       • Type: bool
29960
29961       • Default: false
29962
29963   --local-no-sparse
29964       Disable sparse files for multi-thread downloads
29965
29966       On  Windows  platforms  rclone  will  make sparse files when doing mul‐
29967       ti-thread downloads.  This avoids long pauses on large files where  the
29968       OS  zeros  the  file.   However sparse files may be undesirable as they
29969       cause disk fragmentation and can be slow to work with.
29970
29971       • Config: no_sparse
29972
29973       • Env Var: RCLONE_LOCAL_NO_SPARSE
29974
29975       • Type: bool
29976
29977       • Default: false
29978
29979   --local-no-set-modtime
29980       Disable setting modtime
29981
29982       Normally rclone updates modification time of files after they are  done
29983       uploading.   This  can cause permissions issues on Linux platforms when
29984       the user rclone is running as does not own the file uploaded,  such  as
29985       when  copying to a CIFS mount owned by another user.  If this option is
29986       enabled, rclone will no longer update the modtime after copying a file.
29987
29988       • Config: no_set_modtime
29989
29990       • Env Var: RCLONE_LOCAL_NO_SET_MODTIME
29991
29992       • Type: bool
29993
29994       • Default: false
29995
29996   --local-encoding
29997       This sets the encoding for the backend.
29998
29999       See: the encoding section  in  the  overview  (https://rclone.org/over
30000       view/#encoding) for more info.
30001
30002       • Config: encoding
30003
30004       • Env Var: RCLONE_LOCAL_ENCODING
30005
30006       • Type: MultiEncoder
30007
30008       • Default: Slash,Dot
30009
30010   Backend commands
30011       Here are the commands specific to the local backend.
30012
30013       Run them with
30014
30015              rclone backend COMMAND remote:
30016
30017       The help below will explain what arguments each command takes.
30018
30019       See    the    "rclone    backend"    command   (https://rclone.org/com
30020       mands/rclone_backend/) for more info on how to pass options  and  argu‐
30021       ments.
30022
30023       These can be run on a running backend using the rc command backend/com‐
30024       mand (https://rclone.org/rc/#backend/command).
30025
30026   noop
30027       A null operation for testing backend commands
30028
30029              rclone backend noop remote: [options] [<arguments>+]
30030
30031       This is a test command which has some options you can try to change the
30032       output.
30033
30034       Options:
30035
30036       • "echo": echo the input arguments
30037
30038       • "error": return an error based on option value
30039

Changelog

30041   v1.55.1 - 2021-04-26
30042       See            commits           (https://github.com/rclone/rclone/com
30043       pare/v1.55.0...v1.55.1)
30044
30045       • Bug Fixes
30046
30047         • selfupdate
30048
30049           • Dont detect FUSE if build is static (Ivan Andreev)
30050
30051           • Add build tag noselfupdate (Ivan Andreev)
30052
30053         • sync:  Fix  incorrect  error  reported  by  graceful  cutoff  (Nick
30054           Craig-Wood)
30055
30056         • install.sh: fix macOS arm64 download (Nick Craig-Wood)
30057
30058         • build:   Fix   version  numbers  in  android  branch  builds  (Nick
30059           Craig-Wood)
30060
30061         • docs
30062
30063           • Contributing.md: update setup instructions for go1.16 (Nick Gaya)
30064
30065           • WinFsp 2021 is out of beta (albertony)
30066
30067           • Minor cleanup of space around code section (albertony)
30068
30069           • Fixed some typos (albertony)
30070
30071       • VFS
30072
30073         • Fix a code path which allows dirty data to be removed causing  data
30074           loss (Nick Craig-Wood)
30075
30076       • Compress
30077
30078         • Fix compressed name regexp (buengese)
30079
30080       • Drive
30081
30082         • Fix backend copyid of google doc to directory (Nick Craig-Wood)
30083
30084         • Don't open browser when service account...  (Ansh Mittal)
30085
30086       • Dropbox
30087
30088         • Add missing team_data.member scope for use with --impersonate (Nick
30089           Craig-Wood)
30090
30091         • Fix About after scopes changes -  rclone  config  reconnect  needed
30092           (Nick Craig-Wood)
30093
30094         • Fix  Unable  to  decrypt  returned  paths  from  changeNotify (Nick
30095           Craig-Wood)
30096
30097       • FTP
30098
30099         • Fix implicit TLS (Ivan Andreev)
30100
30101       • Onedrive
30102
30103         • Work around for random "Unable to initialize RPS" errors (OleFrost)
30104
30105       • SFTP
30106
30107         • Revert sftp library to v1.12.0 from v1.13.0 to fix performance  re‐
30108           gression (Nick Craig-Wood)
30109
30110         • Fix Update ReadFrom failed: failed to send packet: EOF errors (Nick
30111           Craig-Wood)
30112
30113       • Zoho
30114
30115         • Fix error when region isn't set (buengese)
30116
30117         • Do  not  ask  for  mountpoint  twice  when  using  headless   setup
30118           (buengese)
30119
30120   v1.55.0 - 2021-03-31
30121       See            commits           (https://github.com/rclone/rclone/com
30122       pare/v1.54.0...v1.55.0)
30123
30124       • New commands
30125
30126         • selfupdate  (https://rclone.org/commands/rclone_selfupdate/)  (Ivan
30127           Andreev)
30128
30129           • Allows  rclone  to update itself in-place or via a package (using
30130             --package flag)
30131
30132           • Reads cryptographically signed signatures for non beta releases
30133
30134           • Works on all OSes.
30135
30136         • test (https://rclone.org/commands/rclone_test/) -  these  are  test
30137           commands - use with care!
30138
30139           • histogram - Makes a histogram of file name characters.
30140
30141           • info - Discovers file name or other limitations for paths.
30142
30143           • makefiles - Make a random file hierarchy for testing.
30144
30145           • memory  - Load all the objects at remote:path into memory and re‐
30146             port memory stats.
30147
30148       • New Features
30149
30150         • Connection strings (https://rclone.org/docs/#connection-strings)
30151
30152           • Config parameters can now be passed as part of the remote name as
30153             a connection string.
30154
30155           • For  example  to  do the equivalent of --drive-shared-with-me use
30156             drive,shared_with_me:
30157
30158           • Make sure we don't save on the fly remote config  to  the  config
30159             file (Nick Craig-Wood)
30160
30161           • Make  sure  backends with additional config have a different name
30162             for caching (Nick Craig-Wood)
30163
30164           • This work was sponsored by CERN, through the CS3MESH4EOSC Project
30165             (https://cs3mesh4eosc.eu/).
30166
30167             • CS3MESH4EOSC  has  received  funding  from the European Union’s
30168               Horizon 2020
30169
30170             • research and innovation programme  under  Grant  Agreement  no.
30171               863353.
30172
30173         • build
30174
30175           • Update go build version to go1.16 and raise minimum go version to
30176             go1.13 (Nick Craig-Wood)
30177
30178           • Make  a  macOS  ARM64  build  to  support  Apple  Silicon   (Nick
30179             Craig-Wood)
30180
30181           • Install macfuse 4.x instead of osxfuse 3.x (Nick Craig-Wood)
30182
30183           • Use  GO386=softfloat  instead  of  deprecated  GO386=387  for 386
30184             builds (Nick Craig-Wood)
30185
30186           • Disable IOS builds for the time being (Nick Craig-Wood)
30187
30188           • Androids builds made with up to date NDK (x0b)
30189
30190           • Add an rclone user to the Docker image but don't use  it  by  de‐
30191             fault (cynthia kwok)
30192
30193         • dedupe: Make largest directory primary to minimize data moved (Sak‐
30194           sham Khanna)
30195
30196         • config
30197
30198           • Wrap config library in an interface (Fionera)
30199
30200           • Make config file system pluggable (Nick Craig-Wood)
30201
30202           • --config "" or  "/notfound"  for  in  memory  config  only  (Nick
30203             Craig-Wood)
30204
30205           • Clear  fs  cache  of  stale  entries  when  altering config (Nick
30206             Craig-Wood)
30207
30208         • copyurl: Add option to print resulting auto-filename (albertony)
30209
30210         • delete: Make --rmdirs obey the filters (Nick Craig-Wood)
30211
30212         • docs - many fixes and reworks from  edwardxml,  albertony,  pvalls,
30213           Ivan Andreev, Evan Harris, buengese, Alexey Tabakman
30214
30215         • encoder/filename - add SCSU as tables (Klaus Post)
30216
30217         • Add  multiple  paths support to --compare-dest and --copy-dest flag
30218           (K265)
30219
30220         • filter: Make --exclude  "dir/"  equivalent  to  --exclude  "dir/**"
30221           (Nick Craig-Wood)
30222
30223         • fshttp:  Add  DSCP  support with --dscp for QoS with differentiated
30224           services (Max Sum)
30225
30226         • lib/cache: Add Delete and DeletePrefix methods (Nick Craig-Wood)
30227
30228         • lib/file
30229
30230           • Make pre-allocate detect disk full errors and return  them  (Nick
30231             Craig-Wood)
30232
30233           • Don't run preallocate concurrently (Nick Craig-Wood)
30234
30235           • Retry preallocate on EINTR (Nick Craig-Wood)
30236
30237         • operations:  Made  copy  and sync operations obey a RetryAfterError
30238           (Ankur Gupta)
30239
30240         • rc
30241
30242           • Add string alternatives for setting options  over  the  rc  (Nick
30243             Craig-Wood)
30244
30245           • Add  options/local  to  see the options configured in the context
30246             (Nick Craig-Wood)
30247
30248           • Add _config parameter to set global config for just this rc  call
30249             (Nick Craig-Wood)
30250
30251           • Implement  passing  filter  config  with  _filter parameter (Nick
30252             Craig-Wood)
30253
30254           • Add fscache/clear and fscache/entries to  control  the  fs  cache
30255             (Nick Craig-Wood)
30256
30257           • Avoid +Inf value for speed in core/stats (albertony)
30258
30259           • Add a full set of stats to core/stats (Nick Craig-Wood)
30260
30261           • Allow fs= params to be a JSON blob (Nick Craig-Wood)
30262
30263         • rcd:  Added  systemd  notification  during  the rclone rcd command.
30264           (Naveen Honest Raj)
30265
30266         • rmdirs: Make --rmdirs obey the filters (Nick Craig-Wood)
30267
30268         • version: Show build tags and type of executable (Ivan Andreev)
30269
30270       • Bug Fixes
30271
30272         • install.sh: make it fail on download errors (Ivan Andreev)
30273
30274         • Fix  excessive  retries  missing   --max-duration   timeout   (Nick
30275           Craig-Wood)
30276
30277         • Fix crash when --low-level-retries=0 (Nick Craig-Wood)
30278
30279         • Fix  failed  token  refresh  on  mounts  created  via  the rc (Nick
30280           Craig-Wood)
30281
30282         • fshttp: Fix bandwidth limiting after bad merge (Nick Craig-Wood)
30283
30284         • lib/atexit
30285
30286           • Unregister interrupt handler once it has fired so users  can  in‐
30287             terrupt again (Nick Craig-Wood)
30288
30289           • Fix occasional failure to unmount with CTRL-C (Nick Craig-Wood)
30290
30291           • Fix   deadlock  calling  Finalise  while  Run  is  running  (Nick
30292             Craig-Wood)
30293
30294         • lib/rest: Fix multipart uploads  not  stopping  on  context  cancel
30295           (Nick Craig-Wood)
30296
30297       • Mount
30298
30299         • Allow mounting to root directory on windows (albertony)
30300
30301         • Improved handling of relative paths on windows (albertony)
30302
30303         • Fix   unicode  issues  with  accented  characters  on  macOS  (Nick
30304           Craig-Wood)
30305
30306         • Docs: document the new FileSecurity  option  in  WinFsp  2021  (al‐
30307           bertony)
30308
30309         • Docs: add note about volume path syntax on windows (albertony)
30310
30311         • Fix   caching   of   old  directories  after  renaming  them  (Nick
30312           Craig-Wood)
30313
30314         • Update cgofuse to the latest version to  bring  in  macfuse  4  fix
30315           (Nick Craig-Wood)
30316
30317       • VFS
30318
30319         • --vfs-used-is-size  to  report  used  space  using  recursive  scan
30320           (tYYGH)
30321
30322         • Don't set  modification  time  if  it  was  already  correct  (Nick
30323           Craig-Wood)
30324
30325         • Fix  Create  causing  windows  explorer to truncate files on CTRL-C
30326           CTRL-V (Nick Craig-Wood)
30327
30328         • Fix modtimes not updating when writing via cache (Nick Craig-Wood)
30329
30330         • Fix modtimes changing by  fractional  seconds  after  upload  (Nick
30331           Craig-Wood)
30332
30333         • Fix  modtime set if --vfs-cache-mode writes/full and no write (Nick
30334           Craig-Wood)
30335
30336         • Rename files in cache and cancel uploads on directory rename  (Nick
30337           Craig-Wood)
30338
30339         • Fix  directory  renaming  by  renaming  dirs cached in memory (Nick
30340           Craig-Wood)
30341
30342       • Local
30343
30344         • Add flag --local-no-preallocate (David Sze)
30345
30346         • Make nounc an advanced option except on Windows (albertony)
30347
30348         • Don't ignore preallocate disk full errors (Nick Craig-Wood)
30349
30350       • Cache
30351
30352         • Add  --fs-cache-expire-duration  to  control  the  fs  cache  (Nick
30353           Craig-Wood)
30354
30355       • Crypt
30356
30357         • Add option to not encrypt data (Vesnyx)
30358
30359         • Log hash ok on upload (albertony)
30360
30361       • Azure Blob
30362
30363         • Add container public access level support.  (Manish Kumar)
30364
30365       • B2
30366
30367         • Fix HTML files downloaded via cloudflare (Nick Craig-Wood)
30368
30369       • Box
30370
30371         • Fix  transfers getting stuck on token expiry after API change (Nick
30372           Craig-Wood)
30373
30374       • Chunker
30375
30376         • Partially implement no-rename transactions (Maxwell Calman)
30377
30378       • Drive
30379
30380         • Don't stop server side copy  if  couldn't  read  description  (Nick
30381           Craig-Wood)
30382
30383         • Pass  context  on  to  drive  SDK - to help with cancellation (Nick
30384           Craig-Wood)
30385
30386       • Dropbox
30387
30388         • Add polling for changes support (Robert Thomas)
30389
30390         • Make --timeout 0 work properly (Nick Craig-Wood)
30391
30392         • Raise priority of rate limited message to INFO to make it more  no‐
30393           ticeable (Nick Craig-Wood)
30394
30395       • Fichier
30396
30397         • Implement copy & move (buengese)
30398
30399         • Implement public link (buengese)
30400
30401       • FTP
30402
30403         • Implement Shutdown method (Nick Craig-Wood)
30404
30405         • Close  idle  connections  after  --ftp-idle-timeout (1m by default)
30406           (Nick Craig-Wood)
30407
30408         • Make --timeout 0 work properly (Nick Craig-Wood)
30409
30410         • Add --ftp-close-timeout flag for use with awkward ftp servers (Nick
30411           Craig-Wood)
30412
30413         • Retry connections and logins on 421 errors (Nick Craig-Wood)
30414
30415       • Hdfs
30416
30417         • Fix permissions for when directory is created (Lucas Messenger)
30418
30419       • Onedrive
30420
30421         • Make --timeout 0 work properly (Nick Craig-Wood)
30422
30423       • S3
30424
30425         • Fix --s3-profile which wasn't working (Nick Craig-Wood)
30426
30427       • SFTP
30428
30429         • Close  idle  connections  after --sftp-idle-timeout (1m by default)
30430           (Nick Craig-Wood)
30431
30432         • Fix "file not found" errors for read once servers (Nick Craig-Wood)
30433
30434         • Fix SetModTime stat failed: object not found  with  --sftp-set-mod‐
30435           time=false (Nick Craig-Wood)
30436
30437       • Swift
30438
30439         • Update github.com/ncw/swift to v2.0.0 (Nick Craig-Wood)
30440
30441         • Implement copying large objects (nguyenhuuluan434)
30442
30443       • Union
30444
30445         • Fix crash when using epff policy (Nick Craig-Wood)
30446
30447         • Fix  union  attempting  to  update files on a read only file system
30448           (Nick Craig-Wood)
30449
30450         • Refactor to use  fspath.SplitFs  instead  of  fs.ParseRemote  (Nick
30451           Craig-Wood)
30452
30453         • Fix initialisation broken in refactor (Nick Craig-Wood)
30454
30455       • WebDAV
30456
30457         • Add support for sharepoint with NTLM authentication (Rauno Ots)
30458
30459         • Make sharepoint-ntlm docs more consistent (Alex Chen)
30460
30461         • Improve terminology in sharepoint-ntlm docs (Ivan Andreev)
30462
30463         • Disable HTTP/2 for NTLM authentication (georne)
30464
30465         • Fix sharepoint-ntlm error 401 for parallel actions (Ivan Andreev)
30466
30467         • Check that purged directory really exists (Ivan Andreev)
30468
30469       • Yandex
30470
30471         • Make --timeout 0 work properly (Nick Craig-Wood)
30472
30473       • Zoho
30474
30475         • Replace  client id - you will need to rclone config reconnect after
30476           this (buengese)
30477
30478         • Add forgotten setupRegion() to NewFs - this finally  fixes  regions
30479           other than EU (buengese)
30480
30481   v1.54.1 - 2021-03-08
30482       See            commits           (https://github.com/rclone/rclone/com
30483       pare/v1.54.0...v1.54.1)
30484
30485       • Bug Fixes
30486
30487         • accounting: Fix --bwlimit when up or down is off (Nick Craig-Wood)
30488
30489         • docs
30490
30491           • Fix nesting of brackets and backticks in ftp docs (edwardxml)
30492
30493           • Fix broken link in sftp page (edwardxml)
30494
30495           • Fix typo in crypt.md (Romeo Kienzler)
30496
30497           • Changelog: Correct link to digitalis.io (Alex JOST)
30498
30499           • Replace #file-caching with #vfs-file-caching (Miron Veryanskiy)
30500
30501           • Convert bogus example link to code (edwardxml)
30502
30503           • Remove dead link from rc.md (edwardxml)
30504
30505         • rc: Sync,copy,move:  document  createEmptySrcDirs  parameter  (Nick
30506           Craig-Wood)
30507
30508         • lsjson:  Fix  unterminated  JSON  in  the  presence of errors (Nick
30509           Craig-Wood)
30510
30511       • Mount
30512
30513         • Fix mount dropping on macOS by setting --daemon-timeout  10m  (Nick
30514           Craig-Wood)
30515
30516       • VFS
30517
30518         • Document  simultaneous  usage with the same cache shouldn't be used
30519           (Nick Craig-Wood)
30520
30521       • B2
30522
30523         • Automatically raise upload cutoff to  avoid  spurious  error  (Nick
30524           Craig-Wood)
30525
30526         • Fix  failed to create file system with application key limited to a
30527           prefix (Nick Craig-Wood)
30528
30529       • Drive
30530
30531         • Refer to Shared Drives instead of Team Drives (Nick Craig-Wood)
30532
30533       • Dropbox
30534
30535         • Add scopes to oauth request  and  optionally  "members.read"  (Nick
30536           Craig-Wood)
30537
30538       • S3
30539
30540         • Fix failed to create file system with folder level permissions pol‐
30541           icy (Nick Craig-Wood)
30542
30543         • Fix Wasabi HEAD requests returning  stale  data  by  using  only  1
30544           transport (Nick Craig-Wood)
30545
30546         • Fix shared_credentials_file auth (Dmitry Chepurovskiy)
30547
30548         • Add --s3-no-head to reducing costs docs (Nick Craig-Wood)
30549
30550       • Union
30551
30552         • Fix mkdir at root with remote:/ (Nick Craig-Wood)
30553
30554       • Zoho
30555
30556         • Fix custom client id's (buengese)
30557
30558   v1.54.0 - 2021-02-02
30559       See            commits           (https://github.com/rclone/rclone/com
30560       pare/v1.53.0...v1.54.0)
30561
30562       • New backends
30563
30564         • Compression remote (experimental) (buengese)
30565
30566         • Enterprise File Fabric (Nick Craig-Wood)
30567
30568           • This work was sponsored by Storage  Made  Easy  (https://storage
30569             madeeasy.com/)
30570
30571         • HDFS (Hadoop Distributed File System) (Yury Stankevich)
30572
30573         • Zoho workdrive (buengese)
30574
30575       • New Features
30576
30577         • Deglobalise the config (Nick Craig-Wood)
30578
30579           • Global config now read from the context
30580
30581           • This will enable passing of global config via the rc
30582
30583           • This work was sponsored by Digitalis (https://digitalis.io/)
30584
30585         • Add --bwlimit for upload and download (Nick Craig-Wood)
30586
30587           • Obey bwlimit in http Transport for better limiting
30588
30589         • Enhance systemd integration (Hekmon)
30590
30591           • log  level identification, manual activation with flag, automatic
30592             systemd launch detection
30593
30594           • Don't compile systemd log integration for non unix systems  (Ben‐
30595             jamin Gustin)
30596
30597         • Add  a --download flag to md5sum/sha1sum/hashsum to force rclone to
30598           download and hash files locally (lostheli)
30599
30600         • Add --progress-terminal-title to print ETA to terminal  title  (La‐
30601           Sombra)
30602
30603         • Make  backend  env  vars  show  in help as the defaults for backend
30604           flags (Nick Craig-Wood)
30605
30606         • build
30607
30608           • Raise minimum go version to go1.12 (Nick Craig-Wood)
30609
30610         • dedupe
30611
30612           • Add --by-hash to dedupe on  content  hash  not  file  name  (Nick
30613             Craig-Wood)
30614
30615           • Add --dedupe-mode list to just list dupes, changing nothing (Nick
30616             Craig-Wood)
30617
30618           • Add warning if used on a remote which can't have duplicate  names
30619             (Nick Craig-Wood)
30620
30621         • fs
30622
30623           • Add Shutdown optional method for backends (Nick Craig-Wood)
30624
30625           • When using --files-from check files concurrently (zhucan)
30626
30627           • Accumulate stats when using --dry-run (Ingo Weiss)
30628
30629           • Always  show  stats  when  using --dry-run or --interactive (Nick
30630             Craig-Wood)
30631
30632           • Add support for flag --no-console on windows to hide the  console
30633             window (albertony)
30634
30635         • genautocomplete: Add support to output to stdout (Ingo)
30636
30637         • ncdu
30638
30639           • Highlight read errors instead of aborting (Claudio Bantaloukas)
30640
30641           • Add sort by average size in directory (Adam Plánský)
30642
30643           • Add  toggle option for average s3ize in directory - key 'a' (Adam
30644             Plánský)
30645
30646           • Add empty folder flag into ncdu browser (Adam Plánský)
30647
30648           • Add ! (errror) and . (unreadable) file flags to go with e (empty)
30649             (Nick Craig-Wood)
30650
30651         • obscure:  Make rclone osbcure - ignore newline at end of line (Nick
30652           Craig-Wood)
30653
30654         • operations
30655
30656           • Add logs when need  to  upload  files  to  set  mod  times  (Nick
30657             Craig-Wood)
30658
30659           • Move and copy log name of the destination object in verbose (Adam
30660             Plánský)
30661
30662           • Add size if known to skipped items and JSON log (Nick Craig-Wood)
30663
30664         • rc
30665
30666           • Prefer actual listener address if using ":port" or "addr:0"  only
30667             (Nick Craig-Wood)
30668
30669           • Add listener for finished jobs (Aleksandar Jankovic)
30670
30671         • serve ftp: Add options to enable TLS (Deepak Sah)
30672
30673         • serve  http/webdav: Redirect requests to the base url without the /
30674           (Nick Craig-Wood)
30675
30676         • serve restic: Implement object cache (Nick Craig-Wood)
30677
30678         • stats: Add counter for deleted directories (Nick Craig-Wood)
30679
30680         • sync: Only print "There was nothing to transfer" if no errors (Nick
30681           Craig-Wood)
30682
30683         • webui
30684
30685           • Prompt  user  for updating webui if an update is available (Chai‐
30686             tanya Bankanhal)
30687
30688           • Fix plugins initialization (negative0)
30689
30690       • Bug Fixes
30691
30692         • fs
30693
30694           • Fix nil pointer on copy &  move  operations  directly  to  remote
30695             (Anagh Kumar Baranwal)
30696
30697           • Fix parsing of ..  when joining remotes (Nick Craig-Wood)
30698
30699         • log:  Fix  enabling  systemd  logging  when  using --log-file (Nick
30700           Craig-Wood)
30701
30702         • check
30703
30704           • Make  the  error  count  match  up  in  the  log  message   (Nick
30705             Craig-Wood)
30706
30707         • move: Fix data loss when source and destination are the same object
30708           (Nick Craig-Wood)
30709
30710         • operations
30711
30712           • Fix  --cutof-mode  hard  not  cutting   off   immediately   (Nick
30713             Craig-Wood)
30714
30715           • Fix --immutable error message (Nick Craig-Wood)
30716
30717         • sync
30718
30719           • Fix  --cutoff-mode soft & cautious so it doesn't end the transfer
30720             early (Nick Craig-Wood)
30721
30722           • Fix --immutable errors retrying many times (Nick Craig-Wood)
30723
30724       • Docs
30725
30726         • Many fixes and a rewrite of the filtering docs (edwardxml)
30727
30728         • Many spelling and grammar fixes (Josh Soref)
30729
30730         • Doc fixes for commands delete, purge, rmdir, rmdirs and mount  (al‐
30731           bertony)
30732
30733         • And thanks to these people for many doc fixes too numerous to list
30734
30735           • Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher Stewart
30736
30737           • CokeMine, David, Dov Murik, Durval Menezes, Evan Harris, gtorelly
30738
30739           • Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent,
30740
30741           • Martin Michlmayr, Milly, Sơn Trần-Nguyễn
30742
30743       • Mount
30744
30745         • Update systemd status with cache stats (Hekmon)
30746
30747         • Disable bazil/fuse based mount on macOS (Nick Craig-Wood)
30748
30749           • Make  rclone  mount  actually run rclone cmount under macOS (Nick
30750             Craig-Wood)
30751
30752         • Implement mknod to make NFS file creation work (Nick Craig-Wood)
30753
30754         • Make sure we don't call umount more than once (Nick Craig-Wood)
30755
30756         • More user friendly mounting as network drive on windows (albertony)
30757
30758         • Detect  if  uid  or  gid  are  set  in  same  option   string:   -o
30759           uid=123,gid=456 (albertony)
30760
30761         • Don't  attempt  to  unmount  if fs has been destroyed already (Nick
30762           Craig-Wood)
30763
30764       • VFS
30765
30766         • Fix virtual entries causing deleted files  to  still  appear  (Nick
30767           Craig-Wood)
30768
30769         • Fix  "file  already  exists"  error  for  stale  cache  files (Nick
30770           Craig-Wood)
30771
30772         • Fix file leaks with --vfs-cache-mode full and --buffer-size 0 (Nick
30773           Craig-Wood)
30774
30775         • Fix  invalid  cache  path on windows when using :backend: as remote
30776           (albertony)
30777
30778       • Local
30779
30780         • Continue listing files/folders when a circular symlink is  detected
30781           (Manish Gupta)
30782
30783         • New  flag  --local-zero-size-links  to  fix  sync  on  some virtual
30784           filesystems (Riccardo Iaconelli)
30785
30786       • Azure Blob
30787
30788         • Add support for service principals (James Lim)
30789
30790         • Add support for managed identities (Brad Ackerman)
30791
30792         • Add examples for access tier (Bob Pusateri)
30793
30794         • Utilize the streaming capabilities from the SDK for  multipart  up‐
30795           loads (Denis Neuling)
30796
30797         • Fix setting of mime types (Nick Craig-Wood)
30798
30799         • Fix crash when listing outside a SAS URL's root (Nick Craig-Wood)
30800
30801         • Delete   archive   tier  blobs  before  update  if  --azureblob-ar‐
30802           chive-tier-delete (Nick Craig-Wood)
30803
30804         • Fix crash on startup (Nick Craig-Wood)
30805
30806         • Fix memory usage by upgrading the SDK to v0.13.0 and implementing a
30807           TransferManager (Nick Craig-Wood)
30808
30809         • Require go1.14+ to compile due to SDK changes (Nick Craig-Wood)
30810
30811       • B2
30812
30813         • Make NewObject use less expensive API calls (Nick Craig-Wood)
30814
30815           • This will improve --files-from and restic serve in particular
30816
30817         • Fixed crash on an empty file name (lluuaapp)
30818
30819       • Box
30820
30821         • Fix NewObject for files that differ in case (Nick Craig-Wood)
30822
30823         • Fix finding directories in a case insentive way (Nick Craig-Wood)
30824
30825       • Chunker
30826
30827         • Skip long local hashing, hash in-transit (fixes) (Ivan Andreev)
30828
30829         • Set Features ReadMimeType to false as Object.MimeType not supported
30830           (Nick Craig-Wood)
30831
30832         • Fix case-insensitive NewObject, test metadata detection  (Ivan  An‐
30833           dreev)
30834
30835       • Drive
30836
30837         • Implement  rclone  backend  copyid  command for copying files by ID
30838           (Nick Craig-Wood)
30839
30840         • Added flag --drive-stop-on-download-limit to  stop  transfers  when
30841           the download limit is exceeded (Anagh Kumar Baranwal)
30842
30843         • Implement CleanUp workaround for team drives (buengese)
30844
30845         • Allow   shortcut  resolution  and  creation  to  be  retried  (Nick
30846           Craig-Wood)
30847
30848         • Log that emptying the trash can take some time (Nick Craig-Wood)
30849
30850         • Add xdg office icons to xdg desktop files (Pau Rodriguez-Estivill)
30851
30852       • Dropbox
30853
30854         • Add support for viewing shared files and folders (buengese)
30855
30856         • Enable short lived access tokens (Nick Craig-Wood)
30857
30858         • Implement IDer on Objects so  rclone  lsf  etc  can  read  the  IDs
30859           (buengese)
30860
30861         • Set Features ReadMimeType to false as Object.MimeType not supported
30862           (Nick Craig-Wood)
30863
30864         • Make malformed_path errors from too long files not retriable  (Nick
30865           Craig-Wood)
30866
30867         • Test  file  name  length  before  upload  to  fix upload loop (Nick
30868           Craig-Wood)
30869
30870       • Fichier
30871
30872         • Set Features ReadMimeType to true as Object.MimeType  is  supported
30873           (Nick Craig-Wood)
30874
30875       • FTP
30876
30877         • Add --ftp-disable-msld option to ignore MLSD for really old servers
30878           (Nick Craig-Wood)
30879
30880         • Make --tpslimit apply (Nick Craig-Wood)
30881
30882       • Google Cloud Storage
30883
30884         • Storage class object header support (Laurens Janssen)
30885
30886         • Fix anonymous client to use rclone's HTTP client (Nick Craig-Wood)
30887
30888         • Fix Entry doesn't belong in directory "" (same as directory) -  ig‐
30889           noring (Nick Craig-Wood)
30890
30891       • Googlephotos
30892
30893         • New flag --gphotos-include-archived to show archived photos as well
30894           (Nicolas Rueff)
30895
30896       • Jottacloud
30897
30898         • Don't erroneously report support for writing mime types (buengese)
30899
30900         • Add support for Telia Cloud (Patrik Nordlén)
30901
30902       • Mailru
30903
30904         • Accept special folders eg camera-upload (Ivan Andreev)
30905
30906         • Avoid prehashing of large local files (Ivan Andreev)
30907
30908         • Fix uploads after recent changes on server (Ivan Andreev)
30909
30910         • Fix range requests after June 2020 changes on server (Ivan Andreev)
30911
30912         • Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
30913
30914         • Remove deprecated protocol quirks (Ivan Andreev)
30915
30916       • Memory
30917
30918         • Fix setting of mime types (Nick Craig-Wood)
30919
30920       • Onedrive
30921
30922         • Add support for China region operated by 21vianet and other region‐
30923           al suppliers (NyaMisty)
30924
30925         • Warn on gateway timeout errors (Nick Craig-Wood)
30926
30927         • Fall  back  to  normal  copy  if server-side copy unavailable (Alex
30928           Chen)
30929
30930         • Fix server-side copy completely disabled on OneDrive  for  Business
30931           (Cnly)
30932
30933         • (business  only) workaround to replace existing file on server-side
30934           copy (Alex Chen)
30935
30936         • Enhance link creation with expiry, scope, type and  password  (Nick
30937           Craig-Wood)
30938
30939         • Remove % and # from the set of encoded characters (Alex Chen)
30940
30941         • Support addressing site by server-relative URL (kice)
30942
30943       • Opendrive
30944
30945         • Fix finding directories in a case insensitive way (Nick Craig-Wood)
30946
30947       • Pcloud
30948
30949         • Fix setting of mime types (Nick Craig-Wood)
30950
30951       • Premiumizeme
30952
30953         • Fix finding directories in a case insensitive way (Nick Craig-Wood)
30954
30955       • Qingstor
30956
30957         • Fix error propagation in CleanUp (Nick Craig-Wood)
30958
30959         • Fix rclone cleanup (Nick Craig-Wood)
30960
30961       • S3
30962
30963         • Added --s3-disable-http2 to disable http/2 (Anagh Kumar Baranwal)
30964
30965         • Complete SSE-C implementation (Nick Craig-Wood)
30966
30967           • Fix   hashes   on  small  files  with  AWS:KMS  and  SSE-C  (Nick
30968             Craig-Wood)
30969
30970           • Add MD5 metadata to objects  uploaded  with  SSE-AWS/SSE-C  (Nick
30971             Craig-Wood)
30972
30973         • Add --s3-no-head parameter to minimise transactions on upload (Nick
30974           Craig-Wood)
30975
30976         • Update docs with a Reducing Costs section (Nick Craig-Wood)
30977
30978         • Added error handling for error code 429  indicating  too  many  re‐
30979           quests (Anagh Kumar Baranwal)
30980
30981         • Add requester pays option (kelv)
30982
30983         • Fix  copy  multipart  with  v2 auth failing with 'SignatureDoesNot‐
30984           Match' (Louis Koo)
30985
30986       • SFTP
30987
30988         • Allow cert based auth via optional pubkey (Stephen Harris)
30989
30990         • Allow user to optionally check server hosts  key  to  add  security
30991           (Stephen Harris)
30992
30993         • Defer  asking  for user passwords until the SSH connection succeeds
30994           (Stephen Harris)
30995
30996         • Remember entered password in AskPass mode (Stephen Harris)
30997
30998         • Implement Shutdown method (Nick Craig-Wood)
30999
31000         • Implement keyboard interactive authentication (Nick Craig-Wood)
31001
31002         • Make --tpslimit apply (Nick Craig-Wood)
31003
31004         • Implement  --sftp-use-fstat  for   unusual   SFTP   servers   (Nick
31005           Craig-Wood)
31006
31007       • Sugarsync
31008
31009         • Fix NewObject for files that differ in case (Nick Craig-Wood)
31010
31011         • Fix finding directories in a case insentive way (Nick Craig-Wood)
31012
31013       • Swift
31014
31015         • Fix  deletion  of  parts  of  Static Large Object (SLO) (Nguyễn Hữu
31016           Luân)
31017
31018         • Ensure  partially  uploaded  large  files   are   uploaded   unless
31019           --swift-leave-parts-on-error (Nguyễn Hữu Luân)
31020
31021       • Tardigrade
31022
31023         • Upgrade to uplink v1.4.1 (Caleb Case)
31024
31025       • WebDAV
31026
31027         • Updated  docs  to  show  streaming  to nextcloud is working (Durval
31028           Menezes)
31029
31030       • Yandex
31031
31032         • Set Features WriteMimeType to false as Yandex  ignores  mime  types
31033           (Nick Craig-Wood)
31034
31035   v1.53.4 - 2021-01-20
31036       See            commits           (https://github.com/rclone/rclone/com
31037       pare/v1.53.3...v1.53.4)
31038
31039       • Bug Fixes
31040
31041         • accounting: Fix data race in Transferred() (Maciej Zimnoch)
31042
31043         • build
31044
31045           • Stop tagged releases making a current beta (Nick Craig-Wood)
31046
31047           • Upgrade docker buildx action (Matteo Pietro Dazzi)
31048
31049           • Add -buildmode to cross-compile.go (Nick Craig-Wood)
31050
31051           • Fix  docker  build  by  upgrading  ilteoood/docker_buildx   (Nick
31052             Craig-Wood)
31053
31054           • Revert  GitHub  actions  brew  fix  since this is now fixed (Nick
31055             Craig-Wood)
31056
31057           • Fix brew install --cask syntax for macOS build (Nick Craig-Wood)
31058
31059           • Update nfpm syntax to  fix  build  of  .deb/.rpm  packages  (Nick
31060             Craig-Wood)
31061
31062           • Fix for Windows build errors (Ivan Andreev)
31063
31064         • fs: Parseduration: fixed tests to use UTC time (Ankur Gupta)
31065
31066         • fshttp: Prevent overlap of HTTP headers in logs (Nathan Collins)
31067
31068         • rc
31069
31070           • Fix core/command giving 500 internal error (Nick Craig-Wood)
31071
31072           • Add Copy method to rc.Params (Nick Craig-Wood)
31073
31074           • Fix  500  error  when  marshalling errors from core/command (Nick
31075             Craig-Wood)
31076
31077           • plugins: Create plugins files only if webui is  enabled.   (nega‐
31078             tive0)
31079
31080         • serve http: Fix serving files of unknown length (Nick Craig-Wood)
31081
31082         • serve  sftp:  Fix  authentication on one connection blocking others
31083           (Nick Craig-Wood)
31084
31085       • Mount
31086
31087         • Add optional brew tag to throw an error when using mount in the bi‐
31088           naries installed via Homebrew (Anagh Kumar Baranwal)
31089
31090         • Add  "."  and  ".." to directories to match cmount and expectations
31091           (Nick Craig-Wood)
31092
31093       • VFS
31094
31095         • Make cache dir absolute before using it to fix path too long errors
31096           (Nick Craig-Wood)
31097
31098       • Chunker
31099
31100         • Improve detection of incompatible metadata (Ivan Andreev)
31101
31102       • Google Cloud Storage
31103
31104         • Fix server side copy of large objects (Nick Craig-Wood)
31105
31106       • Jottacloud
31107
31108         • Fix token renewer to fix long uploads (Nick Craig-Wood)
31109
31110         • Fix  token  refresh  failed:  is  not  a  regular  file error (Nick
31111           Craig-Wood)
31112
31113       • Pcloud
31114
31115         • Only use SHA1 hashes in EU region (Nick Craig-Wood)
31116
31117       • Sharefile
31118
31119         • Undo Fix backend due to API swapping  integers  for  strings  (Nick
31120           Craig-Wood)
31121
31122       • WebDAV
31123
31124         • Fix Open Range requests to fix 4shared mount (Nick Craig-Wood)
31125
31126         • Add "Depth: 0" to GET requests to fix bitrix (Nick Craig-Wood)
31127
31128   v1.53.3 - 2020-11-19
31129       See            commits           (https://github.com/rclone/rclone/com
31130       pare/v1.53.2...v1.53.3)
31131
31132       • Bug Fixes
31133
31134         • random: Fix incorrect  use  of  math/rand  instead  of  crypto/rand
31135           CVE-2020-28924 (Nick Craig-Wood)
31136
31137           • Passwords you have generated with rclone config may be insecure
31138
31139           • See  issue  #4783  (https://github.com/rclone/rclone/issues/4783)
31140             for more details and a checking tool
31141
31142         • random: Seed math/rand in one place with crypto strong  seed  (Nick
31143           Craig-Wood)
31144
31145       • VFS
31146
31147         • Fix vfs/refresh calls with fs= parameter (Nick Craig-Wood)
31148
31149       • Sharefile
31150
31151         • Fix  backend  due  to  API  swapping  integers  for  strings  (Nick
31152           Craig-Wood)
31153
31154   v1.53.2 - 2020-10-26
31155       See           commits            (https://github.com/rclone/rclone/com
31156       pare/v1.53.1...v1.53.2)
31157
31158       • Bug Fixes
31159
31160         • acounting
31161
31162           • Fix   incorrect   speed  and  transferTime  in  core/stats  (Nick
31163             Craig-Wood)
31164
31165           • Stabilize display order of transfers on Windows (Nick Craig-Wood)
31166
31167         • operations
31168
31169           • Fix use of --suffix without --backup-dir (Nick Craig-Wood)
31170
31171           • Fix spurious "--checksum is in use but the source and destination
31172             have no hashes in common" (Nick Craig-Wood)
31173
31174         • build
31175
31176           • Work around GitHub actions brew problem (Nick Craig-Wood)
31177
31178           • Stop  using  set-env  and  set-path  in  the GitHub actions (Nick
31179             Craig-Wood)
31180
31181       • Mount
31182
31183         • mount2: Fix the swapped UID / GID values (Russell Cattelan)
31184
31185       • VFS
31186
31187         • Detect and recover from a file being removed  externally  from  the
31188           cache (Nick Craig-Wood)
31189
31190         • Fix a deadlock vulnerability in downloaders.Close (Leo Luan)
31191
31192         • Fix a race condition in retryFailedResets (Leo Luan)
31193
31194         • Fix missed concurrency control between some item operations and re‐
31195           set (Leo Luan)
31196
31197         • Add exponential backoff during ENOSPC retries (Leo Luan)
31198
31199         • Add a missed update of used cache space (Leo Luan)
31200
31201         • Fix --no-modtime to not attempt to  set  modtimes  (as  documented)
31202           (Nick Craig-Wood)
31203
31204       • Local
31205
31206         • Fix  sizes  and  syncing  with  --links  option  on  Windows  (Nick
31207           Craig-Wood)
31208
31209       • Chunker
31210
31211         • Disable ListR to fix missing files on GDrive (workaround) (Ivan An‐
31212           dreev)
31213
31214         • Fix upload over crypt (Ivan Andreev)
31215
31216       • Fichier
31217
31218         • Increase maximum file size from 100GB to 300GB (gyutw)
31219
31220       • Jottacloud
31221
31222         • Remove  clientSecret  from config when upgrading to token based au‐
31223           thentication (buengese)
31224
31225         • Avoid double url escaping of device/mountpoint (albertony)
31226
31227         • Remove DirMove workaround as  it's  not  required  anymore  -  also
31228           (buengese)
31229
31230       • Mailru
31231
31232         • Fix uploads after recent changes on server (Ivan Andreev)
31233
31234         • Fix range requests after june changes on server (Ivan Andreev)
31235
31236         • Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
31237
31238       • Onedrive
31239
31240         • Fix disk usage for sharepoint (Nick Craig-Wood)
31241
31242       • S3
31243
31244         • Add missing regions for AWS (Anagh Kumar Baranwal)
31245
31246       • Seafile
31247
31248         • Fix accessing libraries > 2GB on 32 bit systems (Muffin King)
31249
31250       • SFTP
31251
31252         • Always convert the checksum to lower case (buengese)
31253
31254       • Union
31255
31256         • Create root directories if none exist (Nick Craig-Wood)
31257
31258   v1.53.1 - 2020-09-13
31259       See            commits           (https://github.com/rclone/rclone/com
31260       pare/v1.53.0...v1.53.1)
31261
31262       • Bug Fixes
31263
31264         • accounting: Remove new line from end  of  --stats-one-line  display
31265           (Nick Craig-Wood)
31266
31267         • check
31268
31269           • Add back missing --download flag (Nick Craig-Wood)
31270
31271           • Fix docs (Nick Craig-Wood)
31272
31273         • docs
31274
31275           • Note --log-file does append (Nick Craig-Wood)
31276
31277           • Add full stops for consistency in rclone --help (edwardxml)
31278
31279           • Add Tencent COS to s3 provider list (wjielai)
31280
31281           • Updated mount command to reflect that it requires Go 1.13 or new‐
31282             er (Evan Harris)
31283
31284           • jottacloud: Mention that uploads from local disk will not need to
31285             cache files to disk for md5 calculation (albertony)
31286
31287           • Fix formatting of rc docs page (Nick Craig-Wood)
31288
31289         • build
31290
31291           • Include  vendor  tar  ball  in  release  and  fix  startdev (Nick
31292             Craig-Wood)
31293
31294           • Fix  "Illegal  instruction"  error   for   ARMv6   builds   (Nick
31295             Craig-Wood)
31296
31297           • Fix architecture name in ARMv7 build (Nick Craig-Wood)
31298
31299       • VFS
31300
31301         • Fix  spurious  error "vfs cache: failed to _ensure cache EOF" (Nick
31302           Craig-Wood)
31303
31304         • Log an ERROR if we  fail  to  set  the  file  to  be  sparse  (Nick
31305           Craig-Wood)
31306
31307       • Local
31308
31309         • Log  an  ERROR  if  we  fail  to  set  the  file to be sparse (Nick
31310           Craig-Wood)
31311
31312       • Drive
31313
31314         • Re-adds special oauth help text (Tim Gallant)
31315
31316       • Opendrive
31317
31318         • Do not retry 400 errors (Evan Harris)
31319
31320   v1.53.0 - 2020-09-02
31321       See           commits            (https://github.com/rclone/rclone/com
31322       pare/v1.52.0...v1.53.0)
31323
31324       • New Features
31325
31326         • The VFS layer (https://rclone.org/commands/rclone_mount/#vfs-virtu‐
31327           al-file-system) was heavily reworked for this release -  see  below
31328           for more details
31329
31330         • Interactive  mode -i/--interactive (https://rclone.org/docs/#inter‐
31331           active) for destructive operations (fishbullet)
31332
31333         • Add   --bwlimit-file   (https://rclone.org/docs/#bwlimit-file-band‐
31334           width-spec) flag to limit speeds of individual file transfers (Nick
31335           Craig-Wood)
31336
31337         • Transfers are sorted by start time in the stats and progress output
31338           (Max Sum)
31339
31340         • Make sure backends expand ~ and environment vars in file names they
31341           use (Nick Craig-Wood)
31342
31343         • Add --refresh-times  (https://rclone.org/docs/#refresh-times)  flag
31344           to set modtimes on hashless backends (Nick Craig-Wood)
31345
31346         • build
31347
31348           • Remove vendor directory in favour of Go modules (Nick Craig-Wood)
31349
31350           • Build with go1.15.x by default (Nick Craig-Wood)
31351
31352           • Drop macOS 386 build as it is no longer supported by go1.15 (Nick
31353             Craig-Wood)
31354
31355           • Add ARMv7 to the supported builds (Nick Craig-Wood)
31356
31357           • Enable rclone cmount on macOS (Nick Craig-Wood)
31358
31359           • Make rclone build with gccgo (Nick Craig-Wood)
31360
31361           • Make rclone build with wasm (Nick Craig-Wood)
31362
31363           • Change beta numbering to be semver compatible (Nick Craig-Wood)
31364
31365           • Add file properties and icon to Windows executable (albertony)
31366
31367           • Add experimental interface for integrating rclone  into  browsers
31368             (Nick Craig-Wood)
31369
31370         • lib: Add file name compression (Klaus Post)
31371
31372         • rc
31373
31374           • Allow  installation  and  use  of  plugins  and test plugins with
31375             rclone-webui (Chaitanya Bankanhal)
31376
31377           • Add reverse proxy pluginsHandler for serving  plugins  (Chaitanya
31378             Bankanhal)
31379
31380           • Add mount/listmounts option for listing current mounts (Chaitanya
31381             Bankanhal)
31382
31383           • Add operations/uploadfile to upload a file through rc  using  en‐
31384             coding multipart/form-data (Chaitanya Bankanhal)
31385
31386           • Add core/command to execute rclone terminal commands.  (Chaitanya
31387             Bankanhal)
31388
31389         • rclone check
31390
31391           • Add  reporting  of  filenames  for   same/missing/changed   (Nick
31392             Craig-Wood)
31393
31394           • Make   check   command   obey   --dry-run/-i/--interactive  (Nick
31395             Craig-Wood)
31396
31397           • Make check do --checkers files concurrently (Nick Craig-Wood)
31398
31399           • Retry downloads if they fail when using the --download flag (Nick
31400             Craig-Wood)
31401
31402           • Make it show stats by default (Nick Craig-Wood)
31403
31404         • rclone  obscure:  Allow obscure command to accept password on STDIN
31405           (David Ibarra)
31406
31407         • rclone config
31408
31409           • Set RCLONE_CONFIG_DIR for use in config  files  and  subprocesses
31410             (Nick Craig-Wood)
31411
31412           • Reject remote names starting with a dash.  (jtagcat)
31413
31414         • rclone  cryptcheck:  Add  reporting  of  filenames  for  same/miss‐
31415           ing/changed (Nick Craig-Wood)
31416
31417         • rclone dedupe: Make it obey the --size-only flag for duplicate  de‐
31418           tection (Nick Craig-Wood)
31419
31420         • rclone link: Add --expire and --unlink flags (Roman Kredentser)
31421
31422         • rclone  mkdir:  Warn  when  using mkdir on remotes which can't have
31423           empty directories (Nick Craig-Wood)
31424
31425         • rclone rc: Allow JSON parameters to  simplify  command  line  usage
31426           (Nick Craig-Wood)
31427
31428         • rclone serve ftp
31429
31430           • Don't   compile   on  <  go1.13  after  dependency  update  (Nick
31431             Craig-Wood)
31432
31433           • Add error message if auth proxy fails (Nick Craig-Wood)
31434
31435           • Use refactored goftp.io/server library for  binary  shrink  (Nick
31436             Craig-Wood)
31437
31438         • rclone  serve  restic: Expose interfaces so that rclone can be used
31439           as a library from within restic (Jack)
31440
31441         • rclone sync: Add --track-renames-strategy leaf (Nick Craig-Wood)
31442
31443         • rclone touch: Add ability to set nanosecond resolution times  (Nick
31444           Craig-Wood)
31445
31446         • rclone  tree:  Remove  -i  shorthand for --noindent as it conflicts
31447           with -i/--interactive (Nick Craig-Wood)
31448
31449       • Bug Fixes
31450
31451         • accounting
31452
31453           • Fix documentation for speed/speedAvg (Nick Craig-Wood)
31454
31455           • Fix elapsed time not show actual time since beginning  (Chaitanya
31456             Bankanhal)
31457
31458           • Fix deadlock in stats printing (Nick Craig-Wood)
31459
31460         • build
31461
31462           • Fix file handle leak in GitHub release tool (Garrett Squire)
31463
31464         • rclone  check:  Fix successful retries with --download counting er‐
31465           rors (Nick Craig-Wood)
31466
31467         • rclone dedupe:  Fix  logging  to  be  easier  to  understand  (Nick
31468           Craig-Wood)
31469
31470       • Mount
31471
31472         • Warn  macOS  users  that  mount  implementation  is  changing (Nick
31473           Craig-Wood)
31474
31475           • to test the new  implementation  use  rclone  cmount  instead  of
31476             rclone mount
31477
31478           • this is because the library rclone uses has dropped macOS support
31479
31480         • rc interface
31481
31482           • Add call for unmount all (Chaitanya Bankanhal)
31483
31484           • Make   mount/mount   remote  control  take  vfsOpt  option  (Nick
31485             Craig-Wood)
31486
31487           • Add mountOpt to mount/mount (Nick Craig-Wood)
31488
31489           • Add VFS and Mount options to mount/listmounts (Nick Craig-Wood)
31490
31491         • Catch panics in cgofuse initialization and turn into error messages
31492           (Nick Craig-Wood)
31493
31494         • Always supply stat information in Readdir (Nick Craig-Wood)
31495
31496         • Add  support for reading unknown length files using direct IO (Win‐
31497           dows) (Nick Craig-Wood)
31498
31499         • Fix On Windows don't add -o uid/gid=-1 if user supplies -o uid/gid.
31500           (Nick Craig-Wood)
31501
31502         • Fix macOS losing directory contents in cmount (Nick Craig-Wood)
31503
31504         • Fix volume name broken in recent refactor (Nick Craig-Wood)
31505
31506       • VFS
31507
31508         • Implement partial reads for --vfs-cache-mode full (Nick Craig-Wood)
31509
31510         • Add  --vfs-writeback  option  to delay writes back to cloud storage
31511           (Nick Craig-Wood)
31512
31513         • Add --vfs-read-ahead parameter for use with  --vfs-cache-mode  full
31514           (Nick Craig-Wood)
31515
31516         • Restart pending uploads on restart of the cache (Nick Craig-Wood)
31517
31518         • Support synchronous cache space recovery upon ENOSPC (Leo Luan)
31519
31520         • Allow  ReadAt and WriteAt to run concurrently with themselves (Nick
31521           Craig-Wood)
31522
31523         • Change modtime of file before upload to current (Rob Calistri)
31524
31525         • Recommend --vfs-cache-modes writes on backends which  can't  stream
31526           (Nick Craig-Wood)
31527
31528         • Add an optional fs parameter to vfs rc methods (Nick Craig-Wood)
31529
31530         • Fix  errors  when  using  >  260 char files in the cache in Windows
31531           (Nick Craig-Wood)
31532
31533         • Fix  renaming  of  items  while  they  are  being  uploaded   (Nick
31534           Craig-Wood)
31535
31536         • Fix  very  high  load  caused  by  slow  directory  listings  (Nick
31537           Craig-Wood)
31538
31539         • Fix renamed files not being uploaded with --vfs-cache-mode  minimal
31540           (Nick Craig-Wood)
31541
31542         • Fix  directory  locking  caused  by  slow  directory listings (Nick
31543           Craig-Wood)
31544
31545         • Fix  saving  from  chrome  without  --vfs-cache-mode  writes  (Nick
31546           Craig-Wood)
31547
31548       • Local
31549
31550         • Add --local-no-updated to provide a consistent view of changing ob‐
31551           jects (Nick Craig-Wood)
31552
31553         • Add --local-no-set-modtime option to prevent modtime changes (tyhu‐
31554           ber1)
31555
31556         • Fix  race  conditions  updating  and  reading Object metadata (Nick
31557           Craig-Wood)
31558
31559       • Cache
31560
31561         • Make any created backends  be  cached  to  fix  rc  problems  (Nick
31562           Craig-Wood)
31563
31564         • Fix dedupe on caches wrapping drives (Nick Craig-Wood)
31565
31566       • Crypt
31567
31568         • Add --crypt-server-side-across-configs flag (Nick Craig-Wood)
31569
31570         • Make  any  created  backends  be  cached  to  fix rc problems (Nick
31571           Craig-Wood)
31572
31573       • Alias
31574
31575         • Make any created backends  be  cached  to  fix  rc  problems  (Nick
31576           Craig-Wood)
31577
31578       • Azure Blob
31579
31580         • Don't compile on < go1.13 after dependency update (Nick Craig-Wood)
31581
31582       • B2
31583
31584         • Implement server-side copy for files > 5GB (Nick Craig-Wood)
31585
31586         • Cancel  in  progress  multipart  uploads  and copies on rclone exit
31587           (Nick Craig-Wood)
31588
31589         • Note that b2's encoding now allows   but  rclone's  hasn't  changed
31590           (Nick Craig-Wood)
31591
31592         • Fix transfers when using download_url (Nick Craig-Wood)
31593
31594       • Box
31595
31596         • Implement rclone cleanup (buengese)
31597
31598         • Cancel  in  progress  multipart  uploads  and copies on rclone exit
31599           (Nick Craig-Wood)
31600
31601         • Allow authentication with access token (David)
31602
31603       • Chunker
31604
31605         • Make any created backends  be  cached  to  fix  rc  problems  (Nick
31606           Craig-Wood)
31607
31608       • Drive
31609
31610         • Add  rclone backend drives to list shared drives (teamdrives) (Nick
31611           Craig-Wood)
31612
31613         • Implement rclone backend untrash (Nick Craig-Wood)
31614
31615         • Work around drive bug which didn't set modtime of copied docs (Nick
31616           Craig-Wood)
31617
31618         • Added  --drive-starred-only  to  only show starred files (Jay McEn‐
31619           tire)
31620
31621         • Deprecate --drive-alternate-export as it is no longer needed  (the‐
31622           mylogin)
31623
31624         • Fix   duplication   of   Google  docs  on  server-side  copy  (Nick
31625           Craig-Wood)
31626
31627         • Fix "panic: send on closed  channel"  when  recycling  dir  entries
31628           (Nick Craig-Wood)
31629
31630       • Dropbox
31631
31632         • Add  copyright  detector  info  in  limitations section in the docs
31633           (Alex Guerrero)
31634
31635         • Fix rclone link by removing expires parameter (Nick Craig-Wood)
31636
31637       • Fichier
31638
31639         • Detect Flood detected: IP Locked error  and  sleep  for  30s  (Nick
31640           Craig-Wood)
31641
31642       • FTP
31643
31644         • Add explicit TLS support (Heiko Bornholdt)
31645
31646         • Add  support  for --dump bodies and --dump auth for debugging (Nick
31647           Craig-Wood)
31648
31649         • Fix interoperation with pure-ftpd (Nick Craig-Wood)
31650
31651       • Google Cloud Storage
31652
31653         • Add support for anonymous access (Kai Lüke)
31654
31655       • Jottacloud
31656
31657         • Bring back legacy authentication for use with  whitelabel  versions
31658           (buengese)
31659
31660         • Switch  to new api root - also implement a very ugly workaround for
31661           the DirMove failures (buengese)
31662
31663       • Onedrive
31664
31665         • Rework cancel of multipart uploads on rclone exit (Nick Craig-Wood)
31666
31667         • Implement rclone cleanup (Nick Craig-Wood)
31668
31669         • Add  --onedrive-no-versions  flag  to  remove  old  versions  (Nick
31670           Craig-Wood)
31671
31672       • Pcloud
31673
31674         • Implement rclone link for public link creation (buengese)
31675
31676       • Qingstor
31677
31678         • Cancel   in   progress  multipart  uploads  on  rclone  exit  (Nick
31679           Craig-Wood)
31680
31681       • S3
31682
31683         • Preserve metadata when doing multipart copy (Nick Craig-Wood)
31684
31685         • Cancel in progress multipart uploads  and  copies  on  rclone  exit
31686           (Nick Craig-Wood)
31687
31688         • Add rclone link for public link sharing (Roman Kredentser)
31689
31690         • Add  rclone backend restore command to restore objects from GLACIER
31691           (Nick Craig-Wood)
31692
31693         • Add rclone cleanup and rclone backend cleanup to  clean  unfinished
31694           multipart uploads (Nick Craig-Wood)
31695
31696         • Add rclone backend list-multipart-uploads to list unfinished multi‐
31697           part uploads (Nick Craig-Wood)
31698
31699         • Add --s3-max-upload-parts support (Kamil Trzciński)
31700
31701         • Add --s3-no-check-bucket for  minimising  rclone  transactions  and
31702           perms (Nick Craig-Wood)
31703
31704         • Add  --s3-profile  and  --s3-shared-credentials-file  options (Nick
31705           Craig-Wood)
31706
31707         • Use regional s3 us-east-1 endpoint (David)
31708
31709         • Add Scaleway provider (Vincent Feltz)
31710
31711         • Update IBM COS endpoints (Egor Margineanu)
31712
31713         • Reduce the default --s3-copy-cutoff to < 5GB for Backblaze S3  com‐
31714           patibility (Nick Craig-Wood)
31715
31716         • Fix detection of bucket existing (Nick Craig-Wood)
31717
31718       • SFTP
31719
31720         • Use  the absolute path instead of the relative path for listing for
31721           improved compatibility (Nick Craig-Wood)
31722
31723         • Add --sftp-subsystem and --sftp-server-command options (aus)
31724
31725       • Swift
31726
31727         • Fix dangling large objects breaking the listing (Nick Craig-Wood)
31728
31729         • Fix purge not deleting directory markers (Nick Craig-Wood)
31730
31731         • Fix update multipart object removing all of  its  own  parts  (Nick
31732           Craig-Wood)
31733
31734         • Fix missing hash from object returned from upload (Nick Craig-Wood)
31735
31736       • Tardigrade
31737
31738         • Upgrade to uplink v1.2.0 (Kaloyan Raev)
31739
31740       • Union
31741
31742         • Fix writing with the all policy (Nick Craig-Wood)
31743
31744       • WebDAV
31745
31746         • Fix directory creation with 4shared (Nick Craig-Wood)
31747
31748   v1.52.3 - 2020-08-07
31749       See            commits           (https://github.com/rclone/rclone/com
31750       pare/v1.52.2...v1.52.3)
31751
31752       • Bug Fixes
31753
31754         • docs
31755
31756           • Disable smart typography (e.g.  en-dash) in MANUAL.* and man page
31757             (Nick Craig-Wood)
31758
31759           • Update install.md to reflect minimum Go version (Evan Harris)
31760
31761           • Update install from source instructions (Nick Craig-Wood)
31762
31763           • make_manual: Support SOURCE_DATE_EPOCH (Morten Linderud)
31764
31765         • log:  Fix  --use-json-log going to stderr not --log-file on Windows
31766           (Nick Craig-Wood)
31767
31768         • serve dlna: Fix file list on Samsung Series 6+ TVs  (Matteo  Pietro
31769           Dazzi)
31770
31771         • sync:  Fix  deadlock  with  --track-renames-strategy  modtime (Nick
31772           Craig-Wood)
31773
31774       • Cache
31775
31776         • Fix moveto/copyto remote:file remote:file2 (Nick Craig-Wood)
31777
31778       • Drive
31779
31780         • Stop using root_folder_id as a cache (Nick Craig-Wood)
31781
31782         • Make dangling shortcuts appear in listings (Nick Craig-Wood)
31783
31784         • Drop "Disabling ListR" messages down to debug (Nick Craig-Wood)
31785
31786         • Workaround and policy for Google Drive API (Dmitry Ustalov)
31787
31788       • FTP
31789
31790         • Add note to docs about  home  vs  root  directory  selection  (Nick
31791           Craig-Wood)
31792
31793       • Onedrive
31794
31795         • Fix reverting to Copy when Move would have worked (Nick Craig-Wood)
31796
31797         • Avoid comma rendered in URL in onedrive.md (Kevin)
31798
31799       • Pcloud
31800
31801         • Fix oauth on European region "eapi.pcloud.com" (Nick Craig-Wood)
31802
31803       • S3
31804
31805         • Fix  bucket Region auto detection when Region unset in config (Nick
31806           Craig-Wood)
31807
31808   v1.52.2 - 2020-06-24
31809       See           commits            (https://github.com/rclone/rclone/com
31810       pare/v1.52.1...v1.52.2)
31811
31812       • Bug Fixes
31813
31814         • build
31815
31816           • Fix docker release build action (Nick Craig-Wood)
31817
31818           • Fix custom timezone in Docker image (NoLooseEnds)
31819
31820         • check:  Fix misleading message which printed errors instead of dif‐
31821           ferences (Nick Craig-Wood)
31822
31823         • errors: Add WSAECONNREFUSED and more to the list of retriable  Win‐
31824           dows errors (Nick Craig-Wood)
31825
31826         • rcd: Fix incorrect prometheus metrics (Gary Kim)
31827
31828         • serve  restic:  Fix  flags  so they use environment variables (Nick
31829           Craig-Wood)
31830
31831         • serve webdav: Fix flags so they  use  environment  variables  (Nick
31832           Craig-Wood)
31833
31834         • sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
31835
31836       • Drive
31837
31838         • Fix  not  being  able to delete a directory with a trashed shortcut
31839           (Nick Craig-Wood)
31840
31841         • Fix creating a directory inside a shortcut (Nick Craig-Wood)
31842
31843         • Fix   --drive-impersonate   with   cached   root_folder_id    (Nick
31844           Craig-Wood)
31845
31846       • SFTP
31847
31848         • Fix SSH key PEM loading (Zac Rubin)
31849
31850       • Swift
31851
31852         • Speed  up  deletes  by not retrying segment container deletes (Nick
31853           Craig-Wood)
31854
31855       • Tardigrade
31856
31857         • Upgrade to uplink v1.1.1 (Caleb Case)
31858
31859       • WebDAV
31860
31861         • Fix free/used display for  rclone  about/df  for  certain  backends
31862           (Nick Craig-Wood)
31863
31864   v1.52.1 - 2020-06-10
31865       See            commits           (https://github.com/rclone/rclone/com
31866       pare/v1.52.0...v1.52.1)
31867
31868       • Bug Fixes
31869
31870         • lib/file: Fix SetSparse on Windows 7 which fixes downloads of files
31871           > 250MB (Nick Craig-Wood)
31872
31873         • build
31874
31875           • Update  go.mod  to  go1.14  to  enable  -mod=vendor  build  (Nick
31876             Craig-Wood)
31877
31878           • Remove quicktest from Dockerfile (Nick Craig-Wood)
31879
31880           • Build Docker images with GitHub actions (Matteo Pietro Dazzi)
31881
31882           • Update Docker build workflows (Nick Craig-Wood)
31883
31884           • Set user_allow_other in /etc/fuse.conf in the Docker image  (Nick
31885             Craig-Wood)
31886
31887           • Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
31888
31889         • docs
31890
31891           • Add  link  to  source  and  modified time to footer of every page
31892             (Nick Craig-Wood)
31893
31894           • Remove manually  set  dates  and  use  git  dates  instead  (Nick
31895             Craig-Wood)
31896
31897           • Minor  tense, punctuation, brevity and positivity changes for the
31898             home page (edwardxml)
31899
31900           • Remove leading slash in page reference  in  footer  when  present
31901             (Nick Craig-Wood)
31902
31903           • Note  commands  which  need  obscured  input  in  the  docs (Nick
31904             Craig-Wood)
31905
31906           • obscure: Write more help as we are referencing it elsewhere (Nick
31907             Craig-Wood)
31908
31909       • VFS
31910
31911         • Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick
31912           Craig-Wood)
31913
31914       • Drive
31915
31916         • Fix missing items when listing  using  --fast-list  /  ListR  (Nick
31917           Craig-Wood)
31918
31919       • Putio
31920
31921         • Fix panic on Object.Open (Cenk Alti)
31922
31923       • S3
31924
31925         • Fix  upload  of single files into buckets without create permission
31926           (Nick Craig-Wood)
31927
31928         • Fix --header-upload (Nick Craig-Wood)
31929
31930       • Tardigrade
31931
31932         • Fix listing bug by upgrading to v1.0.7
31933
31934         • Set UserAgent to rclone (Caleb Case)
31935
31936   v1.52.0 - 2020-05-27
31937       Special thanks to Martin Michlmayr for proof reading and correcting all
31938       the docs and Edward Barker for helping re-write the front page.
31939
31940       See            commits           (https://github.com/rclone/rclone/com
31941       pare/v1.51.0...v1.52.0)
31942
31943       • New backends
31944
31945         • Tardigrade (https://rclone.org/tardigrade/) backend  for  use  with
31946           storj.io (Caleb Case)
31947
31948         • Union   (https://rclone.org/union/)   re-write   to  have  multiple
31949           writable remotes (Max Sum)
31950
31951         • Seafile (/seafile) for Seafile server (Fred @creativeprojects)
31952
31953       • New commands
31954
31955         • backend: command for backend specific commands (see backends) (Nick
31956           Craig-Wood)
31957
31958         • cachestats:  Deprecate  in  favour  of  rclone backend stats cache:
31959           (Nick Craig-Wood)
31960
31961         • dbhashsum: Deprecate in favour of rclone hashsum DropboxHash  (Nick
31962           Craig-Wood)
31963
31964       • New Features
31965
31966         • Add  --header-download  and  --header-upload flags for setting HTTP
31967           headers when uploading/downloading (Tim Gallant)
31968
31969         • Add --header flag to add HTTP headers  to  every  HTTP  transaction
31970           (Nick Craig-Wood)
31971
31972         • Add  --check-first  to  do  all  checking before starting transfers
31973           (Nick Craig-Wood)
31974
31975         • Add --track-renames-strategy for configurable matching criteria for
31976           --track-renames (Bernd Schoolmann)
31977
31978         • Add  --cutoff-mode  hard,soft,cautious  (Shing  Kit Chan & Franklyn
31979           Tackitt)
31980
31981         • Filter flags (e.g.  --files-from -) can read from  stdin  (fishbul‐
31982           let)
31983
31984         • Add --error-on-no-transfer option (Jon Fautley)
31985
31986         • Implement  --order-by xxx,mixed for copying some small and some big
31987           files (Nick Craig-Wood)
31988
31989         • Allow --max-backlog to be negative meaning  as  large  as  possible
31990           (Nick Craig-Wood)
31991
31992         • Added --no-unicode-normalization flag to allow Unicode filenames to
31993           remain unique (Ben Zenker)
31994
31995         • Allow --min-age/--max-age to take a date  as  well  as  a  duration
31996           (Nick Craig-Wood)
31997
31998         • Add   rename  statistics  for  file  and  directory  renames  (Nick
31999           Craig-Wood)
32000
32001         • Add statistics output to JSON log (reddi)
32002
32003         • Make stats be printed on non-zero exit code (Nick Craig-Wood)
32004
32005         • When running  --password-command  allow  use  of  stdin  (Sébastien
32006           Gross)
32007
32008         • Stop empty strings being a valid remote path (Nick Craig-Wood)
32009
32010         • accounting:   support   WriterTo  for  less  memory  copying  (Nick
32011           Craig-Wood)
32012
32013         • build
32014
32015           • Update to use go1.14 for the build (Nick Craig-Wood)
32016
32017           • Add -trimpath to release build  for  reproduceable  builds  (Nick
32018             Craig-Wood)
32019
32020           • Remove GOOS and GOARCH from Dockerfile (Brandon Philips)
32021
32022         • config
32023
32024           • Fsync  the  config file after writing to save more reliably (Nick
32025             Craig-Wood)
32026
32027           • Add --obscure and  --no-obscure  flags  to  config  create/update
32028             (Nick Craig-Wood)
32029
32030           • Make config show take remote: as well as remote (Nick Craig-Wood)
32031
32032         • copyurl: Add --no-clobber flag (Denis)
32033
32034         • delete: Added --rmdirs flag to delete directories as well (Kush)
32035
32036         • filter: Added --files-from-raw flag (Ankur Gupta)
32037
32038         • genautocomplete: Add support for fish shell (Matan Rosenberg)
32039
32040         • log: Add support for syslog LOCAL facilities (Patryk Jakuszew)
32041
32042         • lsjson:  Add  --hash-type  parameter  and use it in lsf to speed up
32043           hashing (Nick Craig-Wood)
32044
32045         • rc
32046
32047           • Add  -o/--opt  and  -a/--arg  for  more  structured  input  (Nick
32048             Craig-Wood)
32049
32050           • Implement  backend/command  for running backend specific commands
32051             remotely (Nick Craig-Wood)
32052
32053           • Add mount/mount command for starting rclone  mount  via  the  API
32054             (Chaitanya)
32055
32056         • rcd: Add Prometheus metrics support (Gary Kim)
32057
32058         • serve http
32059
32060           • Added a --template flag for user defined markup (calistri)
32061
32062           • Add   Last-Modified   headers  to  files  and  directories  (Nick
32063             Craig-Wood)
32064
32065         • serve sftp: Add support for multiple host keys by  repeating  --key
32066           flag (Maxime Suret)
32067
32068         • touch:  Add  --localtime flag to make --timestamp localtime not UTC
32069           (Nick Craig-Wood)
32070
32071       • Bug Fixes
32072
32073         • accounting
32074
32075           • Restore "Max number of stats groups  reached"  log  line  (Michał
32076             Matczuk)
32077
32078           • Correct   exitcode  on  Transfer  Limit  Exceeded  flag.   (Anuar
32079             Serdaliyev)
32080
32081           • Reset bytes read during copy retry (Ankur Gupta)
32082
32083           • Fix race clearing stats (Nick Craig-Wood)
32084
32085         • copy: Only create empty directories when they don't  exist  on  the
32086           remote (Ishuah Kariuki)
32087
32088         • dedupe:  Stop  dedupe  deleting  files  with  identical  IDs  (Nick
32089           Craig-Wood)
32090
32091         • oauth
32092
32093           • Use custom http client so that --no-check-certificate is  honored
32094             by oauth token fetch (Mark Spieth)
32095
32096           • Replace deprecated oauth2.NoContext (Lars Lehtonen)
32097
32098         • operations
32099
32100           • Fix  setting  the timestamp on Windows for multithread copy (Nick
32101             Craig-Wood)
32102
32103           • Make rcat obey --ignore-checksum (Nick Craig-Wood)
32104
32105           • Make --max-transfer more accurate (Nick Craig-Wood)
32106
32107         • rc
32108
32109           • Fix dropped error (Lars Lehtonen)
32110
32111           • Fix misplaced http server config (Xiaoxing Ye)
32112
32113           • Disable duplicate log (ElonH)
32114
32115         • serve dlna
32116
32117           • Cds: don't specify childCount at all when unknown (Dan Walters)
32118
32119           • Cds: use modification time as date in dlna metadata (Dan Walters)
32120
32121         • serve restic: Fix tests  after  restic  project  removed  vendoring
32122           (Nick Craig-Wood)
32123
32124         • sync
32125
32126           • Fix incorrect "nothing to transfer" message using --delete-before
32127             (Nick Craig-Wood)
32128
32129           • Only create empty directories when they don't exist on the remote
32130             (Ishuah Kariuki)
32131
32132       • Mount
32133
32134         • Add   --async-read   flag   to  disable  asynchronous  reads  (Nick
32135           Craig-Wood)
32136
32137         • Ignore --allow-root flag with a warning as it has been removed  up‐
32138           stream (Nick Craig-Wood)
32139
32140         • Warn  if  --allow-non-empty  used on Windows and clarify docs (Nick
32141           Craig-Wood)
32142
32143         • Constrain to go1.13 or above otherwise bazil.org/fuse fails to com‐
32144           pile (Nick Craig-Wood)
32145
32146         • Fix fail because of too long volume name (evileye)
32147
32148         • Report 1PB free for unknown disk sizes (Nick Craig-Wood)
32149
32150         • Map more rclone errors into file systems errors (Nick Craig-Wood)
32151
32152         • Fix disappearing cwd problem (Nick Craig-Wood)
32153
32154         • Use ReaddirPlus on Windows to improve directory listing performance
32155           (Nick Craig-Wood)
32156
32157         • Send a hint as to whether the filesystem is case insensitive or not
32158           (Nick Craig-Wood)
32159
32160         • Add rc command mount/types (Nick Craig-Wood)
32161
32162         • Change maximum leaf name length to 1024 bytes (Nick Craig-Wood)
32163
32164       • VFS
32165
32166         • Add  --vfs-read-wait  and  --vfs-write-wait  flags  to control time
32167           waiting for a sequential read/write (Nick Craig-Wood)
32168
32169         • Change default --vfs-read-wait to 20ms (it was 5ms and not  config‐
32170           urable) (Nick Craig-Wood)
32171
32172         • Make df output more consistent on a rclone mount.  (Yves G)
32173
32174         • Report 1PB free for unknown disk sizes (Nick Craig-Wood)
32175
32176         • Fix  race  condition  caused  by unlocked reading of Dir.path (Nick
32177           Craig-Wood)
32178
32179         • Make File lock and Dir lock not overlap  to  avoid  deadlock  (Nick
32180           Craig-Wood)
32181
32182         • Implement lock ordering between File and Dir to eliminate deadlocks
32183           (Nick Craig-Wood)
32184
32185         • Factor the vfs cache into its own package (Nick Craig-Wood)
32186
32187         • Pin the Fs in use in the Fs cache (Nick Craig-Wood)
32188
32189         • Add SetSys() methods to Node to allow caching stuff on a node (Nick
32190           Craig-Wood)
32191
32192         • Ignore  file  not  found  errors  from  Hash  in Read.Release (Nick
32193           Craig-Wood)
32194
32195         • Fix hang in read wait code (Nick Craig-Wood)
32196
32197       • Local
32198
32199         • Speed up multi thread downloads by using sparse  files  on  Windows
32200           (Nick Craig-Wood)
32201
32202         • Implement  --local-no-sparse  flag for disabling sparse files (Nick
32203           Craig-Wood)
32204
32205         • Implement  rclone  backend  noop   for   testing   purposes   (Nick
32206           Craig-Wood)
32207
32208         • Fix "file not found" errors on post transfer Hash calculation (Nick
32209           Craig-Wood)
32210
32211       • Cache
32212
32213         • Implement rclone backend stats command (Nick Craig-Wood)
32214
32215         • Fix Server Side Copy with Temp Upload (Brandon McNama)
32216
32217         • Remove Unused Functions (Lars Lehtonen)
32218
32219         • Disable race tests until bbolt is fixed (Nick Craig-Wood)
32220
32221         • Move methods used for testing into test file (greatroar)
32222
32223         • Add Pin and Unpin and canonicalised lookup (Nick Craig-Wood)
32224
32225         • Use proper import path go.etcd.io/bbolt (Robert-André Mauchin)
32226
32227       • Crypt
32228
32229         • Calculate hashes for uploads from local disk (Nick Craig-Wood)
32230
32231           • This allows crypted Jottacloud uploads without using local disk
32232
32233           • This means crypted s3/b2 uploads will now have hashes
32234
32235         • Added rclone backend decode/encode commands to replicate  function‐
32236           ality of cryptdecode (Anagh Kumar Baranwal)
32237
32238         • Get  rid  of  the unused Cipher interface as it obfuscated the code
32239           (Nick Craig-Wood)
32240
32241       • Azure Blob
32242
32243         • Implement streaming of unknown sized files so rcat is now supported
32244           (Nick Craig-Wood)
32245
32246         • Implement memory pooling to control memory use (Nick Craig-Wood)
32247
32248         • Add --azureblob-disable-checksum flag (Nick Craig-Wood)
32249
32250         • Retry InvalidBlobOrBlock error as it may indicate block concurrency
32251           problems (Nick Craig-Wood)
32252
32253         • Remove unused Object.parseTimeString() (Lars Lehtonen)
32254
32255         • Fix  permission  error  on  SAS  URL  limited  to  container  (Nick
32256           Craig-Wood)
32257
32258       • B2
32259
32260         • Add support for --header-upload and --header-download (Tim Gallant)
32261
32262         • Ignore directory markers at the root also (Nick Craig-Wood)
32263
32264         • Force the case of the SHA1 to lowercase (Nick Craig-Wood)
32265
32266         • Remove unused largeUpload.clearUploadURL() (Lars Lehtonen)
32267
32268       • Box
32269
32270         • Add support for --header-upload and --header-download (Tim Gallant)
32271
32272         • Implement About to read size used (Nick Craig-Wood)
32273
32274         • Add token renew function for jwt auth (David Bramwell)
32275
32276         • Added  support  for  interchangeable  root  folder  for Box backend
32277           (Sunil Patra)
32278
32279         • Remove unnecessary iat from jws claims (David)
32280
32281       • Drive
32282
32283         • Follow shortcuts by default, skip with --drive-skip-shortcuts (Nick
32284           Craig-Wood)
32285
32286         • Implement  rclone  backend  shortcut command for creating shortcuts
32287           (Nick Craig-Wood)
32288
32289         • Added rclone backend command  to  change  service_account_file  and
32290           chunk_size (Anagh Kumar Baranwal)
32291
32292         • Fix missing files when using --fast-list and --drive-shared-with-me
32293           (Nick Craig-Wood)
32294
32295         • Fix  duplicate  items  when  using   --drive-shared-with-me   (Nick
32296           Craig-Wood)
32297
32298         • Extend --drive-stop-on-upload-limit to respond to teamDriveFileLim‐
32299           itExceeded.  (harry)
32300
32301         • Don't delete files with multiple parents to avoid data  loss  (Nick
32302           Craig-Wood)
32303
32304         • Server  side  copy  docs  use  default  description  if empty (Nick
32305           Craig-Wood)
32306
32307       • Dropbox
32308
32309         • Make error insufficient space to be fatal (harry)
32310
32311         • Add info about required redirect url (Elan Ruusamäe)
32312
32313       • Fichier
32314
32315         • Add support for --header-upload and --header-download (Tim Gallant)
32316
32317         • Implement  custom  pacer  to  deal  with  the  new  rate   limiting
32318           (buengese)
32319
32320       • FTP
32321
32322         • Fix lockup when using concurrency limit on failed connections (Nick
32323           Craig-Wood)
32324
32325         • Fix lockup on failed upload  when  using  concurrency  limit  (Nick
32326           Craig-Wood)
32327
32328         • Fix  lockup  on  Close  failures when using concurrency limit (Nick
32329           Craig-Wood)
32330
32331         • Work around pureftp sending spurious 150 messages (Nick Craig-Wood)
32332
32333       • Google Cloud Storage
32334
32335         • Add  support  for  --header-upload  and   --header-download   (Nick
32336           Craig-Wood)
32337
32338         • Add ARCHIVE storage class to help (Adam Stroud)
32339
32340         • Ignore directory markers at the root (Nick Craig-Wood)
32341
32342       • Googlephotos
32343
32344         • Make the start year configurable (Daven)
32345
32346         • Add support for --header-upload and --header-download (Tim Gallant)
32347
32348         • Create feature/favorites directory (Brandon Philips)
32349
32350         • Fix "concurrent map write" error (Nick Craig-Wood)
32351
32352         • Don't put an image in error message (Nick Craig-Wood)
32353
32354       • HTTP
32355
32356         • Improved  directory  listing  with  new template from Caddy project
32357           (calisro)
32358
32359       • Jottacloud
32360
32361         • Implement --jottacloud-trashed-only (buengese)
32362
32363         • Add support for --header-upload and --header-download (Tim Gallant)
32364
32365         • Use  RawURLEncoding  when  decoding  base64  encoded  login   token
32366           (buengese)
32367
32368         • Implement cleanup (buengese)
32369
32370         • Update  docs  regarding cleanup, removed remains from old auth, and
32371           added warning about special mountpoints.  (albertony)
32372
32373       • Mailru
32374
32375         • Describe 2FA requirements (valery1707)
32376
32377       • Onedrive
32378
32379         • Implement --onedrive-server-side-across-configs (Nick Craig-Wood)
32380
32381         • Add support for --header-upload and --header-download (Tim Gallant)
32382
32383         • Fix occasional 416 errors on multipart uploads (Nick Craig-Wood)
32384
32385         • Added maximum chunk size limit warning in the docs (Harry)
32386
32387         • Fix missing drive on config (Nick Craig-Wood)
32388
32389         • Make error quotaLimitReached to be fatal (harry)
32390
32391       • Opendrive
32392
32393         • Add support for --header-upload and --header-download (Tim Gallant)
32394
32395       • Pcloud
32396
32397         • Added support for interchangeable root folder  for  pCloud  backend
32398           (Sunil Patra)
32399
32400         • Add support for --header-upload and --header-download (Tim Gallant)
32401
32402         • Fix  initial  config  "Auth  state  doesn't  match"  message  (Nick
32403           Craig-Wood)
32404
32405       • Premiumizeme
32406
32407         • Add support for --header-upload and --header-download (Tim Gallant)
32408
32409         • Prune unused functions (Lars Lehtonen)
32410
32411       • Putio
32412
32413         • Add  support  for  --header-upload  and   --header-download   (Nick
32414           Craig-Wood)
32415
32416         • Make downloading files use the rclone http Client (Nick Craig-Wood)
32417
32418         • Fix   parsing   of  remotes  with  leading  and  trailing  /  (Nick
32419           Craig-Wood)
32420
32421       • Qingstor
32422
32423         • Make rclone cleanup remove pending multipart uploads older than 24h
32424           (Nick Craig-Wood)
32425
32426         • Try harder to cancel failed multipart uploads (Nick Craig-Wood)
32427
32428         • Prune multiUploader.list() (Lars Lehtonen)
32429
32430         • Lint fix (Lars Lehtonen)
32431
32432       • S3
32433
32434         • Add support for --header-upload and --header-download (Tim Gallant)
32435
32436         • Use memory pool for buffer allocations (Maciej Zimnoch)
32437
32438         • Add SSE-C support for AWS, Ceph, and MinIO (Jack Anderson)
32439
32440         • Fail fast multipart upload (Michał Matczuk)
32441
32442         • Report   errors   on   bucket   creation  (mkdir)  correctly  (Nick
32443           Craig-Wood)
32444
32445         • Specify  that  Minio  supports  URL  encoding  in  listings   (Nick
32446           Craig-Wood)
32447
32448         • Added 500 as retryErrorCode (Michał Matczuk)
32449
32450         • Use  --low-level-retries  as  the number of SDK retries (Aleksandar
32451           Janković)
32452
32453         • Fix multipart abort context (Aleksandar Jankovic)
32454
32455         • Replace deprecated session.New()  with  session.NewSession()  (Lars
32456           Lehtonen)
32457
32458         • Use  the  provided size parameter when allocating a new memory pool
32459           (Joachim Brandon LeBlanc)
32460
32461         • Use rclone's low level retries instead of AWS SDK  to  fix  listing
32462           retries (Nick Craig-Wood)
32463
32464         • Ignore directory markers at the root also (Nick Craig-Wood)
32465
32466         • Use single memory pool (Michał Matczuk)
32467
32468         • Do not resize buf on put to memBuf (Michał Matczuk)
32469
32470         • Improve docs for --s3-disable-checksum (Nick Craig-Wood)
32471
32472         • Don't  leak  memory  or  tokens  in edge cases for multipart upload
32473           (Nick Craig-Wood)
32474
32475       • Seafile
32476
32477         • Implement 2FA (Fred)
32478
32479       • SFTP
32480
32481         • Added --sftp-pem-key to support inline key files (calisro)
32482
32483         • Fix post transfer copies failing with 0 size  when  using  set_mod‐
32484           time=false (Nick Craig-Wood)
32485
32486       • Sharefile
32487
32488         • Add support for --header-upload and --header-download (Tim Gallant)
32489
32490       • Sugarsync
32491
32492         • Add support for --header-upload and --header-download (Tim Gallant)
32493
32494       • Swift
32495
32496         • Add   support   for  --header-upload  and  --header-download  (Nick
32497           Craig-Wood)
32498
32499         • Fix cosmetic issue in error message (Martin Michlmayr)
32500
32501       • Union
32502
32503         • Implement multiple writable remotes (Max Sum)
32504
32505         • Fix server-side copy (Max Sum)
32506
32507         • Implement ListR (Max Sum)
32508
32509         • Enable ListR when upstreams contain local (Max Sum)
32510
32511       • WebDAV
32512
32513         • Add support for --header-upload and --header-download (Tim Gallant)
32514
32515         • Fix X-OC-Mtime header for Transip compatibility (Nick Craig-Wood)
32516
32517         • Report full and consistent usage with about (Yves G)
32518
32519       • Yandex
32520
32521         • Add support for --header-upload and --header-download (Tim Gallant)
32522
32523   v1.51.0 - 2020-02-01
32524       • New backends
32525
32526         • Memory (https://rclone.org/memory/) (Nick Craig-Wood)
32527
32528         • Sugarsync (https://rclone.org/sugarsync/) (Nick Craig-Wood)
32529
32530       • New Features
32531
32532         • Adjust all backends  to  have  --backend-encoding  parameter  (Nick
32533           Craig-Wood)
32534
32535           • this  enables  the encoding for special characters to be adjusted
32536             or disabled
32537
32538         • Add --max-duration flag to control the maximum duration of a trans‐
32539           fer session (boosh)
32540
32541         • Add --expect-continue-timeout flag, default 1s (Nick Craig-Wood)
32542
32543         • Add  --no-check-dest  flag for copying without testing the destina‐
32544           tion (Nick Craig-Wood)
32545
32546         • Implement --order-by flag to order transfers (Nick Craig-Wood)
32547
32548         • accounting
32549
32550           • Don't show  entries  in  both  transferring  and  checking  (Nick
32551             Craig-Wood)
32552
32553           • Add option to delete stats (Aleksandar Jankovic)
32554
32555         • build
32556
32557           • Compress the test builds with gzip (Nick Craig-Wood)
32558
32559           • Implement  a  framework  for  starting  test servers during tests
32560             (Nick Craig-Wood)
32561
32562         • cmd: Always print elapsed time to tenth place seconds  in  progress
32563           (Gary Kim)
32564
32565         • config
32566
32567           • Add  --password-command  to  allow dynamic config password (Damon
32568             Permezel)
32569
32570           • Give config questions default values (Nick Craig-Wood)
32571
32572           • Check a remote exists when creating a new one (Nick Craig-Wood)
32573
32574         • copyurl: Add --stdout flag to write to stdout (Nick Craig-Wood)
32575
32576         • dedupe: Implement keep smallest too (Nick Craig-Wood)
32577
32578         • hashsum: Add flag --base64 flag (landall)
32579
32580         • lsf: Speed up on s3/swift/etc by not reading  mimetype  by  default
32581           (Nick Craig-Wood)
32582
32583         • lsjson: Add --no-mimetype flag (Nick Craig-Wood)
32584
32585         • rc:  Add  methods  to  turn  on  blocking and mutex profiling (Nick
32586           Craig-Wood)
32587
32588         • rcd
32589
32590           • Adding group parameter to stats (Chaitanya)
32591
32592           • Move webgui apart; option to disable browser (Xiaoxing Ye)
32593
32594         • serve sftp: Add support for public key with auth proxy (Paul  Tins‐
32595           ley)
32596
32597         • stats: Show deletes in stats and hide zero stats (anuar45)
32598
32599       • Bug Fixes
32600
32601         • accounting
32602
32603           • Fix error counter counting multiple times (Ankur Gupta)
32604
32605           • Fix error count shown as checks (Cnly)
32606
32607           • Clear finished transfer in stats-reset (Maciej Zimnoch)
32608
32609           • Added  StatsInfo  locking  in  statsGroups  sum  function (Michał
32610             Matczuk)
32611
32612         • asyncreader: Fix EOF error (buengese)
32613
32614         • check: Fix --one-way recursing more directories than  it  needs  to
32615           (Nick Craig-Wood)
32616
32617         • chunkedreader:  Disable  hash  calculation  for first segment (Nick
32618           Craig-Wood)
32619
32620         • config
32621
32622           • Do not open browser on headless on drive/gcs/google  photos  (Xi‐
32623             aoxing Ye)
32624
32625           • SetValueAndSave ignore error if config section does not exist yet
32626             (buengese)
32627
32628         • cmd: Fix completion with an encrypted config (Danil Semelenov)
32629
32630         • dbhashsum:  Stop  it  returning  UNSUPPORTED   on   dropbox   (Nick
32631           Craig-Wood)
32632
32633         • dedupe: Add missing modes to help string (Nick Craig-Wood)
32634
32635         • operations
32636
32637           • Fix  dedupe  continuing  on errors like insufficientFilePersimmon
32638             (SezalAgrawal)
32639
32640           • Clear accounting before low level retry (Maciej Zimnoch)
32641
32642           • Write debug message when hashes could not be checked (Ole Schütt)
32643
32644           • Move interface assertion to  tests  to  remove  pflag  dependency
32645             (Nick Craig-Wood)
32646
32647           • Make   NewOverrideObjectInfo   public   and   factor  uses  (Nick
32648             Craig-Wood)
32649
32650         • proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood)
32651
32652         • vendor
32653
32654           • Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood)
32655
32656           • Update github.com/t3rm1n4l/go-mega to fix  mega  "illegal  base64
32657             data at input byte 22" (Nick Craig-Wood)
32658
32659           • Update termbox-go to fix ncdu command on FreeBSD (Kuang-che Wu)
32660
32661           • Update t3rm1n4l/go-mega - fixes mega: couldn't login: crypto/aes:
32662             invalid key size 0 (Nick Craig-Wood)
32663
32664       • Mount
32665
32666         • Enable async reads for a 20% speedup (Nick Craig-Wood)
32667
32668         • Replace use of WriteAt with Write for  cache  mode  >=  writes  and
32669           O_APPEND (Brett Dutro)
32670
32671         • Make sure we call unmount when exiting (Nick Craig-Wood)
32672
32673         • Don't  build  on  go1.10  as bazil/fuse no longer supports it (Nick
32674           Craig-Wood)
32675
32676         • When setting dates discard out of range dates (Nick Craig-Wood)
32677
32678       • VFS
32679
32680         • Add  a  newly  created  file  straight  into  the  directory  (Nick
32681           Craig-Wood)
32682
32683         • Only calculate one hash for reads for a speedup (Nick Craig-Wood)
32684
32685         • Make  ReadAt  for  non cached files work better with non-sequential
32686           reads (Nick Craig-Wood)
32687
32688         • Fix edge cases when reading ModTime from file (Nick Craig-Wood)
32689
32690         • Make sure existing files opened for write show correct  size  (Nick
32691           Craig-Wood)
32692
32693         • Don't  cache  the  path  in  RW  file objects to fix renaming (Nick
32694           Craig-Wood)
32695
32696         • Fix rename of open files when using the VFS cache (Nick Craig-Wood)
32697
32698         • When renaming files in the cache, rename the cache item  in  memory
32699           too (Nick Craig-Wood)
32700
32701         • Fix  open file renaming on drive when using --vfs-cache-mode writes
32702           (Nick Craig-Wood)
32703
32704         • Fix incorrect modtime for  mv  into  mount  with  --vfs-cache-modes
32705           writes (Nick Craig-Wood)
32706
32707         • On  rename,  rename  in  cache  too if the file exists (Anagh Kumar
32708           Baranwal)
32709
32710       • Local
32711
32712         • Make source file being updated  errors  be  NoLowLevelRetry  errors
32713           (Nick Craig-Wood)
32714
32715         • Fix update of hidden files on Windows (Nick Craig-Wood)
32716
32717       • Cache
32718
32719         • Follow    move    of   upstream   library   github.com/coreos/bbolt
32720           github.com/etcd-io/bbolt (Nick Craig-Wood)
32721
32722         • Fix fatal error: concurrent map writes (Nick Craig-Wood)
32723
32724       • Crypt
32725
32726         • Reorder the filename encryption options (Thomas Eales)
32727
32728         • Correctly handle trailing dot (buengese)
32729
32730       • Chunker
32731
32732         • Reduce length of temporary suffix (Ivan Andreev)
32733
32734       • Drive
32735
32736         • Add --drive-stop-on-upload-limit flag to  stop  syncs  when  upload
32737           limit reached (Nick Craig-Wood)
32738
32739         • Add  --drive-use-shared-date to use date file was shared instead of
32740           modified date (Garry McNulty)
32741
32742         • Make sure invalid auth for teamdrives always reports an error (Nick
32743           Craig-Wood)
32744
32745         • Fix --fast-list when using appDataFolder (Nick Craig-Wood)
32746
32747         • Use  multipart resumable uploads for streaming and uploads in mount
32748           (Nick Craig-Wood)
32749
32750         • Log an ERROR if an incomplete search is returned (Nick Craig-Wood)
32751
32752         • Hide dangerous config from the configurator (Nick Craig-Wood)
32753
32754       • Dropbox
32755
32756         • Treat insufficient_space  errors  as  non  retriable  errors  (Nick
32757           Craig-Wood)
32758
32759       • Jottacloud
32760
32761         • Use new auth method used by official client (buengese)
32762
32763         • Add URL to generate Login Token to config wizard (Nick Craig-Wood)
32764
32765         • Add support whitelabel versions (buengese)
32766
32767       • Koofr
32768
32769         • Use rclone HTTP client.  (jaKa)
32770
32771       • Onedrive
32772
32773         • Add Sites.Read.All permission (Benjamin Richter)
32774
32775         • Add support "Retry-After" header (Motonori IWAMURO)
32776
32777       • Opendrive
32778
32779         • Implement --opendrive-chunk-size (Nick Craig-Wood)
32780
32781       • S3
32782
32783         • Re-implement   multipart   upload   to   fix  memory  issues  (Nick
32784           Craig-Wood)
32785
32786         • Add --s3-copy-cutoff for size to switch  to  multipart  copy  (Nick
32787           Craig-Wood)
32788
32789         • Add new region Asia Pacific (Hong Kong) (Outvi V)
32790
32791         • Reduce  memory  usage streaming files by reducing max stream upload
32792           size (Nick Craig-Wood)
32793
32794         • Add --s3-list-chunk option for bucket listing (Thomas Kriechbaumer)
32795
32796         • Force path style bucket access to off  for  AWS  deprecation  (Nick
32797           Craig-Wood)
32798
32799         • Use AWS web identity role provider if available (Tennix)
32800
32801         • Add StackPath Object Storage Support (Dave Koston)
32802
32803         • Fix ExpiryWindow value (Aleksandar Jankovic)
32804
32805         • Fix DisableChecksum condition (Aleksandar Janković)
32806
32807         • Fix URL decoding of NextMarker (Nick Craig-Wood)
32808
32809       • SFTP
32810
32811         • Add  --sftp-skip-links to skip symlinks and non regular files (Nick
32812           Craig-Wood)
32813
32814         • Retry Creation of Connection (Sebastian Brandt)
32815
32816         • Fix "failed to parse private key file: ssh: not an  encrypted  key"
32817           error (Nick Craig-Wood)
32818
32819         • Open  files  for  update  write  only to fix AWS SFTP interop (Nick
32820           Craig-Wood)
32821
32822       • Swift
32823
32824         • Reserve segments of dynamic large object  when  delete  objects  in
32825           container what was enabled versioning.  (Nguyễn Hữu Luân)
32826
32827         • Fix parsing of X-Object-Manifest (Nick Craig-Wood)
32828
32829         • Update OVH API endpoint (unbelauscht)
32830
32831       • WebDAV
32832
32833         • Make nextcloud only upload SHA1 checksums (Nick Craig-Wood)
32834
32835         • Fix  case  of  "Bearer"  in Authorization: header to agree with RFC
32836           (Nick Craig-Wood)
32837
32838         • Add Referer header to fix problems with WAFs (Nick Craig-Wood)
32839
32840   v1.50.2 - 2019-11-19
32841       • Bug Fixes
32842
32843         • accounting: Fix memory leak on retries operations (Nick Craig-Wood)
32844
32845       • Drive
32846
32847         • Fix listing of the root  directory  with  drive.files  scope  (Nick
32848           Craig-Wood)
32849
32850         • Fix    --drive-root-folder-id   with   team/shared   drives   (Nick
32851           Craig-Wood)
32852
32853   v1.50.1 - 2019-11-02
32854       • Bug Fixes
32855
32856         • hash: Fix accidentally  changed  hash  names  for  DropboxHash  and
32857           CRC-32 (Nick Craig-Wood)
32858
32859         • fshttp:  Fix  error reporting on tpslimit token bucket errors (Nick
32860           Craig-Wood)
32861
32862         • fshttp: Don't print token bucket errors on context cancelled  (Nick
32863           Craig-Wood)
32864
32865       • Local
32866
32867         • Fix listings of .  on Windows (Nick Craig-Wood)
32868
32869       • Onedrive
32870
32871         • Fix DirMove/Move after Onedrive change (Xiaoxing Ye)
32872
32873   v1.50.0 - 2019-10-26
32874       • New backends
32875
32876         • Citrix Sharefile (https://rclone.org/sharefile/) (Nick Craig-Wood)
32877
32878         • Chunker (https://rclone.org/chunker/) - an overlay backend to split
32879           files into smaller parts (Ivan Andreev)
32880
32881         • Mail.ru Cloud (https://rclone.org/mailru/) (Ivan Andreev)
32882
32883       • New Features
32884
32885         • encodings (Fabian Möller & Nick Craig-Wood)
32886
32887           • All backends now use file name encoding to ensure any  file  name
32888             can be written to any backend.
32889
32890           • See  the  restricted  file  name  docs  (https://rclone.org/over
32891             view/#restricted-filenames) for more info and the  local  backend
32892             docs (/local/#filenames).
32893
32894           • Some file names may look different in rclone if you are using any
32895             control  characters  in  names  or  unicode   FULLWIDTH   symbols
32896             (https://en.wikipedia.org/wiki/Halfwidth_and_Full
32897             width_Forms_(Unicode_block)).
32898
32899         • build
32900
32901           • Update to use go1.13 for the build (Nick Craig-Wood)
32902
32903           • Drop support for go1.9 (Nick Craig-Wood)
32904
32905           • Build rclone with GitHub actions (Nick Craig-Wood)
32906
32907           • Convert python scripts to python3 (Nick Craig-Wood)
32908
32909           • Swap Azure/go-ansiterm for mattn/go-colorable (Nick Craig-Wood)
32910
32911           • Dockerfile fixes (Matei David)
32912
32913           • Add  plugin  support  (https://github.com/rclone/rclone/blob/mas
32914             ter/CONTRIBUTING.md#writing-a-plugin)  for  backends and commands
32915             (Richard Patel)
32916
32917         • config
32918
32919           • Use alternating Red/Green in config to make  more  obvious  (Nick
32920             Craig-Wood)
32921
32922         • contrib
32923
32924           • Add sample DLNA server Docker Compose manifest.  (pataquets)
32925
32926           • Add sample WebDAV server Docker Compose manifest.  (pataquets)
32927
32928         • copyurl
32929
32930           • Add --auto-filename flag for using file name from URL in destina‐
32931             tion path (Denis)
32932
32933         • serve dlna:
32934
32935           • Many compatibility improvements (Dan Walters)
32936
32937           • Support for external srt subtitles (Dan Walters)
32938
32939         • rc
32940
32941           • Added command core/quit (Saksham Khanna)
32942
32943       • Bug Fixes
32944
32945         • sync
32946
32947           • Make --update/-u not transfer files that  haven't  changed  (Nick
32948             Craig-Wood)
32949
32950           • Free  objects  after  they  come out of the transfer pipe to save
32951             memory (Nick Craig-Wood)
32952
32953           • Fix --files-from without --no-traverse  doing  a  recursive  scan
32954             (Nick Craig-Wood)
32955
32956         • operations
32957
32958           • Fix accounting for server-side copies (Nick Craig-Wood)
32959
32960           • Display 'All duplicates removed' only if dedupe successful (Sezal
32961             Agrawal)
32962
32963           • Display 'Deleted X extra copies' only if dedupe successful (Sezal
32964             Agrawal)
32965
32966         • accounting
32967
32968           • Only  allow  up to 100 completed transfers in the accounting list
32969             to save memory (Nick Craig-Wood)
32970
32971           • Cull the old time ranges  when  possible  to  save  memory  (Nick
32972             Craig-Wood)
32973
32974           • Fix panic due to server-side copy fallback (Ivan Andreev)
32975
32976           • Fix  memory leak noticeable for transfers of large numbers of ob‐
32977             jects (Nick Craig-Wood)
32978
32979           • Fix total duration calculation (Nick Craig-Wood)
32980
32981         • cmd
32982
32983           • Fix environment variables not setting command  line  flags  (Nick
32984             Craig-Wood)
32985
32986           • Make  autocomplete  compatible  with  bash's posix mode for macOS
32987             (Danil Semelenov)
32988
32989           • Make --progress work in git bash on Windows (Nick Craig-Wood)
32990
32991           • Fix 'compopt: command not found' on autocomplete on macOS  (Danil
32992             Semelenov)
32993
32994         • config
32995
32996           • Fix  setting  of  non  top level flags from environment variables
32997             (Nick Craig-Wood)
32998
32999           • Check  config  names  more  carefully  and  report  errors  (Nick
33000             Craig-Wood)
33001
33002           • Remove  error:  can't use --size-only and --ignore-size together.
33003             (Nick Craig-Wood)
33004
33005         • filter: Prevent mixing options when --files-from is in use (Michele
33006           Caci)
33007
33008         • serve  sftp:  Fix  crash on unsupported operations (e.g.  Readlink)
33009           (Nick Craig-Wood)
33010
33011       • Mount
33012
33013         • Allow files of unknown size to be read properly (Nick Craig-Wood)
33014
33015         • Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood)
33016
33017         • Fix panic on File.Open (Nick Craig-Wood)
33018
33019         • Fix "mount_fusefs: -o timeout=: option not  supported"  on  FreeBSD
33020           (Nick Craig-Wood)
33021
33022         • Don't  pass  huge  filenames  (>4k)  to FUSE as it can't cope (Nick
33023           Craig-Wood)
33024
33025       • VFS
33026
33027         • Add flag --vfs-case-insensitive for windows/macOS mounts (Ivan  An‐
33028           dreev)
33029
33030         • Make  objects  of  unknown  size  readable  through  the  VFS (Nick
33031           Craig-Wood)
33032
33033         • Move writeback of dirty data out of close()  method  into  its  own
33034           method  (FlushWrites)  and  remove close() call from Flush() (Brett
33035           Dutro)
33036
33037         • Stop empty dirs disappearing when renamed on bucket  based  remotes
33038           (Nick Craig-Wood)
33039
33040         • Stop  change notify polling clearing so much of the directory cache
33041           (Nick Craig-Wood)
33042
33043       • Azure Blob
33044
33045         • Disable logging to the Windows event log (Nick Craig-Wood)
33046
33047       • B2
33048
33049         • Remove unverified: prefix on sha1 to improve  interop  (e.g.   with
33050           CyberDuck) (Nick Craig-Wood)
33051
33052       • Box
33053
33054         • Add options to get access token via JWT auth (David)
33055
33056       • Drive
33057
33058         • Disable  HTTP/2  by  default to work around INTERNAL_ERROR problems
33059           (Nick Craig-Wood)
33060
33061         • Make sure that drive root ID is always canonical (Nick Craig-Wood)
33062
33063         • Fix --drive-shared-with-me from the  root  with  lsand  --fast-list
33064           (Nick Craig-Wood)
33065
33066         • Fix ChangeNotify polling for shared drives (Nick Craig-Wood)
33067
33068         • Fix   change   notify   polling   when  using  appDataFolder  (Nick
33069           Craig-Wood)
33070
33071       • Dropbox
33072
33073         • Make disallowed filenames errors not retry (Nick Craig-Wood)
33074
33075         • Fix nil pointer exception on restricted files (Nick Craig-Wood)
33076
33077       • Fichier
33078
33079         • Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood)
33080
33081       • FTP
33082
33083         • Allow disabling EPSV mode (Jon Fautley)
33084
33085       • HTTP
33086
33087         • HEAD directory entries in parallel to speedup (Nick Craig-Wood)
33088
33089         • Add --http-no-head to stop rclone  doing  HEAD  in  listings  (Nick
33090           Craig-Wood)
33091
33092       • Putio
33093
33094         • Add ability to resume uploads (Cenk Alti)
33095
33096       • S3
33097
33098         • Fix signature v2_auth headers (Anthony Rusdi)
33099
33100         • Fix encoding for control characters (Nick Craig-Wood)
33101
33102         • Only ask for URL encoded directory listings if we need them on Ceph
33103           (Nick Craig-Wood)
33104
33105         • Add option for multipart failure behaviour (Aleksandar Jankovic)
33106
33107         • Support for multipart copy (庄天翼)
33108
33109         • Fix nil pointer reference if no metadata returned for object  (Nick
33110           Craig-Wood)
33111
33112       • SFTP
33113
33114         • Fix  --sftp-ask-password  trying  to  contact  the  ssh agent (Nick
33115           Craig-Wood)
33116
33117         • Fix hashes of files with backslashes (Nick Craig-Wood)
33118
33119         • Include more ciphers with --sftp-use-insecure-cipher  (Carlos  Fer‐
33120           reyra)
33121
33122       • WebDAV
33123
33124         • Parse and return Sharepoint error response (Henning Surmeier)
33125
33126   v1.49.5 - 2019-10-05
33127       • Bug Fixes
33128
33129         • Revert  back  to  go1.12.x  for  the v1.49.x builds as go1.13.x was
33130           causing issues (Nick Craig-Wood)
33131
33132         • Fix rpm packages by using master builds of nfpm (Nick Craig-Wood)
33133
33134         • Fix macOS build after brew changes (Nick Craig-Wood)
33135
33136   v1.49.4 - 2019-09-29
33137       • Bug Fixes
33138
33139         • cmd/rcd: Address ZipSlip vulnerability (Richard Patel)
33140
33141         • accounting: Fix file handle leak on errors (Nick Craig-Wood)
33142
33143         • oauthutil: Fix security problem when running with two users on  the
33144           same machine (Nick Craig-Wood)
33145
33146       • FTP
33147
33148         • Fix  listing  of an empty root returning: error dir not found (Nick
33149           Craig-Wood)
33150
33151       • S3
33152
33153         • Fix SetModTime on GLACIER/ARCHIVE  objects  and  implement  set/get
33154           tier (Nick Craig-Wood)
33155
33156   v1.49.3 - 2019-09-15
33157       • Bug Fixes
33158
33159         • accounting
33160
33161           • Fix total duration calculation (Aleksandar Jankovic)
33162
33163           • Fix "file already closed" on transfer retries (Nick Craig-Wood)
33164
33165   v1.49.2 - 2019-09-08
33166       • New Features
33167
33168         • build: Add Docker workflow support (Alfonso Montero)
33169
33170       • Bug Fixes
33171
33172         • accounting:   Fix  locking  in  Transfer  to  avoid  deadlock  with
33173           --progress (Nick Craig-Wood)
33174
33175         • docs: Fix template argument for mktemp in install.sh (Cnly)
33176
33177         • operations: Fix -u/--update with google photos / files  of  unknown
33178           size (Nick Craig-Wood)
33179
33180         • rc: Fix docs for config/create /update /password (Nick Craig-Wood)
33181
33182       • Google Cloud Storage
33183
33184         • Fix need for elevated permissions on SetModTime (Nick Craig-Wood)
33185
33186   v1.49.1 - 2019-08-28
33187       • Bug Fixes
33188
33189         • config:  Fix  generated  passwords  being  stored as empty password
33190           (Nick Craig-Wood)
33191
33192         • rcd: Added missing parameter for web-gui info logs.  (Chaitanya)
33193
33194       • Googlephotos
33195
33196         • Fix crash on error response (Nick Craig-Wood)
33197
33198       • Onedrive
33199
33200         • Fix crash on error response (Nick Craig-Wood)
33201
33202   v1.49.0 - 2019-08-26
33203       • New backends
33204
33205         • 1fichier (https://rclone.org/fichier/) (Laura Hausmann)
33206
33207         • Google Photos (https://rclone.org/googlephotos/) (Nick Craig-Wood)
33208
33209         • Putio (https://rclone.org/putio/) (Cenk Alti)
33210
33211         • premiumize.me (https://rclone.org/premiumizeme/) (Nick Craig-Wood)
33212
33213       • New Features
33214
33215         • Experimental web GUI (https://rclone.org/gui/)  (Chaitanya  Bankan‐
33216           hal)
33217
33218         • Implement --compare-dest & --copy-dest (yparitcher)
33219
33220         • Implement  --suffix  without --backup-dir for backup to current dir
33221           (yparitcher)
33222
33223         • config reconnect to re-login (re-run the oauth login) for the back‐
33224           end.  (Nick Craig-Wood)
33225
33226         • config userinfo to discover which user you are logged in as.  (Nick
33227           Craig-Wood)
33228
33229         • config disconnect to disconnect you (log  out)  from  the  backend.
33230           (Nick Craig-Wood)
33231
33232         • Add --use-json-log for JSON logging (justinalin)
33233
33234         • Add context propagation to rclone (Aleksandar Jankovic)
33235
33236         • Reworking  internal statistics interfaces so they work with rc jobs
33237           (Aleksandar Jankovic)
33238
33239         • Add Higher units for ETA (AbelThar)
33240
33241         • Update rclone logos to new design (Andreas Chlupka)
33242
33243         • hash: Add CRC-32 support (Cenk Alti)
33244
33245         • help showbackend: Fixed advanced option category when there are  no
33246           standard options (buengese)
33247
33248         • ncdu: Display/Copy to Clipboard Current Path (Gary Kim)
33249
33250         • operations:
33251
33252           • Run hashing operations in parallel (Nick Craig-Wood)
33253
33254           • Don't  calculate  checksums  when  using  --ignore-checksum (Nick
33255             Craig-Wood)
33256
33257           • Check  transfer  hashes  when  using   --size-only   mode   (Nick
33258             Craig-Wood)
33259
33260           • Disable  multi  thread  copy  for  local  to  local  copies (Nick
33261             Craig-Wood)
33262
33263           • Debug successful hashes as well as failures (Nick Craig-Wood)
33264
33265         • rc
33266
33267           • Add ability to stop async jobs (Aleksandar Jankovic)
33268
33269           • Return current settings if core/bwlimit called without parameters
33270             (Nick Craig-Wood)
33271
33272           • Rclone-WebUI integration with rclone (Chaitanya Bankanhal)
33273
33274           • Added command line parameter to control the cross origin resource
33275             sharing (CORS) in the  rcd.   (Security  Improvement)  (Chaitanya
33276             Bankanhal)
33277
33278           • Add  anchor  tags  to  the  docs  so  links  are consistent (Nick
33279             Craig-Wood)
33280
33281           • Remove _async key from input parameters after  parsing  so  later
33282             operations won't get confused (buengese)
33283
33284           • Add call to clear stats (Aleksandar Jankovic)
33285
33286         • rcd
33287
33288           • Auto-login for web-gui (Chaitanya Bankanhal)
33289
33290           • Implement --baseurl for rcd and web-gui (Chaitanya Bankanhal)
33291
33292         • serve dlna
33293
33294           • Only  select  interfaces  which  can  multicast  for  SSDP  (Nick
33295             Craig-Wood)
33296
33297           • Add more builtin mime types to cover standard  audio/video  (Nick
33298             Craig-Wood)
33299
33300           • Fix  missing  mime  types on Android causing missing videos (Nick
33301             Craig-Wood)
33302
33303         • serve ftp
33304
33305           • Refactor to bring into  line  with  other  serve  commands  (Nick
33306             Craig-Wood)
33307
33308           • Implement --auth-proxy (Nick Craig-Wood)
33309
33310         • serve http: Implement --baseurl (Nick Craig-Wood)
33311
33312         • serve restic: Implement --baseurl (Nick Craig-Wood)
33313
33314         • serve sftp
33315
33316           • Implement auth proxy (Nick Craig-Wood)
33317
33318           • Fix detection of whether server is authorized (Nick Craig-Wood)
33319
33320         • serve webdav
33321
33322           • Implement --baseurl (Nick Craig-Wood)
33323
33324           • Support --auth-proxy (Nick Craig-Wood)
33325
33326       • Bug Fixes
33327
33328         • Make "bad record MAC" a retriable error (Nick Craig-Wood)
33329
33330         • copyurl:   Fix   copying   files  that  return  HTTP  errors  (Nick
33331           Craig-Wood)
33332
33333         • march:  Fix  checking  sub-directories  when  using   --no-traverse
33334           (buengese)
33335
33336         • rc
33337
33338           • Fix unmarshalable http.AuthFn in options and put in test for mar‐
33339             shalability (Nick Craig-Wood)
33340
33341           • Move job expire flags to rc to fix initialization  problem  (Nick
33342             Craig-Wood)
33343
33344           • Fix --loopback with rc/list and others (Nick Craig-Wood)
33345
33346         • rcat:   Fix   slowdown   on  systems  with  multiple  hashes  (Nick
33347           Craig-Wood)
33348
33349         • rcd: Fix permissions problems on cache directory with web gui down‐
33350           load (Nick Craig-Wood)
33351
33352       • Mount
33353
33354         • Default  --daemon-timout  to  15 minutes on macOS and FreeBSD (Nick
33355           Craig-Wood)
33356
33357         • Update docs to show mounting from root OK for  bucket  based  (Nick
33358           Craig-Wood)
33359
33360         • Remove nonseekable flag from write files (Nick Craig-Wood)
33361
33362       • VFS
33363
33364         • Make write without cache more efficient (Nick Craig-Wood)
33365
33366         • Fix --vfs-cache-mode minimal and writes ignoring cached files (Nick
33367           Craig-Wood)
33368
33369       • Local
33370
33371         • Add  --local-case-sensitive  and   --local-case-insensitive   (Nick
33372           Craig-Wood)
33373
33374         • Avoid  polluting  page  cache  when uploading local files to remote
33375           backends (Michał Matczuk)
33376
33377         • Don't calculate any hashes by default (Nick Craig-Wood)
33378
33379         • Fadvise run syscall on a dedicated go routine (Michał Matczuk)
33380
33381       • Azure Blob
33382
33383         • Azure Storage Emulator support (Sandeep)
33384
33385         • Updated config help details to remove connection string  references
33386           (Sandeep)
33387
33388         • Make all operations work from the root (Nick Craig-Wood)
33389
33390       • B2
33391
33392         • Implement link sharing (yparitcher)
33393
33394         • Enable server-side copy to copy between buckets (Nick Craig-Wood)
33395
33396         • Make all operations work from the root (Nick Craig-Wood)
33397
33398       • Drive
33399
33400         • Fix server-side copy of big files (Nick Craig-Wood)
33401
33402         • Update API for teamdrive use (Nick Craig-Wood)
33403
33404         • Add error for purge with --drive-trashed-only (ginvine)
33405
33406       • Fichier
33407
33408         • Make FolderID int and adjust related code (buengese)
33409
33410       • Google Cloud Storage
33411
33412         • Reduce   oauth   scope  requested  as  suggested  by  Google  (Nick
33413           Craig-Wood)
33414
33415         • Make all operations work from the root (Nick Craig-Wood)
33416
33417       • HTTP
33418
33419         • Add  --http-headers  flag  for  setting  arbitrary  headers   (Nick
33420           Craig-Wood)
33421
33422       • Jottacloud
33423
33424         • Use new api for retrieving internal username (buengese)
33425
33426         • Refactor configuration and minor cleanup (buengese)
33427
33428       • Koofr
33429
33430         • Support setting modification times on Koofr backend.  (jaKa)
33431
33432       • Opendrive
33433
33434         • Refactor  to  use  existing  lib/rest  facilities for uploads (Nick
33435           Craig-Wood)
33436
33437       • Qingstor
33438
33439         • Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood)
33440
33441         • Make all operations work from the root (Nick Craig-Wood)
33442
33443       • S3
33444
33445         • Add INTELLIGENT_TIERING storage class (Matti Niemenmaa)
33446
33447         • Make all operations work from the root (Nick Craig-Wood)
33448
33449       • SFTP
33450
33451         • Add missing interface check and fix About (Nick Craig-Wood)
33452
33453         • Completely ignore all modtime checks if SetModTime=false (Jon Faut‐
33454           ley)
33455
33456         • Support md5/sha1 with rsync.net (Nick Craig-Wood)
33457
33458         • Save  the md5/sha1 command in use to the config file for efficiency
33459           (Nick Craig-Wood)
33460
33461         • Opt-in     support     for     diffie-hellman-group-exchange-sha256
33462           diffie-hellman-group-exchange-sha1 (Yi FU)
33463
33464       • Swift
33465
33466         • Use  FixRangeOption  to  fix  0  length  files  via  the  VFS (Nick
33467           Craig-Wood)
33468
33469         • Fix upload when using no_chunk to return  the  correct  size  (Nick
33470           Craig-Wood)
33471
33472         • Make all operations work from the root (Nick Craig-Wood)
33473
33474         • Fix  segments leak during failed large file uploads.  (nguyenhuulu‐
33475           an434)
33476
33477       • WebDAV
33478
33479         • Add --webdav-bearer-token-command (Nick Craig-Wood)
33480
33481         • Refresh token when it  expires  with  --webdav-bearer-token-command
33482           (Nick Craig-Wood)
33483
33484         • Add  docs for using bearer_token_command with oidc-agent (Paul Mil‐
33485           lar)
33486
33487   v1.48.0 - 2019-06-15
33488       • New commands
33489
33490         • serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood)
33491
33492       • New Features
33493
33494         • Multi threaded downloads to local storage (Nick Craig-Wood)
33495
33496           • controlled with --multi-thread-cutoff and --multi-thread-streams
33497
33498         • Use rclone.conf from rclone executable directory to enable portable
33499           use (albertony)
33500
33501         • Allow sync of a file and a directory with the same name (forgems)
33502
33503           • this is common on bucket based remotes, e.g.  s3, gcs
33504
33505         • Add --ignore-case-sync for forced case insensitivity (garry415)
33506
33507         • Implement  --stats-one-line-date  and  --stats-one-line-date-format
33508           (Peter Berbec)
33509
33510         • Log an ERROR for all commands which exit with non-zero status (Nick
33511           Craig-Wood)
33512
33513         • Use  go-homedir  to  read  the  home  directory more reliably (Nick
33514           Craig-Wood)
33515
33516         • Enable creating encrypted config through external script invocation
33517           (Wojciech Smigielski)
33518
33519         • build: Drop support for go1.8 (Nick Craig-Wood)
33520
33521         • config: Make config create/update encrypt passwords where necessary
33522           (Nick Craig-Wood)
33523
33524         • copyurl: Honor --no-check-certificate (Stefan Breunig)
33525
33526         • install: Linux skip man pages if no mandb (didil)
33527
33528         • lsf: Support showing the Tier of the object (Nick Craig-Wood)
33529
33530         • lsjson
33531
33532           • Added EncryptedPath to output (calisro)
33533
33534           • Support showing the Tier of the object (Nick Craig-Wood)
33535
33536           • Add IsBucket field for bucket based remote listing  of  the  root
33537             (Nick Craig-Wood)
33538
33539         • rc
33540
33541           • Add  --loopback  flag  to  run commands directly without a server
33542             (Nick Craig-Wood)
33543
33544           • Add operations/fsinfo: Return information about the remote  (Nick
33545             Craig-Wood)
33546
33547           • Skip auth for OPTIONS request (Nick Craig-Wood)
33548
33549           • cmd/providers:  Add  DefaultStr,  ValueStr  and Type fields (Nick
33550             Craig-Wood)
33551
33552           • jobs: Make job expiry timeouts configurable (Aleksandar Jankovic)
33553
33554         • serve dlna reworked and improved (Dan Walters)
33555
33556         • serve ftp: add --ftp-public-ip flag to specify public IP (calistri)
33557
33558         • serve restic: Add support for --private-repos in serve restic (Flo‐
33559           rian Apolloner)
33560
33561         • serve webdav: Combine serve webdav and serve http (Gary Kim)
33562
33563         • size: Ignore negative sizes when calculating total (Garry McNulty)
33564
33565       • Bug Fixes
33566
33567         • Make  move  and  copy  individual  files  obey  --backup-dir  (Nick
33568           Craig-Wood)
33569
33570         • If --ignore-checksum is in effect, don't calculate  checksum  (Nick
33571           Craig-Wood)
33572
33573         • moveto: Fix case-insensitive same remote move (Gary Kim)
33574
33575         • rc:   Fix  serving  bucket  based  objects  with  --rc-serve  (Nick
33576           Craig-Wood)
33577
33578         • serve webdav: Fix serveDir not being updated with changes from web‐
33579           dav (Gary Kim)
33580
33581       • Mount
33582
33583         • Fix poll interval documentation (Animosity022)
33584
33585       • VFS
33586
33587         • Make  WriteAt  for non cached files work with non-sequential writes
33588           (Nick Craig-Wood)
33589
33590       • Local
33591
33592         • Only  calculate  the  required  hashes  for   big   speedup   (Nick
33593           Craig-Wood)
33594
33595         • Log  errors  when  listing  instead  of  returning  an  error (Nick
33596           Craig-Wood)
33597
33598         • Fix preallocate warning on Linux with ZFS (Nick Craig-Wood)
33599
33600       • Crypt
33601
33602         • Make rclone dedupe work through crypt (Nick Craig-Wood)
33603
33604         • Fix wrapping of ChangeNotify to decrypt directories properly  (Nick
33605           Craig-Wood)
33606
33607         • Support  PublicLink  (rclone  link)  of  underlying  backend  (Nick
33608           Craig-Wood)
33609
33610         • Implement Optional methods SetTier, GetTier (Nick Craig-Wood)
33611
33612       • B2
33613
33614         • Implement server-side copy (Nick Craig-Wood)
33615
33616         • Implement SetModTime (Nick Craig-Wood)
33617
33618       • Drive
33619
33620         • Fix move and copy from TeamDrive to GDrive (Fionera)
33621
33622         • Add notes that cleanup works  in  the  background  on  drive  (Nick
33623           Craig-Wood)
33624
33625         • Add --drive-server-side-across-configs to default back to old serv‐
33626           er-side copy semantics by default (Nick Craig-Wood)
33627
33628         • Add --drive-size-as-quota to show storage quota usage for file size
33629           (Garry McNulty)
33630
33631       • FTP
33632
33633         • Add FTP List timeout (Jeff Quinn)
33634
33635         • Add FTP over TLS support (Gary Kim)
33636
33637         • Add --ftp-no-check-certificate option for FTPS (Gary Kim)
33638
33639       • Google Cloud Storage
33640
33641         • Fix upload errors when uploading pre 1970 files (Nick Craig-Wood)
33642
33643       • Jottacloud
33644
33645         • Add support for selecting device and mountpoint.  (buengese)
33646
33647       • Mega
33648
33649         • Add cleanup support (Gary Kim)
33650
33651       • Onedrive
33652
33653         • More accurately check if root is found (Cnly)
33654
33655       • S3
33656
33657         • Support  S3 Accelerated endpoints with --s3-use-accelerate-endpoint
33658           (Nick Craig-Wood)
33659
33660         • Add config info for Wasabi's EU Central endpoint (Robert Marko)
33661
33662         • Make SetModTime work for GLACIER while syncing (Philip Harvey)
33663
33664       • SFTP
33665
33666         • Add About support (Gary Kim)
33667
33668         • Fix about parsing of df results so it can  cope  with  -ve  results
33669           (Nick Craig-Wood)
33670
33671         • Send   custom   client  version  and  debug  server  version  (Nick
33672           Craig-Wood)
33673
33674       • WebDAV
33675
33676         • Retry on 423 Locked errors (Nick Craig-Wood)
33677
33678   v1.47.0 - 2019-04-13
33679       • New backends
33680
33681         • Backend for Koofr cloud storage service.  (jaKa)
33682
33683       • New Features
33684
33685         • Resume downloads if the reader fails in copy (Nick Craig-Wood)
33686
33687           • this means rclone will restart transfers if the source has an er‐
33688             ror
33689
33690           • this is most useful for downloads or cloud to cloud copies
33691
33692         • Use --fast-list for listing operations where it won't use more mem‐
33693           ory (Nick Craig-Wood)
33694
33695           • this should speed up the following operations  on  remotes  which
33696             support ListR
33697
33698           • dedupe,  serve restic lsf, ls, lsl, lsjson, lsd, md5sum, sha1sum,
33699             hashsum, size, delete, cat, settier
33700
33701           • use --disable ListR to get old behaviour if required
33702
33703         • Make --files-from traverse the destination unless --no-traverse  is
33704           set (Nick Craig-Wood)
33705
33706           • this  fixes  --files-from with Google drive and excessive API use
33707             in general.
33708
33709         • Make server-side copy account bytes and obey  --max-transfer  (Nick
33710           Craig-Wood)
33711
33712         • Add  --create-empty-src-dirs flag and default to not creating empty
33713           dirs (ishuah)
33714
33715         • Add client side TLS/SSL flags  --ca-cert/--client-cert/--client-key
33716           (Nick Craig-Wood)
33717
33718         • Implement  --suffix-keep-extension  for  use  with  --suffix  (Nick
33719           Craig-Wood)
33720
33721         • build:
33722
33723           • Switch to semver compliant version tags to be go modules  compli‐
33724             ant (Nick Craig-Wood)
33725
33726           • Update to use go1.12.x for the build (Nick Craig-Wood)
33727
33728         • serve  dlna:  Add connection manager service description to improve
33729           compatibility (Dan Walters)
33730
33731         • lsf: Add 'e' format to show encrypted names and  'o'  for  original
33732           IDs (Nick Craig-Wood)
33733
33734         • lsjson: Added --files-only and --dirs-only flags (calistri)
33735
33736         • rc:  Implement  operations/publiclink the equivalent of rclone link
33737           (Nick Craig-Wood)
33738
33739       • Bug Fixes
33740
33741         • accounting: Fix total ETA when --stats-unit bits is in effect (Nick
33742           Craig-Wood)
33743
33744         • Bash TAB completion
33745
33746           • Use  private  custom func to fix clash between rclone and kubectl
33747             (Nick Craig-Wood)
33748
33749           • Fix for remotes with underscores in their names (Six)
33750
33751           • Fix completion of remotes (Florian Gamböck)
33752
33753           • Fix autocompletion of remote paths with spaces (Danil Semelenov)
33754
33755         • serve dlna: Fix root XML service descriptor (Dan Walters)
33756
33757         • ncdu:  Fix  display  corruption  with  Chinese   characters   (Nick
33758           Craig-Wood)
33759
33760         • Add  SIGTERM  to  signals which run the exit handlers on unix (Nick
33761           Craig-Wood)
33762
33763         • rc: Reload filter when  the  options  are  set  via  the  rc  (Nick
33764           Craig-Wood)
33765
33766       • VFS / Mount
33767
33768         • Fix  FreeBSD: Ignore Truncate if called with no readers and already
33769           the correct size (Nick Craig-Wood)
33770
33771         • Read directory and check for a file before mkdir (Nick Craig-Wood)
33772
33773         • Shorten the locking window for vfs/refresh (Nick Craig-Wood)
33774
33775       • Azure Blob
33776
33777         • Enable MD5 checksums when uploading files bigger than the  "Cutoff"
33778           (Dr.Rx)
33779
33780         • Fix SAS URL support (Nick Craig-Wood)
33781
33782       • B2
33783
33784         • Allow manual configuration of backblaze downloadUrl (Vince)
33785
33786         • Ignore already_hidden error on remove (Nick Craig-Wood)
33787
33788         • Ignore malformed src_last_modified_millis (Nick Craig-Wood)
33789
33790       • Drive
33791
33792         • Add --skip-checksum-gphotos to ignore incorrect checksums on Google
33793           Photos (Nick Craig-Wood)
33794
33795         • Allow server-side move/copy between different remotes.  (Fionera)
33796
33797         • Add docs on team drives and --fast-list eventual consistency  (Nes‐
33798           tar47)
33799
33800         • Fix imports of text files (Nick Craig-Wood)
33801
33802         • Fix range requests on 0 length files (Nick Craig-Wood)
33803
33804         • Fix creation of duplicates with server-side copy (Nick Craig-Wood)
33805
33806       • Dropbox
33807
33808         • Retry blank errors to fix long listings (Nick Craig-Wood)
33809
33810       • FTP
33811
33812         • Add  --ftp-concurrency to limit maximum number of connections (Nick
33813           Craig-Wood)
33814
33815       • Google Cloud Storage
33816
33817         • Fall back to default application credentials (marcintustin)
33818
33819         • Allow bucket policy only buckets (Nick Craig-Wood)
33820
33821       • HTTP
33822
33823         • Add --http-no-slash for websites with directories with  no  slashes
33824           (Nick Craig-Wood)
33825
33826         • Remove duplicates from listings (Nick Craig-Wood)
33827
33828         • Fix socket leak on 404 errors (Nick Craig-Wood)
33829
33830       • Jottacloud
33831
33832         • Fix token refresh (Sebastian Bünger)
33833
33834         • Add device registration (Oliver Heyme)
33835
33836       • Onedrive
33837
33838         • Implement  graceful cancel of multipart uploads if rclone is inter‐
33839           rupted (Cnly)
33840
33841         • Always add trailing colon to path when addressing items, (Cnly)
33842
33843         • Return errors instead of panic for invalid uploads (Fabian Möller)
33844
33845       • S3
33846
33847         • Add support for "Glacier Deep Archive" storage class (Manu)
33848
33849         • Update Dreamhost endpoint (Nick Craig-Wood)
33850
33851         • Note incompatibility with CEPH Jewel (Nick Craig-Wood)
33852
33853       • SFTP
33854
33855         • Allow custom ssh client config (Alexandru Bumbacea)
33856
33857       • Swift
33858
33859         • Obey Retry-After to enable OVH  restore  from  cold  storage  (Nick
33860           Craig-Wood)
33861
33862         • Work around token expiry on CEPH (Nick Craig-Wood)
33863
33864       • WebDAV
33865
33866         • Allow   IsCollection  property  to  be  integer  or  boolean  (Nick
33867           Craig-Wood)
33868
33869         • Fix race when creating directories (Nick Craig-Wood)
33870
33871         • Fix About/df when  reading  the  available/total  returns  0  (Nick
33872           Craig-Wood)
33873
33874   v1.46 - 2019-02-09
33875       • New backends
33876
33877         • Support  Alibaba  Cloud  (Aliyun)  OSS  via  the  s3  backend (Nick
33878           Craig-Wood)
33879
33880       • New commands
33881
33882         • serve dlna: serves a remove via DLNA for  the  local  network  (ni‐
33883           colov)
33884
33885       • New Features
33886
33887         • copy, move: Restore deprecated --no-traverse flag (Nick Craig-Wood)
33888
33889           • This is useful for when transferring a small number of files into
33890             a large destination
33891
33892         • genautocomplete: Add remote path  completion  for  bash  completion
33893           (Christopher Peterson & Danil Semelenov)
33894
33895         • Buffer  memory  handling reworked to return memory to the OS better
33896           (Nick Craig-Wood)
33897
33898           • Buffer recycling library to replace sync.Pool
33899
33900           • Optionally use memory mapped memory for better memory shrinking
33901
33902           • Enable with --use-mmap if having memory problems  -  not  default
33903             yet
33904
33905         • Parallelise  reading  of  files  specified  by  --files-from  (Nick
33906           Craig-Wood)
33907
33908         • check: Add stats showing total files matched.  (Dario Guzik)
33909
33910         • Allow rename/delete open files under Windows (Nick Craig-Wood)
33911
33912         • lsjson: Use exactly the correct number of  decimal  places  in  the
33913           seconds (Nick Craig-Wood)
33914
33915         • Add  cookie  support with cmdline switch --use-cookies for all HTTP
33916           based remotes (qip)
33917
33918         • Warn if --checksum is set but there are no hashes  available  (Nick
33919           Craig-Wood)
33920
33921         • Rework rate limiting (pacer) to be more accurate and allow bursting
33922           (Nick Craig-Wood)
33923
33924         • Improve error reporting for  too  many/few  arguments  in  commands
33925           (Nick Craig-Wood)
33926
33927         • listremotes:  Remove  -l  short  flag  as it conflicts with the new
33928           global flag (weetmuts)
33929
33930         • Make http serving with auth generate INFO  messages  on  auth  fail
33931           (Nick Craig-Wood)
33932
33933       • Bug Fixes
33934
33935         • Fix layout of stats (Nick Craig-Wood)
33936
33937         • Fix --progress crash under Windows Jenkins (Nick Craig-Wood)
33938
33939         • Fix  transfer  of google/onedrive docs by calling Rcat in Copy when
33940           size is -1 (Cnly)
33941
33942         • copyurl: Fix checking of --dry-run (Denis Skovpen)
33943
33944       • Mount
33945
33946         • Check that mountpoint and local directory to  mount  don't  overlap
33947           (Nick Craig-Wood)
33948
33949         • Fix mount size under 32 bit Windows (Nick Craig-Wood)
33950
33951       • VFS
33952
33953         • Implement  renaming  of  directories  for  backends without DirMove
33954           (Nick Craig-Wood)
33955
33956           • now all backends except b2 support renaming directories
33957
33958         • Implement --vfs-cache-max-size to limit the total size of the cache
33959           (Nick Craig-Wood)
33960
33961         • Add  --dir-perms  and --file-perms flags to set default permissions
33962           (Nick Craig-Wood)
33963
33964         • Fix  deadlock  on  concurrent  operations  on  a  directory   (Nick
33965           Craig-Wood)
33966
33967         • Fix  deadlock  between  RWFileHandle.close  and  File.Remove  (Nick
33968           Craig-Wood)
33969
33970         • Fix renaming/deleting open files with  cache  mode  "writes"  under
33971           Windows (Nick Craig-Wood)
33972
33973         • Fix panic on rename with --dry-run set (Nick Craig-Wood)
33974
33975         • Fix vfs/refresh with recurse=true needing the --fast-list flag
33976
33977       • Local
33978
33979         • Add  support  for -l/--links (symbolic link translation) (yair@uni‐
33980           corn)
33981
33982           • this works by showing links as link.rclonelink - see local  back‐
33983             end docs for more info
33984
33985           • this errors if used with -L/--copy-links
33986
33987         • Fix renaming/deleting open files on Windows (Nick Craig-Wood)
33988
33989       • Crypt
33990
33991         • Check  for  maximum  length before decrypting filename to fix panic
33992           (Garry McNulty)
33993
33994       • Azure Blob
33995
33996         • Allow building azureblob backend on *BSD (themylogin)
33997
33998         • Use the rclone HTTP client to support --dump  headers,  --tpslimit,
33999           etc.  (Nick Craig-Wood)
34000
34001         • Use  the  s3  pacer  for  0  delay  in  non  error conditions (Nick
34002           Craig-Wood)
34003
34004         • Ignore directory markers (Nick Craig-Wood)
34005
34006         • Stop  Mkdir  attempting  to  create   existing   containers   (Nick
34007           Craig-Wood)
34008
34009       • B2
34010
34011         • cleanup:  will  remove unfinished large files >24hrs old (Garry Mc‐
34012           Nulty)
34013
34014         • For a bucket limited application key check the  bucket  name  (Nick
34015           Craig-Wood)
34016
34017           • before this, rclone would use the authorised bucket regardless of
34018             what you put on the command line
34019
34020         • Added --b2-disable-checksum flag (Wojciech Smigielski)
34021
34022           • this enables large files to be uploaded without a SHA-1 hash  for
34023             speed reasons
34024
34025       • Drive
34026
34027         • Set default pacer to 100ms for 10 tps (Nick Craig-Wood)
34028
34029           • This fits the Google defaults much better and reduces the 403 er‐
34030             rors massively
34031
34032           • Add --drive-pacer-min-sleep and  --drive-pacer-burst  to  control
34033             the pacer
34034
34035         • Improve ChangeNotify support for items with multiple parents (Fabi‐
34036           an Möller)
34037
34038         • Fix ListR for items with multiple parents  -  this  fixes  oddities
34039           with vfs/refresh (Fabian Möller)
34040
34041         • Fix using --drive-impersonate and appfolders (Nick Craig-Wood)
34042
34043         • Fix  google  docs  in  rclone mount for some (not all) applications
34044           (Nick Craig-Wood)
34045
34046       • Dropbox
34047
34048         • Retry-After support for Dropbox backend (Mathieu Carbou)
34049
34050       • FTP
34051
34052         • Wait for 60 seconds for a connection to Close then declare it  dead
34053           (Nick Craig-Wood)
34054
34055           • helps with indefinite hangs on some FTP servers
34056
34057       • Google Cloud Storage
34058
34059         • Update google cloud storage endpoints (weetmuts)
34060
34061       • HTTP
34062
34063         • Add  an  example  with username and password which is supported but
34064           wasn't documented (Nick Craig-Wood)
34065
34066         • Fix  backend  with  --files-from  and  non-existent   files   (Nick
34067           Craig-Wood)
34068
34069       • Hubic
34070
34071         • Make  error  message more informative if authentication fails (Nick
34072           Craig-Wood)
34073
34074       • Jottacloud
34075
34076         • Resume and deduplication support (Oliver Heyme)
34077
34078         • Use token auth for all API requests Don't  store  password  anymore
34079           (Sebastian Bünger)
34080
34081         • Add support for 2-factor authentication (Sebastian Bünger)
34082
34083       • Mega
34084
34085         • Implement  v2  account  login which fixes logins for newer Mega ac‐
34086           counts (Nick Craig-Wood)
34087
34088         • Return error if an unknown length file is attempted to be  uploaded
34089           (Nick Craig-Wood)
34090
34091         • Add new error codes for better error reporting (Nick Craig-Wood)
34092
34093       • Onedrive
34094
34095         • Fix broken support for "shared with me" folders (Alex Chen)
34096
34097         • Fix root ID not normalised (Cnly)
34098
34099         • Return err instead of panic on unknown-sized uploads (Cnly)
34100
34101       • Qingstor
34102
34103         • Fix go routine leak on multipart upload errors (Nick Craig-Wood)
34104
34105         • Add upload chunk size/concurrency/cutoff control (Nick Craig-Wood)
34106
34107         • Default --qingstor-upload-concurrency to 1 to work around bug (Nick
34108           Craig-Wood)
34109
34110       • S3
34111
34112         • Implement --s3-upload-cutoff for single  part  uploads  below  this
34113           (Nick Craig-Wood)
34114
34115         • Change --s3-upload-concurrency default to 4 to increase performance
34116           (Nick Craig-Wood)
34117
34118         • Add --s3-bucket-acl to control bucket ACL (Nick Craig-Wood)
34119
34120         • Auto  detect  region  for  buckets  on  operation   failure   (Nick
34121           Craig-Wood)
34122
34123         • Add GLACIER storage class (William Cocker)
34124
34125         • Add Scaleway to s3 documentation (Rémy Léone)
34126
34127         • Add AWS endpoint eu-north-1 (weetmuts)
34128
34129       • SFTP
34130
34131         • Add support for PEM encrypted private keys (Fabian Möller)
34132
34133         • Add option to force the usage of an ssh-agent (Fabian Möller)
34134
34135         • Perform environment variable expansion on key-file (Fabian Möller)
34136
34137         • Fix   rmdir   on  Windows  based  servers  (e.g.   CrushFTP)  (Nick
34138           Craig-Wood)
34139
34140         • Fix rmdir deleting directory contents on some  SFTP  servers  (Nick
34141           Craig-Wood)
34142
34143         • Fix error on dangling symlinks (Nick Craig-Wood)
34144
34145       • Swift
34146
34147         • Add  --swift-no-chunk  to  disable  segmented uploads in rcat/mount
34148           (Nick Craig-Wood)
34149
34150         • Introduce application credential auth support (kayrus)
34151
34152         • Fix memory usage by slimming Object (Nick Craig-Wood)
34153
34154         • Fix extra requests on upload (Nick Craig-Wood)
34155
34156         • Fix reauth on big files (Nick Craig-Wood)
34157
34158       • Union
34159
34160         • Fix poll-interval not working (Nick Craig-Wood)
34161
34162       • WebDAV
34163
34164         • Support About which means rclone mount will show the  correct  disk
34165           size (Nick Craig-Wood)
34166
34167         • Support  MD5  and  SHA1  hashes  with  Owncloud and Nextcloud (Nick
34168           Craig-Wood)
34169
34170         • Fail soft on time parsing errors (Nick Craig-Wood)
34171
34172         • Fix infinite loop on failed directory creation (Nick Craig-Wood)
34173
34174         • Fix identification of directories for  Bitrix  Site  Manager  (Nick
34175           Craig-Wood)
34176
34177         • Fix upload of 0 length files on some servers (Nick Craig-Wood)
34178
34179         • Fix  if  MKCOL  fails  with  423 Locked assume the directory exists
34180           (Nick Craig-Wood)
34181
34182   v1.45 - 2018-11-24
34183       • New backends
34184
34185         • The Yandex backend was re-written - see below for  details  (Sebas‐
34186           tian Bünger)
34187
34188       • New commands
34189
34190         • rcd:  New  command  just  to  serve  the  remote  control API (Nick
34191           Craig-Wood)
34192
34193       • New Features
34194
34195         • The remote control API (rc) was greatly expanded to allow full con‐
34196           trol over rclone (Nick Craig-Wood)
34197
34198           • sensitive  operations  require  authorization or the --rc-no-auth
34199             flag
34200
34201           • config/* operations to configure rclone
34202
34203           • options/* for reading/setting command line flags
34204
34205           • operations/* for all low level operations, e.g.  copy file,  list
34206             directory
34207
34208           • sync/* for sync, copy and move
34209
34210           • --rc-files flag to serve files on the rc http server
34211
34212             • this is for building web native GUIs for rclone
34213
34214           • Optionally serving objects on the rc http server
34215
34216           • Ensure  rclone  fails  to start up if the --rc port is in use al‐
34217             ready
34218
34219           • See the rc docs (https://rclone.org/rc/) for more info
34220
34221         • sync/copy/move
34222
34223           • Make --files-from only read the objects specified and don't  scan
34224             directories (Nick Craig-Wood)
34225
34226             • This  is a huge speed improvement for destinations with lots of
34227               files
34228
34229         • filter: Add --ignore-case flag (Nick Craig-Wood)
34230
34231         • ncdu: Add remove function ('d' key) (Henning Surmeier)
34232
34233         • rc command
34234
34235           • Add --json flag for structured JSON input (Nick Craig-Wood)
34236
34237           • Add --user and --pass flags and interpret  --rc-user,  --rc-pass,
34238             --rc-addr (Nick Craig-Wood)
34239
34240         • build
34241
34242           • Require go1.8 or later for compilation (Nick Craig-Wood)
34243
34244           • Enable softfloat on MIPS arch (Scott Edlund)
34245
34246           • Integration test framework revamped with a better report and bet‐
34247             ter retries (Nick Craig-Wood)
34248
34249       • Bug Fixes
34250
34251         • cmd: Make --progress update the stats correctly at  the  end  (Nick
34252           Craig-Wood)
34253
34254         • config:  Create  config  directory  on  save if it is missing (Nick
34255           Craig-Wood)
34256
34257         • dedupe: Check for existing filename before  renaming  a  dupe  file
34258           (ssaqua)
34259
34260         • move: Don't create directories with --dry-run (Nick Craig-Wood)
34261
34262         • operations:  Fix  Purge  and  Rmdirs when dir is not the root (Nick
34263           Craig-Wood)
34264
34265         • serve http/webdav/restic: Ensure rclone exits if the port is in use
34266           (Nick Craig-Wood)
34267
34268       • Mount
34269
34270         • Make --volname work for Windows and macOS (Nick Craig-Wood)
34271
34272       • Azure Blob
34273
34274         • Avoid context deadline exceeded error by setting a large TryTimeout
34275           value (brused27)
34276
34277         • Fix erroneous Rmdir error "directory not empty" (Nick Craig-Wood)
34278
34279         • Wait for up to  60s  to  create  a  just  deleted  container  (Nick
34280           Craig-Wood)
34281
34282       • Dropbox
34283
34284         • Add dropbox impersonate support (Jake Coggiano)
34285
34286       • Jottacloud
34287
34288         • Fix bug in --fast-list handing of empty folders (albertony)
34289
34290       • Opendrive
34291
34292         • Fix transfer of files with + and & in (Nick Craig-Wood)
34293
34294         • Fix retries of upload chunks (Nick Craig-Wood)
34295
34296       • S3
34297
34298         • Set  ACL  for server-side copies to that provided by the user (Nick
34299           Craig-Wood)
34300
34301         • Fix role_arn, credential_source, ...  (Erik Swanson)
34302
34303         • Add config info for Wasabi's US-West endpoint (Henry Ptasinski)
34304
34305       • SFTP
34306
34307         • Ensure file hash checking is really disabled (Jon Fautley)
34308
34309       • Swift
34310
34311         • Add pacer for retries to make swift more reliable (Nick Craig-Wood)
34312
34313       • WebDAV
34314
34315         • Add Content-Type to PUT requests (Nick Craig-Wood)
34316
34317         • Fix config parsing so --webdav-user and  --webdav-pass  flags  work
34318           (Nick Craig-Wood)
34319
34320         • Add RFC3339 date format (Ralf Hemberger)
34321
34322       • Yandex
34323
34324         • The yandex backend was re-written (Sebastian Bünger)
34325
34326           • This implements low level retries (Sebastian Bünger)
34327
34328           • Copy,  Move,  DirMove,  PublicLink  and About optional interfaces
34329             (Sebastian Bünger)
34330
34331           • Improved general error handling (Sebastian Bünger)
34332
34333           • Removed ListR for now due to  inconsistent  behaviour  (Sebastian
34334             Bünger)
34335
34336   v1.44 - 2018-10-15
34337       • New commands
34338
34339         • serve ftp: Add ftp server (Antoine GIRARD)
34340
34341         • settier:   perform   storage  tier  changes  on  supported  remotes
34342           (sandeepkru)
34343
34344       • New Features
34345
34346         • Reworked command line help
34347
34348           • Make default help less verbose (Nick Craig-Wood)
34349
34350           • Split flags up into global and backend flags (Nick Craig-Wood)
34351
34352           • Implement  specialised  help  for  flags   and   backends   (Nick
34353             Craig-Wood)
34354
34355           • Show  URL  of  backend  help  page  when  starting  config  (Nick
34356             Craig-Wood)
34357
34358         • stats: Long names now split in center (Joanna Marek)
34359
34360         • Add --log-format flag for more control over log output (dcpu)
34361
34362         • rc: Add support for OPTIONS and basic CORS (frenos)
34363
34364         • stats: show FatalErrors and NoRetryErrors in stats (Cédric Connes)
34365
34366       • Bug Fixes
34367
34368         • Fix -P not ending with a new line (Nick Craig-Wood)
34369
34370         • config: don't create default config dir when user supplies --config
34371           (albertony)
34372
34373         • Don't  print  non-ASCII characters with --progress on windows (Nick
34374           Craig-Wood)
34375
34376         • Correct logs for excluded items (ssaqua)
34377
34378       • Mount
34379
34380         • Remove EXPERIMENTAL tags (Nick Craig-Wood)
34381
34382       • VFS
34383
34384         • Fix race condition detected by serve ftp tests (Nick Craig-Wood)
34385
34386         • Add vfs/poll-interval rc command (Fabian Möller)
34387
34388         • Enable rename for nearly all remotes using server-side Move or Copy
34389           (Nick Craig-Wood)
34390
34391         • Reduce directory cache cleared by poll-interval (Fabian Möller)
34392
34393         • Remove EXPERIMENTAL tags (Nick Craig-Wood)
34394
34395       • Local
34396
34397         • Skip bad symlinks in dir listing with -L enabled (Cédric Connes)
34398
34399         • Preallocate   files   on  Windows  to  reduce  fragmentation  (Nick
34400           Craig-Wood)
34401
34402         • Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
34403
34404       • Cache
34405
34406         • Add cache/fetch rc function (Fabian Möller)
34407
34408         • Fix worker scale down (Fabian Möller)
34409
34410         • Improve performance by not sending info requests for cached  chunks
34411           (dcpu)
34412
34413         • Fix error return value of cache/fetch rc method (Fabian Möller)
34414
34415         • Documentation fix for cache-chunk-total-size (Anagh Kumar Baranwal)
34416
34417         • Preserve leading / in wrapped remote path (Fabian Möller)
34418
34419         • Add  plex_insecure  option  to  skip certificate validation (Fabian
34420           Möller)
34421
34422         • Remove entries that no longer exist in the source (dcpu)
34423
34424       • Crypt
34425
34426         • Preserve leading / in wrapped remote path (Fabian Möller)
34427
34428       • Alias
34429
34430         • Fix handling of Windows network paths (Nick Craig-Wood)
34431
34432       • Azure Blob
34433
34434         • Add --azureblob-list-chunk parameter (Santiago Rodríguez)
34435
34436         • Implemented settier command support on azureblob remote.  (sandeep‐
34437           kru)
34438
34439         • Work around SDK bug which causes errors for chunk-sized files (Nick
34440           Craig-Wood)
34441
34442       • Box
34443
34444         • Implement link sharing.  (Sebastian Bünger)
34445
34446       • Drive
34447
34448         • Add --drive-import-formats - google docs can now be imported (Fabi‐
34449           an Möller)
34450
34451           • Rewrite mime type and extension handling (Fabian Möller)
34452
34453           • Add document links (Fabian Möller)
34454
34455           • Add support for multipart document extensions (Fabian Möller)
34456
34457           • Add support for apps-script to json export (Fabian Möller)
34458
34459           • Fix escaped chars in documents during list (Fabian Möller)
34460
34461         • Add  --drive-v2-download-min-size  a  workaround for slow downloads
34462           (Fabian Möller)
34463
34464         • Improve directory notifications in ChangeNotify (Fabian Möller)
34465
34466         • When listing team drives  in  config,  continue  on  failure  (Nick
34467           Craig-Wood)
34468
34469       • FTP
34470
34471         • Add  a  small  pause after failed upload before deleting file (Nick
34472           Craig-Wood)
34473
34474       • Google Cloud Storage
34475
34476         • Fix service_account_file being ignored (Fabian Möller)
34477
34478       • Jottacloud
34479
34480         • Minor improvement in quota info (omit if unlimited) (albertony)
34481
34482         • Add --fast-list support (albertony)
34483
34484         • Add permanent delete support: --jottacloud-hard-delete (albertony)
34485
34486         • Add link sharing support (albertony)
34487
34488         • Fix handling of reserved characters.  (Sebastian Bünger)
34489
34490         • Fix socket leak on Object.Remove (Nick Craig-Wood)
34491
34492       • Onedrive
34493
34494         • Rework to support Microsoft Graph (Cnly)
34495
34496NB this will require re-authenticating the remote
34497
34498         • Removed upload cutoff and always do session uploads (Oliver Heyme)
34499
34500         • Use single-part upload for empty files (Cnly)
34501
34502         • Fix new fields not saved when editing old config (Alex Chen)
34503
34504         • Fix sometimes special chars in filenames not replaced (Alex Chen)
34505
34506         • Ignore OneNote files by default (Alex Chen)
34507
34508         • Add link sharing support (jackyzy823)
34509
34510       • S3
34511
34512         • Use custom  pacer,  to  retry  operations  when  reasonable  (Craig
34513           Miskell)
34514
34515         • Use  configured  server-side-encryption  and  storage class options
34516           when calling CopyObject() (Paul Kohout)
34517
34518         • Make --s3-v2-auth flag (Nick Craig-Wood)
34519
34520         • Fix v2 auth on files with spaces (Nick Craig-Wood)
34521
34522       • Union
34523
34524         • Implement union backend which reads from multiple  backends  (Felix
34525           Brucker)
34526
34527         • Implement  optional  interfaces  (Move,  DirMove, Copy, etc.) (Nick
34528           Craig-Wood)
34529
34530         • Fix ChangeNotify to support multiple remotes (Fabian Möller)
34531
34532         • Fix --backup-dir on union backend (Nick Craig-Wood)
34533
34534       • WebDAV
34535
34536         • Add another time format (Nick Craig-Wood)
34537
34538         • Add a small pause after failed upload before  deleting  file  (Nick
34539           Craig-Wood)
34540
34541         • Add workaround for missing mtime (buergi)
34542
34543         • Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
34544
34545       • Yandex
34546
34547         • Remove redundant nil checks (teresy)
34548
34549   v1.43.1 - 2018-09-07
34550       Point release to fix hubic and azureblob backends.
34551
34552       • Bug Fixes
34553
34554         • ncdu: Return error instead of log.Fatal in Show (Fabian Möller)
34555
34556         • cmd: Fix crash with --progress and --stats 0 (Nick Craig-Wood)
34557
34558         • docs: Tidy website display (Anagh Kumar Baranwal)
34559
34560       • Azure Blob:
34561
34562         • Fix multi-part uploads.  (sandeepkru)
34563
34564       • Hubic
34565
34566         • Fix uploads (Nick Craig-Wood)
34567
34568         • Retry  auth  fetching if it fails to make hubic more reliable (Nick
34569           Craig-Wood)
34570
34571   v1.43 - 2018-09-01
34572       • New backends
34573
34574         • Jottacloud (Sebastian Bünger)
34575
34576       • New commands
34577
34578         • copyurl: copies a URL to a remote (Denis)
34579
34580       • New Features
34581
34582         • Reworked config for backends (Nick Craig-Wood)
34583
34584           • All backend config can now be supplied by command line,  env  var
34585             or config file
34586
34587           • Advanced section in the config wizard for the optional items
34588
34589           • A  large  step  towards  rclone backends being usable in other go
34590             software
34591
34592           • Allow on the fly remotes with :backend: syntax
34593
34594         • Stats revamp
34595
34596           • Add  --progress/-P  flag  to  show  interactive  progress   (Nick
34597             Craig-Wood)
34598
34599           • Show   the  total  progress  of  the  sync  in  the  stats  (Nick
34600             Craig-Wood)
34601
34602           • Add --stats-one-line flag for single line stats (Nick Craig-Wood)
34603
34604         • Added weekday schedule into --bwlimit (Mateusz)
34605
34606         • lsjson: Add option to show the original object IDs (Fabian Möller)
34607
34608         • serve webdav: Make Content-Type without reading the  file  and  add
34609           --etag-hash (Nick Craig-Wood)
34610
34611         • build
34612
34613           • Build macOS with native compiler (Nick Craig-Wood)
34614
34615           • Update to use go1.11 for the build (Nick Craig-Wood)
34616
34617         • rc
34618
34619           • Added core/stats to return the stats (reddi1)
34620
34621         • version --check: Prints the current release and beta versions (Nick
34622           Craig-Wood)
34623
34624       • Bug Fixes
34625
34626         • accounting
34627
34628           • Fix time to completion estimates (Nick Craig-Wood)
34629
34630           • Fix moving average speed for file stats (Nick Craig-Wood)
34631
34632         • config:  Fix  error  reading  password  from  piped   input   (Nick
34633           Craig-Wood)
34634
34635         • move:  Fix --delete-empty-src-dirs flag to delete all empty dirs on
34636           move (ishuah)
34637
34638       • Mount
34639
34640         • Implement --daemon-timeout flag for OSXFUSE (Nick Craig-Wood)
34641
34642         • Fix mount --daemon not working with encrypted config (Alex Chen)
34643
34644         • Clip the number of blocks to 2^32-1 on macOS -  fixes  borg  backup
34645           (Nick Craig-Wood)
34646
34647       • VFS
34648
34649         • Enable vfs-read-chunk-size by default (Fabian Möller)
34650
34651         • Add the vfs/refresh rc command (Fabian Möller)
34652
34653         • Add non recursive mode to vfs/refresh rc command (Fabian Möller)
34654
34655         • Try to seek buffer on read only files (Fabian Möller)
34656
34657       • Local
34658
34659         • Fix  crash when deprecated --local-no-unicode-normalization is sup‐
34660           plied (Nick Craig-Wood)
34661
34662         • Fix mkdir error when trying to copy files to the root of a drive on
34663           windows (Nick Craig-Wood)
34664
34665       • Cache
34666
34667         • Fix  nil  pointer deref when using lsjson on cached directory (Nick
34668           Craig-Wood)
34669
34670         • Fix nil pointer  deref  for  occasional  crash  on  playback  (Nick
34671           Craig-Wood)
34672
34673       • Crypt
34674
34675         • Fix accounting when checking hashes on upload (Nick Craig-Wood)
34676
34677       • Amazon Cloud Drive
34678
34679         • Make  very  clear  in  the  docs  that rclone has no ACD keys (Nick
34680           Craig-Wood)
34681
34682       • Azure Blob
34683
34684         • Add connection string and SAS URL auth (Nick Craig-Wood)
34685
34686         • List the container to see if it exists (Nick Craig-Wood)
34687
34688         • Port new Azure Blob Storage SDK (sandeepkru)
34689
34690         • Added blob tier, tier between Hot, Cool and Archive.  (sandeepkru)
34691
34692         • Remove leading / from paths (Nick Craig-Wood)
34693
34694       • B2
34695
34696         • Support Application Keys (Nick Craig-Wood)
34697
34698         • Remove leading / from paths (Nick Craig-Wood)
34699
34700       • Box
34701
34702         • Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
34703
34704         • Make --box-commit-retries flag defaulting to 100 to fix  large  up‐
34705           loads (Nick Craig-Wood)
34706
34707       • Drive
34708
34709         • Add --drive-keep-revision-forever flag (lewapm)
34710
34711         • Handle gdocs when filtering file names in list (Fabian Möller)
34712
34713         • Support using --fast-list for large speedups (Fabian Möller)
34714
34715       • FTP
34716
34717         • Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
34718
34719       • Google Cloud Storage
34720
34721         • Fix index out of range error with --fast-list (Nick Craig-Wood)
34722
34723       • Jottacloud
34724
34725         • Fix MD5 error check (Oliver Heyme)
34726
34727         • Handle empty time values (Martin Polden)
34728
34729         • Calculate missing MD5s (Oliver Heyme)
34730
34731         • Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
34732
34733         • Add optional MimeTyper interface.  (Sebastian Bünger)
34734
34735         • Implement  optional  About  interface (for df support).  (Sebastian
34736           Bünger)
34737
34738       • Mega
34739
34740         • Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
34741
34742         • Add --mega-hard-delete flag (Nick Craig-Wood)
34743
34744         • Fix failed logins with upper case chars in email (Nick Craig-Wood)
34745
34746       • Onedrive
34747
34748         • Shared folder support (Yoni Jah)
34749
34750         • Implement DirMove (Cnly)
34751
34752         • Fix  rmdir  sometimes  deleting  directories  with  contents  (Nick
34753           Craig-Wood)
34754
34755       • Pcloud
34756
34757         • Delete half uploaded files on upload error (Nick Craig-Wood)
34758
34759       • Qingstor
34760
34761         • Remove leading / from paths (Nick Craig-Wood)
34762
34763       • S3
34764
34765         • Fix index out of range error with --fast-list (Nick Craig-Wood)
34766
34767         • Add --s3-force-path-style (Nick Craig-Wood)
34768
34769         • Add support for KMS Key ID (bsteiss)
34770
34771         • Remove leading / from paths (Nick Craig-Wood)
34772
34773       • Swift
34774
34775         • Add storage_policy (Ruben Vandamme)
34776
34777         • Make  it  so just storage_url or auth_token can be overridden (Nick
34778           Craig-Wood)
34779
34780         • Fix server-side copy bug for unusual file names (Nick Craig-Wood)
34781
34782         • Remove leading / from paths (Nick Craig-Wood)
34783
34784       • WebDAV
34785
34786         • Ensure we call MKCOL with a URL with a trailing / for QNAP  interop
34787           (Nick Craig-Wood)
34788
34789         • If  root  ends  with  /  then  don't  check  if  it is a file (Nick
34790           Craig-Wood)
34791
34792         • Don't accept redirects when reading metadata (Nick Craig-Wood)
34793
34794         • Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
34795
34796         • Document dCache and Macaroons (Onno Zweers)
34797
34798         • Sharepoint recursion with different depth (Henning)
34799
34800         • Attempt to remove failed uploads (Nick Craig-Wood)
34801
34802       • Yandex
34803
34804         • Fix listing/deleting files in the root (Nick Craig-Wood)
34805
34806   v1.42 - 2018-06-16
34807       • New backends
34808
34809         • OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
34810
34811       • New commands
34812
34813         • deletefile command (Filip Bartodziej)
34814
34815       • New Features
34816
34817         • copy, move: Copy single  files  directly,  don't  use  --files-from
34818           work-around
34819
34820           • this makes them much more efficient
34821
34822         • Implement --max-transfer flag to quit transferring at a limit
34823
34824           • make exit code 8 for --max-transfer exceeded
34825
34826         • copy: copy empty source directories to destination (Ishuah Kariuki)
34827
34828         • check: Add --one-way flag (Kasper Byrdal Nielsen)
34829
34830         • Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
34831
34832         • rc
34833
34834           • add core/gc to run a garbage collection on demand
34835
34836           • enable go profiling by default on the --rc port
34837
34838           • return error from remote on failure
34839
34840         • lsf
34841
34842           • Add --absolute flag to add a leading / onto path names
34843
34844           • Add --csv flag for compliant CSV output
34845
34846           • Add 'm' format specifier to show the MimeType
34847
34848           • Implement 'i' format for showing object ID
34849
34850         • lsjson
34851
34852           • Add MimeType to the output
34853
34854           • Add ID field to output to show Object ID
34855
34856         • Add --retries-sleep flag (Benjamin Joseph Dag)
34857
34858         • Oauth tidy up web page and error handling (Henning Surmeier)
34859
34860       • Bug Fixes
34861
34862         • Password  prompt  output with --log-file fixed for unix (Filip Bar‐
34863           todziej)
34864
34865         • Calculate ModifyWindow each time on the fly to fix various problems
34866           (Stefan Breunig)
34867
34868       • Mount
34869
34870         • Only  print "File.rename error" if there actually is an error (Ste‐
34871           fan Breunig)
34872
34873         • Delay rename if file has open writers instead of  failing  outright
34874           (Stefan Breunig)
34875
34876         • Ensure atexit gets run on interrupt
34877
34878         • macOS enhancements
34879
34880           • Make --noappledouble --noapplexattr
34881
34882           • Add --volname flag and remove special chars from it
34883
34884           • Make Get/List/Set/Remove xattr return ENOSYS for efficiency
34885
34886           • Make --daemon work for macOS without CGO
34887
34888       • VFS
34889
34890         • Add  --vfs-read-chunk-size  and --vfs-read-chunk-size-limit (Fabian
34891           Möller)
34892
34893         • Fix ChangeNotify for new or changed folders (Fabian Möller)
34894
34895       • Local
34896
34897         • Fix symlink/junction point directory handling under Windows
34898
34899NB you will need to add -L to your command  line  to  copy  files
34900             with reparse points
34901
34902       • Cache
34903
34904         • Add non cached dirs on notifications (Remus Bunduc)
34905
34906         • Allow root to be expired from rc (Remus Bunduc)
34907
34908         • Clean remaining empty folders from temp upload path (Remus Bunduc)
34909
34910         • Cache lists using batch writes (Remus Bunduc)
34911
34912         • Use secure websockets for HTTPS Plex addresses (John Clayton)
34913
34914         • Reconnect plex websocket on failures (Remus Bunduc)
34915
34916         • Fix panic when running without plex configs (Remus Bunduc)
34917
34918         • Fix root folder caching (Remus Bunduc)
34919
34920       • Crypt
34921
34922         • Check the crypted hash of files when uploading for extra data secu‐
34923           rity
34924
34925       • Dropbox
34926
34927         • Make Dropbox for business folders accessible using an initial /  in
34928           the path
34929
34930       • Google Cloud Storage
34931
34932         • Low level retry all operations if necessary
34933
34934       • Google Drive
34935
34936         • Add --drive-acknowledge-abuse to download flagged files
34937
34938         • Add --drive-alternate-export to fix large doc export
34939
34940         • Don't attempt to choose Team Drives when using rclone config create
34941
34942         • Fix change list polling with team drives
34943
34944         • Fix ChangeNotify for folders (Fabian Möller)
34945
34946         • Fix about (and df on a mount) for team drives
34947
34948       • Onedrive
34949
34950         • Errorhandler for onedrive for business requests (Henning Surmeier)
34951
34952       • S3
34953
34954         • Adjust upload concurrency with --s3-upload-concurrency (themylogin)
34955
34956         • Fix --s3-chunk-size which was always using the minimum
34957
34958       • SFTP
34959
34960         • Add --ssh-path-override flag (Piotr Oleszczyk)
34961
34962         • Fix slow downloads for long latency connections
34963
34964       • Webdav
34965
34966         • Add workarounds for biz.mail.ru
34967
34968         • Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
34969
34970         • Better error message generation
34971
34972   v1.41 - 2018-04-28
34973       • New backends
34974
34975         • Mega support added
34976
34977         • Webdav now supports SharePoint cookie authentication (hensur)
34978
34979       • New commands
34980
34981         • link: create public link to files and folders (Stefan Breunig)
34982
34983         • about: gets quota info from a remote (a-roussos, ncw)
34984
34985         • hashsum: a generic tool for any hash to produce md5sum like output
34986
34987       • New Features
34988
34989         • lsd: Add -R flag and fix and update docs for all ls commands
34990
34991         • ncdu: added a "refresh" key - CTRL-L (Keith Goldfarb)
34992
34993         • serve restic: Add append-only mode (Steve Kriss)
34994
34995         • serve restic: Disallow overwriting files in append-only mode (Alex‐
34996           ander Neumann)
34997
34998         • serve restic: Print actual listener address (Matt Holt)
34999
35000         • size: Add --json flag (Matthew Holt)
35001
35002         • sync: implement --ignore-errors (Mateusz Pabian)
35003
35004         • dedupe: Add dedupe largest functionality (Richard Yang)
35005
35006         • fs: Extend SizeSuffix to include TB and PB for rclone about
35007
35008         • fs: add --dump goroutines and --dump openfiles for debugging
35009
35010         • rc: implement core/memstats to print internal memory usage info
35011
35012         • rc: new call rc/pid (Michael P.  Dubner)
35013
35014       • Compile
35015
35016         • Drop support for go1.6
35017
35018       • Release
35019
35020         • Fix make tarball (Chih-Hsuan Yen)
35021
35022       • Bug Fixes
35023
35024         • filter: fix --min-age and --max-age together check
35025
35026         • fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
35027
35028         • lsd,lsf: make sure all times we output are in local time
35029
35030         • rc: fix setting bwlimit to unlimited
35031
35032         • rc: take note of the --rc-addr flag too as per the docs
35033
35034       • Mount
35035
35036         • Use About to return the correct disk total/used/free (e.g.  in df)
35037
35038         • Set --attr-timeout default to 1s - fixes:
35039
35040           • rclone using too much memory
35041
35042           • rclone not serving files to samba
35043
35044           • excessive time listing directories
35045
35046         • Fix df -i (upstream fix)
35047
35048       • VFS
35049
35050         • Filter files . and .. from directory listing
35051
35052         • Only make the VFS cache if --vfs-cache-mode > Off
35053
35054       • Local
35055
35056         • Add --local-no-check-updated to disable updated file checks
35057
35058         • Retry remove on Windows sharing violation error
35059
35060       • Cache
35061
35062         • Flush the memory cache after close
35063
35064         • Purge file data on notification
35065
35066         • Always forget parent dir for notifications
35067
35068         • Integrate with Plex websocket
35069
35070         • Add rc cache/stats (seuffert)
35071
35072         • Add info log on notification
35073
35074       • Box
35075
35076         • Fix failure reading large directories - parse  file/directory  size
35077           as float
35078
35079       • Dropbox
35080
35081         • Fix crypt+obfuscate on dropbox
35082
35083         • Fix repeatedly uploading the same files
35084
35085       • FTP
35086
35087         • Work around strange response from box FTP server
35088
35089         • More workarounds for FTP servers to fix mkParentDir error
35090
35091         • Fix no error on listing non-existent directory
35092
35093       • Google Cloud Storage
35094
35095         • Add service_account_credentials (Matt Holt)
35096
35097         • Detect bucket presence by listing it - minimises permissions needed
35098
35099         • Ignore zero length directory markers
35100
35101       • Google Drive
35102
35103         • Add service_account_credentials (Matt Holt)
35104
35105         • Fix directory move leaving a hardlinked directory behind
35106
35107         • Return proper google errors when Opening files
35108
35109         • When  initialized with a filepath, optional features used incorrect
35110           root path (Stefan Breunig)
35111
35112       • HTTP
35113
35114         • Fix sync for servers which don't return Content-Length in HEAD
35115
35116       • Onedrive
35117
35118         • Add QuickXorHash support for OneDrive for business
35119
35120         • Fix socket leak in multipart session upload
35121
35122       • S3
35123
35124         • Look in S3 named profile files for credentials
35125
35126         • Add --s3-disable-checksum to disable checksum uploading (Chris  Re‐
35127           dekop)
35128
35129         • Hierarchical configuration support (Giri Badanahatti)
35130
35131         • Add in config for all the supported S3 providers
35132
35133         • Add One Zone Infrequent Access storage class (Craig Rachel)
35134
35135         • Add --use-server-modtime support (Peter Baumgartner)
35136
35137         • Add --s3-chunk-size option to control multipart uploads
35138
35139         • Ignore zero length directory markers
35140
35141       • SFTP
35142
35143         • Update  docs to match code, fix typos and clarify disable_hashcheck
35144           prompt (Michael G.  Noll)
35145
35146         • Update docs with Synology quirks
35147
35148         • Fail soft with a debug on hash failure
35149
35150       • Swift
35151
35152         • Add --use-server-modtime support (Peter Baumgartner)
35153
35154       • Webdav
35155
35156         • Support SharePoint cookie authentication (hensur)
35157
35158         • Strip leading and trailing / off root
35159
35160   v1.40 - 2018-03-19
35161       • New backends
35162
35163         • Alias backend to create aliases for existing remote  names  (Fabian
35164           Möller)
35165
35166       • New commands
35167
35168         • lsf: list for parsing purposes (Jakub Tasiemski)
35169
35170           • by  default  this is a simple non recursive list of files and di‐
35171             rectories
35172
35173           • it can be configured to add more info in an easy to parse way
35174
35175         • serve restic: for serving a remote as a Restic REST endpoint
35176
35177           • This enables restic to use any backends that rclone can access
35178
35179           • Thanks Alexander Neumann for help, patches and review
35180
35181         • rc: enable the remote control of a running rclone
35182
35183           • The running rclone must be started with --rc and related flags.
35184
35185           • Currently there is support for bwlimit, and  flushing  for  mount
35186             and cache.
35187
35188       • New Features
35189
35190         • --max-delete flag to add a delete threshold (Bjørn Erik Pedersen)
35191
35192         • All backends now support RangeOption for ranged Open
35193
35194           • cat: Use RangeOption for limited fetches to make more efficient
35195
35196           • cryptcheck: make reading of nonce more efficient with RangeOption
35197
35198         • serve http/webdav/restic
35199
35200           • support SSL/TLS
35201
35202           • add --user --pass and --htpasswd for authentication
35203
35204         • copy/move:  detect  file  size  change  during  copy/move and abort
35205           transfer (ishuah)
35206
35207         • cryptdecode: added option to return encrypted file names.  (ishuah)
35208
35209         • lsjson: add --encrypted to show encrypted name (Jakub Tasiemski)
35210
35211         • Add --stats-file-name-length  to  specify  the  printed  file  name
35212           length for stats (Will Gunn)
35213
35214       • Compile
35215
35216         • Code base was shuffled and factored
35217
35218           • backends moved into a backend directory
35219
35220           • large packages split up
35221
35222           • See the CONTRIBUTING.md doc for info as to what lives where now
35223
35224         • Update to using go1.10 as the default go version
35225
35226         • Implement  daily full integration tests (https://pub.rclone.org/in
35227           tegration-tests/)
35228
35229       • Release
35230
35231         • Include a source tarball and sign it and the binaries
35232
35233         • Sign the git tags as part of the release process
35234
35235         • Add .deb and .rpm packages as part of the build
35236
35237         • Make a beta release for all branches on the main repo (but not pull
35238           requests)
35239
35240       • Bug Fixes
35241
35242         • config:  fixes errors on non existing config by loading config file
35243           only on first access
35244
35245         • config: retry saving the config after failure (Mateusz)
35246
35247         • sync: when using --backup-dir don't delete files if  we  can't  set
35248           their modtime
35249
35250           • this fixes odd behaviour with Dropbox and --backup-dir
35251
35252         • fshttp: fix idle timeouts for HTTP connections
35253
35254         • serve http: fix serving files with : in - fixes
35255
35256         • Fix  --exclude-if-present  to  ignore  directories which it doesn't
35257           have permission for (Iakov Davydov)
35258
35259         • Make accounting work properly with crypt and b2
35260
35261         • remove --no-traverse flag because it is obsolete
35262
35263       • Mount
35264
35265         • Add --attr-timeout flag to control attribute caching in kernel
35266
35267           • this now defaults to 0 which is correct but less efficient
35268
35269           • see the mount docs (https://rclone.org/commands/rclone_mount/#at‐
35270             tribute-caching) for more info
35271
35272         • Add --daemon flag to allow mount to run in the background (ishuah)
35273
35274         • Fix: Return ENOSYS rather than EIO on attempted link
35275
35276           • This fixes FileZilla accessing an rclone mount served over sftp.
35277
35278         • Fix setting modtime twice
35279
35280         • Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
35281
35282         • Many bugs fixed in the VFS layer - see below
35283
35284       • VFS
35285
35286         • Many fixes for --vfs-cache-mode writes and above
35287
35288           • Update cached copy if we know it has changed (fixes stale data)
35289
35290           • Clean path names before using them in the cache
35291
35292           • Disable cache cleaner if --vfs-cache-poll-interval=0
35293
35294           • Fill and clean the cache immediately on startup
35295
35296         • Fix Windows opening every file when it stats the file
35297
35298         • Fix applying modtime for an open Write Handle
35299
35300         • Fix creation of files when truncating
35301
35302         • Write  0 bytes when flushing unwritten handles to avoid race condi‐
35303           tions in FUSE
35304
35305         • Downgrade "poll-interval is not supported" message to Info
35306
35307         • Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
35308
35309       • Local
35310
35311         • Downgrade "invalid cross-device link: trying copy" to debug
35312
35313         • Make DirMove return fs.ErrorCantDirMove to allow fallback  to  Copy
35314           for cross device
35315
35316         • Fix race conditions updating the hashes
35317
35318       • Cache
35319
35320         • Add  support for polling - cache will update when remote changes on
35321           supported backends
35322
35323         • Reduce log level for Plex api
35324
35325         • Fix dir cache issue
35326
35327         • Implement --cache-db-wait-time flag
35328
35329         • Improve efficiency with RangeOption and RangeSeek
35330
35331         • Fix dirmove with temp fs enabled
35332
35333         • Notify vfs when using temp fs
35334
35335         • Offline uploading
35336
35337         • Remote control support for path flushing
35338
35339       • Amazon cloud drive
35340
35341         • Rclone no longer has any working keys - disable integration tests
35342
35343         • Implement DirChangeNotify to notify cache/vfs/mount of changes
35344
35345       • Azureblob
35346
35347         • Don't check for bucket/container presence if listing was OK
35348
35349           • this makes rclone do one less request per invocation
35350
35351         • Improve accounting for chunked uploads
35352
35353       • Backblaze B2
35354
35355         • Don't check for bucket/container presence if listing was OK
35356
35357           • this makes rclone do one less request per invocation
35358
35359       • Box
35360
35361         • Improve accounting for chunked uploads
35362
35363       • Dropbox
35364
35365         • Fix custom oauth client parameters
35366
35367       • Google Cloud Storage
35368
35369         • Don't check for bucket/container presence if listing was OK
35370
35371           • this makes rclone do one less request per invocation
35372
35373       • Google Drive
35374
35375         • Migrate to api v3 (Fabian Möller)
35376
35377         • Add scope configuration and root folder selection
35378
35379         • Add --drive-impersonate for service accounts
35380
35381           • thanks to everyone who tested, explored and contributed docs
35382
35383         • Add --drive-use-created-date to use created date as  modified  date
35384           (nbuchanan)
35385
35386         • Request the export formats only when required
35387
35388           • This makes rclone quicker when there are no google docs
35389
35390         • Fix finding paths with latin1 chars (a workaround for a drive bug)
35391
35392         • Fix copying of a single Google doc file
35393
35394         • Fix --drive-auth-owner-only to look in all directories
35395
35396       • HTTP
35397
35398         • Fix handling of directories with & in
35399
35400       • Onedrive
35401
35402         • Removed upload cutoff and always do session uploads
35403
35404           • this stops the creation of multiple versions on business onedrive
35405
35406         • Overwrite  object  size  value  with  real  size when reading file.
35407           (Victor)
35408
35409           • this fixes oddities when onedrive misreports the size of images
35410
35411       • Pcloud
35412
35413         • Remove unused chunked upload flag and code
35414
35415       • Qingstor
35416
35417         • Don't check for bucket/container presence if listing was OK
35418
35419           • this makes rclone do one less request per invocation
35420
35421       • S3
35422
35423         • Support hashes for multipart files (Chris Redekop)
35424
35425         • Initial support for IBM COS (S3) (Giri Badanahatti)
35426
35427         • Update docs to discourage use of v2 auth with CEPH and others
35428
35429         • Don't check for bucket/container presence if listing was OK
35430
35431           • this makes rclone do one less request per invocation
35432
35433         • Fix server-side copy and set modtime on files with + in
35434
35435       • SFTP
35436
35437         • Add option to disable remote  hash  check  command  execution  (Jon
35438           Fautley)
35439
35440         • Add  --sftp-ask-password  flag  to  prompt for password when needed
35441           (Leo R.  Lundgren)
35442
35443         • Add set_modtime configuration option
35444
35445         • Fix following of symlinks
35446
35447         • Fix reading config file outside of Fs setup
35448
35449         • Fix reading $USER in username fallback not $HOME
35450
35451         • Fix running under crontab - Use correct OS way of reading username
35452
35453       • Swift
35454
35455         • Fix refresh of authentication token
35456
35457           • in v1.39 a bug was introduced which ignored  new  tokens  -  this
35458             fixes it
35459
35460         • Fix extra HEAD transaction when uploading a new file
35461
35462         • Don't check for bucket/container presence if listing was OK
35463
35464           • this makes rclone do one less request per invocation
35465
35466       • Webdav
35467
35468         • Add new time formats to support mydrive.ch and others
35469
35470   v1.39 - 2017-12-23
35471       • New backends
35472
35473         • WebDAV
35474
35475           • tested with nextcloud, owncloud, put.io and others!
35476
35477         • Pcloud
35478
35479         • cache - wraps a cache around other backends (Remus Bunduc)
35480
35481           • useful in combination with mount
35482
35483           • NB this feature is in beta so use with care
35484
35485       • New commands
35486
35487         • serve command with subcommands:
35488
35489           • serve  webdav: this implements a webdav server for any rclone re‐
35490             mote.
35491
35492           • serve http: command to serve a remote over HTTP
35493
35494         • config: add sub commands for full config file management
35495
35496           • create/delete/dump/edit/file/password/providers/show/update
35497
35498         • touch: to create or update the timestamp of a file (Jakub  Tasiems‐
35499           ki)
35500
35501       • New Features
35502
35503         • curl install for rclone (Filip Bartodziej)
35504
35505         • --stats  now shows percentage, size, rate and ETA in condensed form
35506           (Ishuah Kariuki)
35507
35508         • --exclude-if-present to exclude a directory if a  file  is  present
35509           (Iakov Davydov)
35510
35511         • rmdirs: add --leave-root flag (lewapm)
35512
35513         • move:  add  --delete-empty-src-dirs  flag to remove dirs after move
35514           (Ishuah Kariuki)
35515
35516         • Add --dump flag, introduce --dump requests,  responses  and  remove
35517           --dump-auth, --dump-filters
35518
35519           • Obscure X-Auth-Token: from headers when dumping too
35520
35521         • Document  and  implement  exit  codes  for  different failure modes
35522           (Ishuah Kariuki)
35523
35524       • Compile
35525
35526       • Bug Fixes
35527
35528         • Retry lots more different types of errors to make multipart  trans‐
35529           fers more reliable
35530
35531         • Save the config before asking for a token, fixes disappearing oauth
35532           config
35533
35534         • Warn the user if --include and --exclude are used together  (Ernest
35535           Borowski)
35536
35537         • Fix duplicate files (e.g.  on Google drive) causing spurious copies
35538
35539         • Allow trailing and leading whitespace for passwords (Jason Rose)
35540
35541         • ncdu: fix crashes on empty directories
35542
35543         • rcat: fix goroutine leak
35544
35545         • moveto/copyto: Fix to allow copying to the same name
35546
35547       • Mount
35548
35549         • --vfs-cache mode to make writes into mounts more reliable.
35550
35551           • this requires caching files on the disk (see --cache-dir)
35552
35553           • As this is a new feature, use with care
35554
35555         • Use sdnotify to signal systemd the mount is ready (Fabian Möller)
35556
35557         • Check if directory is not empty before mounting (Ernest Borowski)
35558
35559       • Local
35560
35561         • Add error message for cross file system moves
35562
35563         • Fix equality check for times
35564
35565       • Dropbox
35566
35567         • Rework multipart upload
35568
35569           • buffer  the  chunks when uploading large files so they can be re‐
35570             tried
35571
35572           • change default chunk size to 48MB now we are  buffering  them  in
35573             memory
35574
35575           • retry every error after the first chunk is done successfully
35576
35577         • Fix error when renaming directories
35578
35579       • Swift
35580
35581         • Fix crash on bad authentication
35582
35583       • Google Drive
35584
35585         • Add service account support (Tim Cooijmans)
35586
35587       • S3
35588
35589         • Make   it   work   properly   with  Digital  Ocean  Spaces  (Andrew
35590           Starr-Bochicchio)
35591
35592         • Fix crash if a bad listing is received
35593
35594         • Add support for ECS task IAM roles (David Minor)
35595
35596       • Backblaze B2
35597
35598         • Fix multipart upload retries
35599
35600         • Fix --hard-delete to make it work 100% of the time
35601
35602       • Swift
35603
35604         • Allow authentication with storage URL and auth key (Giovanni Pizzi)
35605
35606         • Add new fields for swift configuration to support IBM Bluemix Swift
35607           (Pierre Carlson)
35608
35609         • Add OS_TENANT_ID and OS_USER_ID to config
35610
35611         • Allow configs with user id instead of user name
35612
35613         • Check  if  swift  segments  container  exists before creating (John
35614           Leach)
35615
35616         • Fix memory leak in swift transfers (upstream fix)
35617
35618       • SFTP
35619
35620         • Add option to enable the use of aes128-cbc cipher (Jon Fautley)
35621
35622       • Amazon cloud drive
35623
35624         • Fix download of large files failing with "Only one  auth  mechanism
35625           allowed"
35626
35627       • crypt
35628
35629         • Option to encrypt directory names or leave them intact
35630
35631         • Implement DirChangeNotify (Fabian Möller)
35632
35633       • onedrive
35634
35635         • Add  option to choose resourceURL during setup of OneDrive Business
35636           account if more than one is available for user
35637
35638   v1.38 - 2017-09-30
35639       • New backends
35640
35641         • Azure Blob Storage (thanks Andrei Dragomir)
35642
35643         • Box
35644
35645         • Onedrive for Business (thanks Oliver Heyme)
35646
35647         • QingStor from QingCloud (thanks wuyu)
35648
35649       • New commands
35650
35651         • rcat - read from standard input and stream upload
35652
35653         • tree - shows a nicely formatted recursive listing
35654
35655         • cryptdecode - decode crypted file names (thanks ishuah)
35656
35657         • config show - print the config file
35658
35659         • config file - print the config file location
35660
35661       • New Features
35662
35663         • Empty directories are deleted on sync
35664
35665         • dedupe - implement merging of duplicate directories
35666
35667         • check and cryptcheck made more consistent and use less memory
35668
35669         • cleanup for remaining remotes (thanks ishuah)
35670
35671         • --immutable for ensuring that files don't change (thanks Jacob  Mc‐
35672           Namee)
35673
35674         • --user-agent option (thanks Alex McGrath Kraak)
35675
35676         • --disable flag to disable optional features
35677
35678         • --bind flag for choosing the local addr on outgoing connections
35679
35680         • Support for zsh auto-completion (thanks bpicode)
35681
35682         • Stop normalizing file names but do a normalized compare in sync
35683
35684       • Compile
35685
35686         • Update to using go1.9 as the default go version
35687
35688         • Remove snapd build due to maintenance problems
35689
35690       • Bug Fixes
35691
35692         • Improve  retriable  error  detection  which makes multipart uploads
35693           better
35694
35695         • Make check obey --ignore-size
35696
35697         • Fix bwlimit toggle in conjunction with schedules (thanks cbruegg)
35698
35699         • config ensures newly written config is on the same mount
35700
35701       • Local
35702
35703         • Revert to copy when moving file across file system boundaries
35704
35705         • --skip-links to suppress symlink warnings (thanks Zhiming Wang)
35706
35707       • Mount
35708
35709         • Re-use rcat internals to support uploads from all remotes
35710
35711       • Dropbox
35712
35713         • Fix "entry doesn't belong in directory" error
35714
35715         • Stop using deprecated API methods
35716
35717       • Swift
35718
35719         • Fix server-side copy to empty container with --fast-list
35720
35721       • Google Drive
35722
35723         • Change the default for --drive-use-trash to true
35724
35725       • S3
35726
35727         • Set session token when using STS (thanks Girish Ramakrishnan)
35728
35729         • Glacier docs and error messages (thanks Jan Varho)
35730
35731         • Read 1000 (not 1024) items in dir listings to fix Wasabi
35732
35733       • Backblaze B2
35734
35735         • Fix SHA1 mismatch when downloading files with no SHA1
35736
35737         • Calculate missing hashes on the fly instead of spooling
35738
35739         • --b2-hard-delete to permanently delete  (not  hide)  files  (thanks
35740           John Papandriopoulos)
35741
35742       • Hubic
35743
35744         • Fix  creating  containers  - no longer have to use the default con‐
35745           tainer
35746
35747       • Swift
35748
35749         • Optionally configure from a standard set of  OpenStack  environment
35750           vars
35751
35752         • Add endpoint_type config
35753
35754       • Google Cloud Storage
35755
35756         • Fix bucket creation to work with limited permission users
35757
35758       • SFTP
35759
35760         • Implement connection pooling for multiple ssh connections
35761
35762         • Limit new connections per second
35763
35764         • Add  support for MD5 and SHA1 hashes where available (thanks Chris‐
35765           tian Brüggemann)
35766
35767       • HTTP
35768
35769         • Fix URL encoding issues
35770
35771         • Fix directories with : in
35772
35773         • Fix panic with URL encoded content
35774
35775   v1.37 - 2017-07-22
35776       • New backends
35777
35778         • FTP - thanks to Antonio Messina
35779
35780         • HTTP - thanks to Vasiliy Tolstov
35781
35782       • New commands
35783
35784         • rclone ncdu - for exploring a remote with a text based user  inter‐
35785           face.
35786
35787         • rclone lsjson - for listing with a machine readable output
35788
35789         • rclone  dbhashsum - to show Dropbox style hashes of files (local or
35790           Dropbox)
35791
35792       • New Features
35793
35794         • Implement --fast-list flag
35795
35796           • This allows remotes to list recursively if they can
35797
35798           • This uses less transactions (important if you pay for them)
35799
35800           • This may or may not be quicker
35801
35802           • This will use more memory as it has to hold the listing in memory
35803
35804           • --old-sync-method deprecated - the remaining uses are covered  by
35805             --fast-list
35806
35807           • This involved a major re-write of all the listing code
35808
35809         • Add  --tpslimit and --tpslimit-burst to limit transactions per sec‐
35810           ond
35811
35812           • this is useful in conjunction with rclone mount to limit external
35813             apps
35814
35815         • Add --stats-log-level so can see --stats without -v
35816
35817         • Print password prompts to stderr - Hraban Luyat
35818
35819         • Warn about duplicate files when syncing
35820
35821         • Oauth improvements
35822
35823           • allow auth_url and token_url to be set in the config file
35824
35825           • Print redirection URI if using own credentials.
35826
35827         • Don't Mkdir at the start of sync to save transactions
35828
35829       • Compile
35830
35831         • Update build to go1.8.3
35832
35833         • Require go1.6 for building rclone
35834
35835         • Compile 386 builds with "GO386=387" for maximum compatibility
35836
35837       • Bug Fixes
35838
35839         • Fix menu selection when no remotes
35840
35841         • Config saving reworked to not kill the file if disk gets full
35842
35843         • Don't delete remote if name does not change while renaming
35844
35845         • moveto, copyto: report transfers and checks as per move and copy
35846
35847       • Local
35848
35849         • Add --local-no-unicode-normalization flag - Bob Potter
35850
35851       • Mount
35852
35853         • Now  supported on Windows using cgofuse and WinFsp - thanks to Bill
35854           Zissimopoulos for much help
35855
35856         • Compare checksums on upload/download via FUSE
35857
35858         • Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -  Jérôme
35859           Vizcaino
35860
35861         • On read only open of file, make open pending until first read
35862
35863         • Make --read-only reject modify operations
35864
35865         • Implement ModTime via FUSE for remotes that support it
35866
35867         • Allow modTime to be changed even before all writers are closed
35868
35869         • Fix panic on renames
35870
35871         • Fix hang on errored upload
35872
35873       • Crypt
35874
35875         • Report the name:root as specified by the user
35876
35877         • Add an "obfuscate" option for filename encryption - Stephen Harris
35878
35879       • Amazon Drive
35880
35881         • Fix initialization order for token renewer
35882
35883         • Remove  revoked  credentials,  allow  oauth proxy config and update
35884           docs
35885
35886       • B2
35887
35888         • Reduce minimum chunk size to 5MB
35889
35890       • Drive
35891
35892         • Add team drive support
35893
35894         • Reduce bandwidth by adding fields for partial  responses  -  Martin
35895           Kristensen
35896
35897         • Implement  --drive-shared-with-me flag to view shared with me files
35898           - Danny Tsai
35899
35900         • Add --drive-trashed-only to read only the files in the trash
35901
35902         • Remove obsolete --drive-full-list
35903
35904         • Add missing seek to start on retries of chunked uploads
35905
35906         • Fix stats accounting for upload
35907
35908         • Convert / in names to a unicode equivalent (/)
35909
35910         • Poll for Google Drive changes when mounted
35911
35912       • OneDrive
35913
35914         • Fix the uploading of files with spaces
35915
35916         • Fix initialization order for token renewer
35917
35918         • Display speeds accurately when uploading - Yoni Jah
35919
35920         • Swap to using http://localhost:53682/ as  redirect  URL  -  Michael
35921           Ledin
35922
35923         • Retry on token expired error, reset upload body on retry - Yoni Jah
35924
35925       • Google Cloud Storage
35926
35927         • Add  ability  to  specify location and storage class via config and
35928           command line - thanks gdm85
35929
35930         • Create container if necessary on server-side copy
35931
35932         • Increase directory listing chunk to 1000 to increase performance
35933
35934         • Obtain a refresh token for GCS - Steven Lu
35935
35936       • Yandex
35937
35938         • Fix the name reported in log messages (was empty)
35939
35940         • Correct error return for listing empty directory
35941
35942       • Dropbox
35943
35944         • Rewritten to use the v2 API
35945
35946           • Now supports ModTime
35947
35948             • Can only set by uploading the file again
35949
35950             • If you uploaded with an old rclone, rclone  may  upload  every‐
35951               thing again
35952
35953             • Use --size-only or --checksum to avoid this
35954
35955           • Now supports the Dropbox content hashing scheme
35956
35957           • Now supports low level retries
35958
35959       • S3
35960
35961         • Work around eventual consistency in bucket creation
35962
35963         • Create container if necessary on server-side copy
35964
35965         • Add  us-east-2  (Ohio)  and  eu-west-2 (London) S3 regions - Zahiar
35966           Ahmed
35967
35968       • Swift, Hubic
35969
35970         • Fix zero length directory markers showing in the subdirectory list‐
35971           ing
35972
35973           • this caused lots of duplicate transfers
35974
35975         • Fix paged directory listings
35976
35977           • this caused duplicate directory errors
35978
35979         • Create container if necessary on server-side copy
35980
35981         • Increase directory listing chunk to 1000 to increase performance
35982
35983         • Make sensible error if the user forgets the container
35984
35985       • SFTP
35986
35987         • Add support for using ssh key files
35988
35989         • Fix under Windows
35990
35991         • Fix ssh agent on Windows
35992
35993         • Adapt to latest version of library - Igor Kharin
35994
35995   v1.36 - 2017-03-18
35996       • New Features
35997
35998         • SFTP remote (Jack Schmidt)
35999
36000         • Re-implement  sync  routine  to work a directory at a time reducing
36001           memory usage
36002
36003         • Logging revamped to be more inline with rsync - now much quieter  *
36004           -v  only  shows transfers * -vv is for full debug * --syslog to log
36005           to syslog on capable platforms
36006
36007         • Implement --backup-dir and --suffix
36008
36009         • Implement --track-renames (initial  implementation  by  Bjørn  Erik
36010           Pedersen)
36011
36012         • Add time-based bandwidth limits (Lukas Loesche)
36013
36014         • rclone cryptcheck: checks integrity of crypt remotes
36015
36016         • Allow all config file variables and options to be set from environ‐
36017           ment variables
36018
36019         • Add --buffer-size parameter to control buffer size for copy
36020
36021         • Make --delete-after the default
36022
36023         • Add --ignore-checksum flag (fixed by Hisham Zarka)
36024
36025         • rclone check: Add --download flag to check all the data,  not  just
36026           hashes
36027
36028         • rclone cat: add --head, --tail, --offset, --count and --discard
36029
36030         • rclone config: when choosing from a list, allow the value to be en‐
36031           tered too
36032
36033         • rclone config: allow rename and copy of remotes
36034
36035         • rclone obscure: for generating  encrypted  passwords  for  rclone's
36036           config (T.C.  Ferguson)
36037
36038         • Comply with XDG Base Directory specification (Dario Giovannetti)
36039
36040           • this moves the default location of the config file in a backwards
36041             compatible way
36042
36043         • Release changes
36044
36045           • Ubuntu snap support (Dedsec1)
36046
36047           • Compile with go 1.8
36048
36049           • MIPS/Linux big and little endian support
36050
36051       • Bug Fixes
36052
36053         • Fix copyto copying things to the wrong place if the destination dir
36054           didn't exist
36055
36056         • Fix parsing of remotes in moveto and copyto
36057
36058         • Fix --delete-before deleting files on copy
36059
36060         • Fix --files-from with an empty file copying everything
36061
36062         • Fix sync: don't update mod times if --dry-run set
36063
36064         • Fix MimeType propagation
36065
36066         • Fix filters to add ** rules to directory rules
36067
36068       • Local
36069
36070         • Implement -L, --copy-links flag to allow rclone to follow symlinks
36071
36072         • Open  files  in  write  only  mode so rclone can write to an rclone
36073           mount
36074
36075         • Fix unnormalised unicode causing problems reading directories
36076
36077         • Fix interaction between -x flag and --max-depth
36078
36079       • Mount
36080
36081         • Implement proper directory handling (mkdir, rmdir, renaming)
36082
36083         • Make include and exclude filters apply to mount
36084
36085         • Implement read and write async buffers - control with --buffer-size
36086
36087         • Fix fsync on for directories
36088
36089         • Fix retry on network failure when reading off crypt
36090
36091       • Crypt
36092
36093         • Add --crypt-show-mapping to show encrypted file mapping
36094
36095         • Fix crypt writer getting stuck in a loop
36096
36097IMPORTANT this bug had the potential  to  cause  data  corruption
36098             when
36099
36100             • reading data from a network based remote and
36101
36102             • writing to a crypt on Google Drive
36103
36104           • Use  the cryptcheck command to validate your data if you are con‐
36105             cerned
36106
36107           • If syncing two crypt remotes, sync the unencrypted remote
36108
36109       • Amazon Drive
36110
36111         • Fix panics on Move (rename)
36112
36113         • Fix panic on token expiry
36114
36115       • B2
36116
36117         • Fix inconsistent listings and rclone check
36118
36119         • Fix uploading empty files with go1.8
36120
36121         • Constrain memory usage when doing multipart uploads
36122
36123         • Fix upload url not being refreshed properly
36124
36125       • Drive
36126
36127         • Fix Rmdir on directories with trashed files
36128
36129         • Fix "Ignoring unknown object" when downloading
36130
36131         • Add --drive-list-chunk
36132
36133         • Add --drive-skip-gdocs (Károly Oláh)
36134
36135       • OneDrive
36136
36137         • Implement Move
36138
36139         • Fix Copy
36140
36141           • Fix overwrite detection in Copy
36142
36143           • Fix waitForJob to parse errors correctly
36144
36145         • Use token renewer to stop auth errors on long uploads
36146
36147         • Fix uploading empty files with go1.8
36148
36149       • Google Cloud Storage
36150
36151         • Fix depth 1 directory listings
36152
36153       • Yandex
36154
36155         • Fix single level directory listing
36156
36157       • Dropbox
36158
36159         • Normalise the case for single level directory listings
36160
36161         • Fix depth 1 listing
36162
36163       • S3
36164
36165         • Added ca-central-1 region (Jon Yergatian)
36166
36167   v1.35 - 2017-01-02
36168       • New Features
36169
36170         • moveto and copyto commands  for  choosing  a  destination  name  on
36171           copy/move
36172
36173         • rmdirs command to recursively delete empty directories
36174
36175         • Allow repeated --include/--exclude/--filter options
36176
36177         • Only show transfer stats on commands which transfer stuff
36178
36179           • show stats on any command using the --stats flag
36180
36181         • Allow  overlapping directories in move when server-side dir move is
36182           supported
36183
36184         • Add --stats-unit option - thanks Scott McGillivray
36185
36186       • Bug Fixes
36187
36188         • Fix the config file being overwritten when two rclone instances are
36189           running
36190
36191         • Make rclone lsd obey the filters properly
36192
36193         • Fix compilation on mips
36194
36195         • Fix not transferring files that don't differ in size
36196
36197         • Fix panic on nil retry/fatal error
36198
36199       • Mount
36200
36201         • Retry reads on error - should help with reliability a lot
36202
36203         • Report the modification times for directories from the remote
36204
36205         • Add bandwidth accounting and limiting (fixes --bwlimit)
36206
36207         • If  --stats  provided will show stats and which files are transfer‐
36208           ring
36209
36210         • Support R/W files if truncate is set.
36211
36212         • Implement statfs interface so df works
36213
36214         • Note that write is now supported on Amazon Drive
36215
36216         • Report number of blocks in a file - thanks Stefan Breunig
36217
36218       • Crypt
36219
36220         • Prevent the user pointing crypt at itself
36221
36222         • Fix failed to authenticate decrypted block errors
36223
36224           • these will now return the underlying unexpected EOF instead
36225
36226       • Amazon Drive
36227
36228         • Add support for server-side move and directory move - thanks Stefan
36229           Breunig
36230
36231         • Fix nil pointer deref on size attribute
36232
36233       • B2
36234
36235         • Use new prefix and delimiter parameters in directory listings
36236
36237           • This  makes  --max-depth  1  dir  listings  as used in mount much
36238             faster
36239
36240         • Reauth the account while doing uploads too - should help with token
36241           expiry
36242
36243       • Drive
36244
36245         • Make DirMove more efficient and complain about moving the root
36246
36247         • Create destination directory on Move()
36248
36249   v1.34 - 2016-11-06
36250       • New Features
36251
36252         • Stop  single file and --files-from operations iterating through the
36253           source bucket.
36254
36255         • Stop removing failed upload to cloud storage remotes
36256
36257         • Make ContentType be preserved for cloud to cloud copies
36258
36259         • Add support to toggle bandwidth limits via SIGUSR2 -  thanks  Marco
36260           Paganini
36261
36262         • rclone check shows count of hashes that couldn't be checked
36263
36264         • rclone listremotes command
36265
36266         • Support linux/arm64 build - thanks Fredrik Fornwall
36267
36268         • Remove Authorization: lines from --dump-headers output
36269
36270       • Bug Fixes
36271
36272         • Ignore files with control characters in the names
36273
36274         • Fix rclone move command
36275
36276           • Delete src files which already existed in dst
36277
36278           • Fix deletion of src file when dst file older
36279
36280         • Fix rclone check on crypted file systems
36281
36282         • Make failed uploads not count as "Transferred"
36283
36284         • Make sure high level retries show with -q
36285
36286         • Use a vendor directory with godep for repeatable builds
36287
36288       • rclone mount - FUSE
36289
36290         • Implement FUSE mount options
36291
36292           • --no-modtime, --debug-fuse, --read-only, --allow-non-empty, --al‐
36293             low-root, --allow-other
36294
36295           • --default-permissions,   --write-back-cache,    --max-read-ahead,
36296             --umask, --uid, --gid
36297
36298         • Add --dir-cache-time to control caching of directory entries
36299
36300         • Implement seek for files opened for read (useful for video players)
36301
36302           • with -no-seek flag to disable
36303
36304         • Fix crash on 32 bit ARM (alignment of 64 bit counter)
36305
36306         • ...and many more internal fixes and improvements!
36307
36308       • Crypt
36309
36310         • Don't show encrypted password in configurator to stop confusion
36311
36312       • Amazon Drive
36313
36314         • New wait for upload option --acd-upload-wait-per-gb
36315
36316           • upload timeouts scale by file size and can be disabled
36317
36318         • Add 502 Bad Gateway to list of errors we retry
36319
36320         • Fix overwriting a file with a zero length file
36321
36322         • Fix ACD file size warning limit - thanks Felix Bünemann
36323
36324       • Local
36325
36326         • Unix:  implement -x/--one-file-system to stay on a single file sys‐
36327           tem
36328
36329           • thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
36330
36331         • Windows: ignore the symlink bit on files
36332
36333         • Windows: Ignore directory based junction points
36334
36335       • B2
36336
36337         • Make sure each upload has at least one upload slot - fixes  strange
36338           upload stats
36339
36340         • Fix uploads when using crypt
36341
36342         • Fix download of large files (sha1 mismatch)
36343
36344         • Return error when we try to create a bucket which someone else owns
36345
36346         • Update  B2  docs with Data usage, and Crypt section - thanks Tomasz
36347           Mazur
36348
36349       • S3
36350
36351         • Command line and config file support for
36352
36353           • Setting/overriding ACL - thanks Radek Senfeld
36354
36355           • Setting storage class - thanks Asko Tamm
36356
36357       • Drive
36358
36359         • Make exponential backoff work exactly as per Google specification
36360
36361         • add .epub, .odp and .tsv as export formats.
36362
36363       • Swift
36364
36365         • Don't read metadata for directory marker objects
36366
36367   v1.33 - 2016-08-24
36368       • New Features
36369
36370         • Implement encryption
36371
36372           • data encrypted in NACL secretbox format
36373
36374           • with optional file name encryption
36375
36376         • New commands
36377
36378           • rclone mount - implements FUSE mounting of remotes (EXPERIMENTAL)
36379
36380             • works on Linux, FreeBSD and OS X (need testers for the last 2!)
36381
36382           • rclone cat - outputs remote file or files to the terminal
36383
36384           • rclone genautocomplete - command to make a bash completion script
36385             for rclone
36386
36387         • Editing a remote using rclone config now goes through the wizard
36388
36389         • Compile  with go 1.7 - this fixes rclone on macOS Sierra and on 386
36390           processors
36391
36392         • Use cobra for sub commands and docs generation
36393
36394       • drive
36395
36396         • Document how to make your own client_id
36397
36398       • s3
36399
36400         • User-configurable Amazon S3 ACL (thanks Radek Šenfeld)
36401
36402       • b2
36403
36404         • Fix stats accounting for upload - no more jumping to 100% done
36405
36406         • On cleanup delete hide marker if it is the current file
36407
36408         • New B2 API endpoint (thanks Per Cederberg)
36409
36410         • Set maximum backoff to 5 Minutes
36411
36412       • onedrive
36413
36414         • Fix URL escaping in file names - e.g.  uploading files  with  +  in
36415           them.
36416
36417       • amazon cloud drive
36418
36419         • Fix token expiry during large uploads
36420
36421         • Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
36422
36423       • local
36424
36425         • Fix filenames with invalid UTF-8 not being uploaded
36426
36427         • Fix problem with some UTF-8 characters on OS X
36428
36429   v1.32 - 2016-07-13
36430       • Backblaze B2
36431
36432         • Fix upload of files large files not in root
36433
36434   v1.31 - 2016-07-13
36435       • New Features
36436
36437         • Reduce memory on sync by about 50%
36438
36439         • Implement  --no-traverse  flag to stop copy traversing the destina‐
36440           tion remote.
36441
36442           • This can be used to reduce memory usage down to the smallest pos‐
36443             sible.
36444
36445           • Useful  to  copy a small number of files into a large destination
36446             folder.
36447
36448         • Implement cleanup command for emptying trash /  removing  old  ver‐
36449           sions of files
36450
36451           • Currently B2 only
36452
36453         • Single file handling improved
36454
36455           • Now copied with --files-from
36456
36457           • Automatically sets --no-traverse when copying a single file
36458
36459         • Info on using installing with ansible - thanks Stefan Weichinger
36460
36461         • Implement --no-update-modtime flag to stop rclone fixing the remote
36462           modified times.
36463
36464       • Bug Fixes
36465
36466         • Fix move command - stop it running for overlapping Fses - this  was
36467           causing data loss.
36468
36469       • Local
36470
36471         • Fix incomplete hashes - this was causing problems for B2.
36472
36473       • Amazon Drive
36474
36475         • Rename  Amazon  Cloud  Drive to Amazon Drive - no changes to config
36476           file needed.
36477
36478       • Swift
36479
36480         • Add support for non-default project domain - thanks Antonio  Messi‐
36481           na.
36482
36483       • S3
36484
36485         • Add instructions on how to use rclone with minio.
36486
36487         • Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
36488
36489         • Skip setting the modified time for objects > 5GB as it isn't possi‐
36490           ble.
36491
36492       • Backblaze B2
36493
36494         • Add --b2-versions flag so old versions can be listed and retrieved.
36495
36496         • Treat 403 errors (e.g.  cap exceeded) as fatal.
36497
36498         • Implement cleanup command for deleting old file versions.
36499
36500         • Make error handling compliant with B2 integrations notes.
36501
36502         • Fix handling of token expiry.
36503
36504         • Implement --b2-test-mode to set X-Bz-Test-Mode header.
36505
36506         • Set cutoff for chunked upload to 200MB as per B2 guidelines.
36507
36508         • Make upload multi-threaded.
36509
36510       • Dropbox
36511
36512         • Don't retry 461 errors.
36513
36514   v1.30 - 2016-06-18
36515       • New Features
36516
36517         • Directory listing code reworked for more features and better  error
36518           reporting (thanks to Klaus Post for help).  This enables
36519
36520           • Directory include filtering for efficiency
36521
36522           • --max-depth parameter
36523
36524           • Better error reporting
36525
36526           • More to come
36527
36528         • Retry more errors
36529
36530         • Add --ignore-size flag - for uploading images to onedrive
36531
36532         • Log -v output to stdout by default
36533
36534         • Display the transfer stats in more human readable form
36535
36536         • Make 0 size files specifiable with --max-size 0b
36537
36538         • Add b suffix so we can specify bytes in --bwlimit, --min-size, etc.
36539
36540         • Use  "password:"  instead of "password>" prompt - thanks Klaus Post
36541           and Leigh Klotz
36542
36543       • Bug Fixes
36544
36545         • Fix retry doing one too many retries
36546
36547       • Local
36548
36549         • Fix problems with OS X and UTF-8 characters
36550
36551       • Amazon Drive
36552
36553         • Check a file exists before uploading to help with 408 Conflict  er‐
36554           rors
36555
36556         • Reauth on 401 errors - this has been causing a lot of problems
36557
36558         • Work around spurious 403 errors
36559
36560         • Restart directory listings on error
36561
36562       • Google Drive
36563
36564         • Check a file exists before uploading to help with duplicates
36565
36566         • Fix retry of multipart uploads
36567
36568       • Backblaze B2
36569
36570         • Implement large file uploading
36571
36572       • S3
36573
36574         • Add AES256 server-side encryption for - thanks Justin R.  Wilson
36575
36576       • Google Cloud Storage
36577
36578         • Make sure we don't use conflicting content types on upload
36579
36580         • Add service account support - thanks Michal Witkowski
36581
36582       • Swift
36583
36584         • Add auth version parameter
36585
36586         • Add domain option for openstack (v3 auth) - thanks Fabian Ruff
36587
36588   v1.29 - 2016-04-18
36589       • New Features
36590
36591         • Implement -I, --ignore-times for unconditional upload
36592
36593         • Improve dedupecommand
36594
36595           • Now removes identical copies without asking
36596
36597           • Now obeys --dry-run
36598
36599           • Implement --dedupe-mode for non interactive running
36600
36601             • --dedupe-mode interactive - interactive the default.
36602
36603             • --dedupe-mode  skip  -  removes identical files then skips any‐
36604               thing left.
36605
36606             • --dedupe-mode first - removes identical files  then  keeps  the
36607               first one.
36608
36609             • --dedupe-mode  newest  - removes identical files then keeps the
36610               newest one.
36611
36612             • --dedupe-mode oldest - removes identical files then  keeps  the
36613               oldest one.
36614
36615             • --dedupe-mode rename - removes identical files then renames the
36616               rest to be different.
36617
36618       • Bug fixes
36619
36620         • Make rclone check obey the --size-only flag.
36621
36622         • Use "application/octet-stream" if discovered mime type is invalid.
36623
36624         • Fix missing "quit" option when there are no remotes.
36625
36626       • Google Drive
36627
36628         • Increase default chunk size to 8 MB - increases upload speed of big
36629           files
36630
36631         • Speed up directory listings and make more reliable
36632
36633         • Add missing retries for Move and DirMove - increases reliability
36634
36635         • Preserve mime type on file update
36636
36637       • Backblaze B2
36638
36639         • Enable mod time syncing
36640
36641           • This means that B2 will now check modification times
36642
36643           • It will upload new files to update the modification times
36644
36645           • (there isn't an API to just set the mod time.)
36646
36647           • If you want the old behaviour use --size-only.
36648
36649         • Update API to new version
36650
36651         • Fix parsing of mod time when not in metadata
36652
36653       • Swift/Hubic
36654
36655         • Don't return an MD5SUM for static large objects
36656
36657       • S3
36658
36659         • Fix uploading files bigger than 50GB
36660
36661   v1.28 - 2016-03-01
36662       • New Features
36663
36664         • Configuration file encryption - thanks Klaus Post
36665
36666         • Improve  rclone config adding more help and making it easier to un‐
36667           derstand
36668
36669         • Implement -u/--update so creation times can be used on all remotes
36670
36671         • Implement --low-level-retries flag
36672
36673         • Optionally disable gzip compression on downloads with --no-gzip-en‐
36674           coding
36675
36676       • Bug fixes
36677
36678         • Don't make directories if --dry-run set
36679
36680         • Fix and document the move command
36681
36682         • Fix redirecting stderr on unix-like OSes when using --log-file
36683
36684         • Fix  delete  command  to  wait  until  all finished - fixes missing
36685           deletes.
36686
36687       • Backblaze B2
36688
36689         • Use one upload URL per go routine fixes more than one upload  using
36690           auth token
36691
36692         • Add pacing, retries and reauthentication - fixes token expiry prob‐
36693           lems
36694
36695         • Upload without using a temporary file from local (and remotes which
36696           support SHA1)
36697
36698         • Fix reading metadata for all files when it shouldn't have been
36699
36700       • Drive
36701
36702         • Fix listing drive documents at root
36703
36704         • Disable copy and move for Google docs
36705
36706       • Swift
36707
36708         • Fix uploading of chunked files with non ASCII characters
36709
36710         • Allow setting of storage_url in the config - thanks Xavier Lucas
36711
36712       • S3
36713
36714         • Allow  IAM role and credentials from environment variables - thanks
36715           Brian Stengaard
36716
36717         • Allow low privilege users to use S3 (check if directory exists dur‐
36718           ing Mkdir) - thanks Jakub Gedeon
36719
36720       • Amazon Drive
36721
36722         • Retry on more things to make directory listings more reliable
36723
36724   v1.27 - 2016-01-31
36725       • New Features
36726
36727         • Easier headless configuration with rclone authorize
36728
36729         • Add  support for multiple hash types - we now check SHA1 as well as
36730           MD5 hashes.
36731
36732         • delete command which does obey the filters (unlike purge)
36733
36734         • dedupe command to deduplicate a remote.  Useful with Google Drive.
36735
36736         • Add --ignore-existing flag to skip all files that exist on destina‐
36737           tion.
36738
36739         • Add --delete-before, --delete-during, --delete-after flags.
36740
36741         • Add --memprofile flag to debug memory use.
36742
36743         • Warn the user about files with same name but different case
36744
36745         • Make --include rules add their implicit exclude * at the end of the
36746           filter list
36747
36748         • Deprecate compiling with go1.3
36749
36750       • Amazon Drive
36751
36752         • Fix download of files > 10 GB
36753
36754         • Fix directory traversal ("Next token is expired") for large  direc‐
36755           tory listings
36756
36757         • Remove  409  conflict  from  error codes we will retry - stops very
36758           long pauses
36759
36760       • Backblaze B2
36761
36762         • SHA1 hashes now checked by rclone core
36763
36764       • Drive
36765
36766         • Add --drive-auth-owner-only to only consider files owned by the us‐
36767           er - thanks Björn Harrtell
36768
36769         • Export Google documents
36770
36771       • Dropbox
36772
36773         • Make file exclusion error controllable with -q
36774
36775       • Swift
36776
36777         • Fix upload from unprivileged user.
36778
36779       • S3
36780
36781         • Fix updating of mod times of files with + in.
36782
36783       • Local
36784
36785         • Add local file system option to disable UNC on Windows.
36786
36787   v1.26 - 2016-01-02
36788       • New Features
36789
36790         • Yandex storage backend - thank you Dmitry Burdeev ("dibu")
36791
36792         • Implement Backblaze B2 storage backend
36793
36794         • Add  --min-age  and  --max-age  flags  -  thank you Adriano Aurélio
36795           Meirelles
36796
36797         • Make ls/lsl/md5sum/size/check obey includes and excludes
36798
36799       • Fixes
36800
36801         • Fix crash in http logging
36802
36803         • Upload releases to github too
36804
36805       • Swift
36806
36807         • Fix sync for chunked files
36808
36809       • OneDrive
36810
36811         • Re-enable server-side copy
36812
36813         • Don't mask HTTP error codes with JSON decode error
36814
36815       • S3
36816
36817         • Fix corrupting Content-Type  on  mod  time  update  (thanks  Joseph
36818           Spurrier)
36819
36820   v1.25 - 2015-11-14
36821       • New features
36822
36823         • Implement Hubic storage system
36824
36825       • Fixes
36826
36827         • Fix deletion of some excluded files without --delete-excluded
36828
36829           • This could have deleted files unexpectedly on sync
36830
36831           • Always check first with --dry-run!
36832
36833       • Swift
36834
36835         • Stop SetModTime losing metadata (e.g.  X-Object-Manifest)
36836
36837           • This could have caused data loss for files > 5GB in size
36838
36839         • Use ContentType from Object to avoid lookups in listings
36840
36841       • OneDrive
36842
36843         • disable server-side copy as it seems to be broken at Microsoft
36844
36845   v1.24 - 2015-11-07
36846       • New features
36847
36848         • Add support for Microsoft OneDrive
36849
36850         • Add  --no-check-certificate  option  to  disable server certificate
36851           verification
36852
36853         • Add async readahead buffer for faster transfer of big files
36854
36855       • Fixes
36856
36857         • Allow spaces in remotes and check remote names for validity at cre‐
36858           ation time
36859
36860         • Allow '&' and disallow ':' in Windows filenames.
36861
36862       • Swift
36863
36864         • Ignore  directory marker objects where appropriate - allows working
36865           with Hubic
36866
36867         • Don't delete the container if fs wasn't at root
36868
36869       • S3
36870
36871         • Don't delete the bucket if fs wasn't at root
36872
36873       • Google Cloud Storage
36874
36875         • Don't delete the bucket if fs wasn't at root
36876
36877   v1.23 - 2015-10-03
36878       • New features
36879
36880         • Implement rclone size for measuring remotes
36881
36882       • Fixes
36883
36884         • Fix headless config for drive and gcs
36885
36886         • Tell the user they should try again if the webserver method failed
36887
36888         • Improve output of --dump-headers
36889
36890       • S3
36891
36892         • Allow anonymous access to public buckets
36893
36894       • Swift
36895
36896         • Stop chunked operations logging "Failed to read  info:  Object  Not
36897           Found"
36898
36899         • Use Content-Length on uploads for extra reliability
36900
36901   v1.22 - 2015-09-28
36902       • Implement rsync like include and exclude flags
36903
36904       • swift
36905
36906         • Support files > 5GB - thanks Sergey Tolmachev
36907
36908   v1.21 - 2015-09-22
36909       • New features
36910
36911         • Display individual transfer progress
36912
36913         • Make lsl output times in localtime
36914
36915       • Fixes
36916
36917         • Fix  allowing  user to override credentials again in Drive, GCS and
36918           ACD
36919
36920       • Amazon Drive
36921
36922         • Implement compliant pacing scheme
36923
36924       • Google Drive
36925
36926         • Make directory reads concurrent for increased speed.
36927
36928   v1.20 - 2015-09-15
36929       • New features
36930
36931         • Amazon Drive support
36932
36933         • Oauth support redone - fix many bugs and improve usability
36934
36935           • Use "golang.org/x/oauth2" as oauth library of choice
36936
36937           • Improve oauth usability for smoother initial signup
36938
36939           • drive, googlecloudstorage: optionally use  auto  config  for  the
36940             oauth token
36941
36942         • Implement --dump-headers and --dump-bodies debug flags
36943
36944         • Show multiple matched commands if abbreviation too short
36945
36946         • Implement server-side move where possible
36947
36948       • local
36949
36950         • Always use UNC paths internally on Windows - fixes a lot of bugs
36951
36952       • dropbox
36953
36954         • force use of our custom transport which makes timeouts work
36955
36956       • Thanks to Klaus Post for lots of help with this release
36957
36958   v1.19 - 2015-08-28
36959       • New features
36960
36961         • Server side copies for s3/swift/drive/dropbox/gcs
36962
36963         • Move command - uses server-side copies if it can
36964
36965         • Implement --retries flag - tries 3 times by default
36966
36967         • Build for plan9/amd64 and solaris/amd64 too
36968
36969       • Fixes
36970
36971         • Make a current version download with a fixed URL for scripting
36972
36973         • Ignore rmdir in limited fs rather than throwing error
36974
36975       • dropbox
36976
36977         • Increase chunk size to improve upload speeds massively
36978
36979         • Issue an error message when trying to upload bad file name
36980
36981   v1.18 - 2015-08-17
36982       • drive
36983
36984         • Add --drive-use-trash flag so rclone trashes instead of deletes
36985
36986         • Add "Forbidden to download" message for files with no downloadURL
36987
36988       • dropbox
36989
36990         • Remove datastore
36991
36992           • This was deprecated and it caused a lot of problems
36993
36994           • Modification times and MD5SUMs no longer stored
36995
36996         • Fix uploading files > 2GB
36997
36998       • s3
36999
37000         • use official AWS SDK from github.com/aws/aws-sdk-go
37001
37002NB will most likely require you to delete and recreate remote
37003
37004         • enable multipart upload which enables files > 5GB
37005
37006         • tested with Ceph / RadosGW / S3 emulation
37007
37008         • many  thanks to Sam Liston and Brian Haymore at the Utah Center for
37009           High Performance Computing (https://www.chpc.utah.edu/) for a  Ceph
37010           test account
37011
37012       • misc
37013
37014         • Show errors when reading the config file
37015
37016         • Do not print stats in quiet mode - thanks Leonid Shalupov
37017
37018         • Add FAQ
37019
37020         • Fix created directories not obeying umask
37021
37022         • Linux installation instructions - thanks Shimon Doodkin
37023
37024   v1.17 - 2015-06-14
37025       • dropbox: fix case insensitivity issues - thanks Leonid Shalupov
37026
37027   v1.16 - 2015-06-09
37028       • Fix uploading big files which was causing timeouts or panics
37029
37030       • Don't check md5sum after download with --size-only
37031
37032   v1.15 - 2015-06-06
37033       • Add --checksum flag to only discard transfers by MD5SUM - thanks Alex
37034         Couper
37035
37036       • Implement --size-only flag to sync on size not checksum & modtime
37037
37038       • Expand docs and remove duplicated information
37039
37040       • Document rclone's limitations with directories
37041
37042       • dropbox: update docs about case insensitivity
37043
37044   v1.14 - 2015-05-21
37045       • local: fix encoding of non utf-8 file names - fixes a duplicate  file
37046         problem
37047
37048       • drive: docs about rate limiting
37049
37050       • google   cloud   storage:   Fix   compile   after   API   change   in
37051         "google.golang.org/api/storage/v1"
37052
37053   v1.13 - 2015-05-10
37054       • Revise documentation (especially sync)
37055
37056       • Implement --timeout and --conntimeout
37057
37058       • s3: ignore etags from multipart uploads which aren't md5sums
37059
37060   v1.12 - 2015-03-15
37061       • drive: Use chunked upload for files above a certain size
37062
37063       • drive: add --drive-chunk-size and --drive-upload-cutoff parameters
37064
37065       • drive: switch to insert from update when a failed  copy  deletes  the
37066         upload
37067
37068       • core: Log duplicate files if they are detected
37069
37070   v1.11 - 2015-03-04
37071       • swift: add region parameter
37072
37073       • drive: fix crash on failed to update remote mtime
37074
37075       • In remote paths, change native directory separators to /
37076
37077       • Add synchronization to ls/lsl/lsd output to stop corruptions
37078
37079       • Ensure all stats/log messages to go stderr
37080
37081       • Add --log-file flag to log everything (including panics) to file
37082
37083       • Make it possible to disable stats printing with --stats=0
37084
37085       • Implement --bwlimit to limit data transfer bandwidth
37086
37087   v1.10 - 2015-02-12
37088       • s3: list an unlimited number of items
37089
37090       • Fix getting stuck in the configurator
37091
37092   v1.09 - 2015-02-07
37093       • windows:  Stop drive letters (e.g.  C:) getting mixed up with remotes
37094         (e.g.  drive:)
37095
37096       • local: Fix directory separators on Windows
37097
37098       • drive: fix rate limit exceeded errors
37099
37100   v1.08 - 2015-02-04
37101       • drive: fix subdirectory listing to not list entire drive
37102
37103       • drive: Fix SetModTime
37104
37105       • dropbox: adapt code to recent library changes
37106
37107   v1.07 - 2014-12-23
37108       • google cloud storage: fix memory leak
37109
37110   v1.06 - 2014-12-12
37111       • Fix "Couldn't find home directory" on OSX
37112
37113       • swift: Add tenant parameter
37114
37115       • Use new location of Google API packages
37116
37117   v1.05 - 2014-08-09
37118       • Improved tests and consequently lots of minor fixes
37119
37120       • core: Fix race detected by go race detector
37121
37122       • core: Fixes after running errcheck
37123
37124       • drive: reset root directory on Rmdir and Purge
37125
37126       • fs: Document that Purger returns error on empty directory,  test  and
37127         fix
37128
37129       • google cloud storage: fix ListDir on subdirectory
37130
37131       • google cloud storage: re-read metadata in SetModTime
37132
37133       • s3:  make reading metadata more reliable to work around eventual con‐
37134         sistency problems
37135
37136       • s3: strip trailing / from ListDir()
37137
37138       • swift: return directories without / in ListDir
37139
37140   v1.04 - 2014-07-21
37141       • google cloud storage: Fix crash on Update
37142
37143   v1.03 - 2014-07-20
37144       • swift, s3, dropbox: fix updated files being marked as corrupted
37145
37146       • Make compile with go 1.1 again
37147
37148   v1.02 - 2014-07-19
37149       • Implement Dropbox remote
37150
37151       • Implement Google Cloud Storage remote
37152
37153       • Verify Md5sums and Sizes after copies
37154
37155       • Remove times from "ls" command - lists sizes only
37156
37157       • Add add "lsl" - lists times and sizes
37158
37159       • Add "md5sum" command
37160
37161   v1.01 - 2014-07-04
37162       • drive: fix transfer of big files using up lots of memory
37163
37164   v1.00 - 2014-07-03
37165       • drive: fix whole second dates
37166
37167   v0.99 - 2014-06-26
37168       • Fix --dry-run not working
37169
37170       • Make compatible with go 1.1
37171
37172   v0.98 - 2014-05-30
37173       • s3: Treat missing Content-Length as 0 for some ceph installations
37174
37175       • rclonetest: add file with a space in
37176
37177   v0.97 - 2014-05-05
37178       • Implement copying of single files
37179
37180       • s3 & swift: support paths inside containers/buckets
37181
37182   v0.96 - 2014-04-24
37183       • drive: Fix multiple files of same name being created
37184
37185       • drive: Use o.Update and fs.Put to optimise transfers
37186
37187       • Add version number, -V and --version
37188
37189   v0.95 - 2014-03-28
37190       • rclone.org: website, docs and graphics
37191
37192       • drive: fix path parsing
37193
37194   v0.94 - 2014-03-27
37195       • Change remote format one last time
37196
37197       • GNU style flags
37198
37199   v0.93 - 2014-03-16
37200       • drive: store token in config file
37201
37202       • cross compile other versions
37203
37204       • set strict permissions on config file
37205
37206   v0.92 - 2014-03-15
37207       • Config fixes and --config option
37208
37209   v0.91 - 2014-03-15
37210       • Make config file
37211
37212   v0.90 - 2013-06-27
37213       • Project named rclone
37214
37215   v0.00 - 2012-11-18
37216       • Project started
37217

Bugs and Limitations

37219   Limitations
37220   Directory timestamps aren't preserved
37221       Rclone doesn't currently preserve the timestamps of directories.   This
37222       is because rclone only really considers objects when syncing.
37223
37224   Rclone struggles with millions of files in a directory/bucket
37225       Currently  rclone  loads each directory/bucket entirely into memory be‐
37226       fore using it.  Since each rclone object takes 0.5k-1k of  memory  this
37227       can take a very long time and use a large amount of memory.
37228
37229       Millions of files in a directory tends to occur on bucket-based remotes
37230       (e.g.  S3 buckets) since those remotes do not segregate  subdirectories
37231       within the bucket.
37232
37233   Bucket based remotes and folders
37234       Bucket  based  remotes (e.g.  S3/GCS/Swift/B2) do not have a concept of
37235       directories.  Rclone therefore cannot create directories in them  which
37236       means that empty directories on a bucket based remote will tend to dis‐
37237       appear.
37238
37239       Some software creates empty keys ending  in  /  as  directory  markers.
37240       Rclone doesn't do this as it potentially creates more objects and costs
37241       more.  This ability may be added in the future (probably via a flag/op‐
37242       tion).
37243
37244   Bugs
37245       Bugs are stored in rclone's GitHub project:
37246
37247       • Reported          bugs          (https://github.com/rclone/rclone/is
37248         sues?q=is%3Aopen+is%3Aissue+label%3Abug)
37249
37250       • Known          issues           (https://github.com/rclone/rclone/is
37251         sues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22)
37252
37253   Frequently Asked Questions
37254   Do all cloud storage systems support all rclone commands
37255       Yes  they  do.   All  the rclone commands (e.g.  sync, copy, etc.) will
37256       work on all the remote storage systems.
37257
37258   Can I copy the config from one machine to another
37259       Sure! Rclone stores all of its config in a single file.  If you want to
37260       find this file, run rclone config file which will tell you where it is.
37261
37262       See  the  remote setup docs (https://rclone.org/remote_setup/) for more
37263       info.
37264
37265   How do I configure rclone on a remote / headless box with no browser?
37266       This  has  now  been  documented  in  its   own   remote   setup   page
37267       (https://rclone.org/remote_setup/).
37268
37269   Can rclone sync directly from drive to s3
37270       Rclone can sync between two remote cloud storage systems just fine.
37271
37272       Note  that  it  effectively downloads the file and uploads it again, so
37273       the node running rclone would need to have lots of bandwidth.
37274
37275       The syncs would be incremental (on a file by file basis).
37276
37277       Eg
37278
37279              rclone sync -i drive:Folder s3:bucket
37280
37281   Using rclone from multiple locations at the same time
37282       You can use rclone from multiple places at the same time if you  choose
37283       different subdirectory for the output, e.g.
37284
37285              Server A> rclone sync -i /tmp/whatever remote:ServerA
37286              Server B> rclone sync -i /tmp/whatever remote:ServerB
37287
37288       If  you sync to the same directory then you should use rclone copy oth‐
37289       erwise the two instances of rclone may delete each other's files, e.g.
37290
37291              Server A> rclone copy /tmp/whatever remote:Backup
37292              Server B> rclone copy /tmp/whatever remote:Backup
37293
37294       The file names you upload from Server A and Server B should be  differ‐
37295       ent  in  this  case, otherwise some file systems (e.g.  Drive) may make
37296       duplicates.
37297
37298   Why doesn't rclone support partial transfers / binary diffs like rsync?
37299       Rclone stores each file you transfer as a native object on  the  remote
37300       cloud storage system.  This means that you can see the files you upload
37301       as expected using alternative access methods (e.g.   using  the  Google
37302       Drive  web  interface).   There  is a 1:1 mapping between files on your
37303       hard disk and objects created in the cloud storage system.
37304
37305       Cloud storage systems (at least none I've come across yet)  don't  sup‐
37306       port partially uploading an object.  You can't take an existing object,
37307       and change some bytes in the middle of it.
37308
37309       It would be possible to make a sync system which  stored  binary  diffs
37310       instead of whole objects like rclone does, but that would break the 1:1
37311       mapping of files on your hard disk to objects in the remote cloud stor‐
37312       age system.
37313
37314       All  the cloud storage systems support partial downloads of content, so
37315       it would be possible to make partial downloads work.  However  to  make
37316       this  work  efficiently this would require storing a significant amount
37317       of metadata, which breaks the desired 1:1 mapping of files to objects.
37318
37319   Can rclone do bi-directional sync?
37320       No, not at present.  rclone only does uni-directional sync from A -> B.
37321       It  may  do  in  the future though since it has all the primitives - it
37322       just requires writing the algorithm to do it.
37323
37324   Can I use rclone with an HTTP proxy?
37325       Yes.  rclone will follow the standard environment variables  for  prox‐
37326       ies, similar to cURL and other programs.
37327
37328       In  general  the  variables are called http_proxy (for services reached
37329       over http) and https_proxy (for services  reached  over  https).   Most
37330       public services will be using https, but you may wish to set both.
37331
37332       The  content  of  the variable is protocol://server:port.  The protocol
37333       value is the one used to talk to the proxy server, itself, and is  com‐
37334       monly either http or socks5.
37335
37336       Slightly  annoyingly,  there is no standard for the name; some applica‐
37337       tions may use http_proxy but another one HTTP_PROXY.  The Go  libraries
37338       used  by  rclone  will try both variations, but you may wish to set all
37339       possibilities.  So, on Linux, you may end up with code similar to
37340
37341              export http_proxy=http://proxyserver:12345
37342              export https_proxy=$http_proxy
37343              export HTTP_PROXY=$http_proxy
37344              export HTTPS_PROXY=$http_proxy
37345
37346       The NO_PROXY allows you to disable the proxy for specific hosts.  Hosts
37347       must  be  comma  separated,  and can contain domains or parts.  For in‐
37348       stance "foo.com" also matches "bar.foo.com".
37349
37350       e.g.
37351
37352              export no_proxy=localhost,127.0.0.0/8,my.host.name
37353              export NO_PROXY=$no_proxy
37354
37355       Note that the ftp backend does not support ftp_proxy yet.
37356
37357   Rclone gives x509: failed to load system roots and no roots provided error
37358       This means that rclone can't find the SSL  root  certificates.   Likely
37359       you  are  running rclone on a NAS with a cut-down Linux OS, or possibly
37360       on Solaris.
37361
37362       Rclone (via the Go runtime) tries to load the  root  certificates  from
37363       these places on Linux.
37364
37365              "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
37366              "/etc/pki/tls/certs/ca-bundle.crt",   // Fedora/RHEL
37367              "/etc/ssl/ca-bundle.pem",             // OpenSUSE
37368              "/etc/pki/tls/cacert.pem",            // OpenELEC
37369
37370       So  doing something like this should fix the problem.  It also sets the
37371       time which is important for SSL to work properly.
37372
37373              mkdir -p /etc/ssl/certs/
37374              curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
37375              ntpclient -s -h pool.ntp.org
37376
37377       The two environment variables SSL_CERT_FILE and SSL_CERT_DIR, mentioned
37378       in  the  x509 package (https://godoc.org/crypto/x509), provide an addi‐
37379       tional way to provide the SSL root certificates.
37380
37381       Note that you may need to add the --insecure option to the curl command
37382       line if it doesn't work without.
37383
37384              curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
37385
37386   Rclone gives Failed to load config file: function not implemented error
37387       Likely this means that you are running rclone on Linux version not sup‐
37388       ported by the go runtime, ie earlier than version 2.6.23.
37389
37390       See  the  system  requirements  section  in   the   go   install   docs
37391       (https://golang.org/doc/install) for full details.
37392
37393   All my uploaded docx/xlsx/pptx files appear as archive/zip
37394       This  is  caused by uploading these files from a Windows computer which
37395       hasn't got the Microsoft Office suite installed.  The  easiest  way  to
37396       fix is to install the Word viewer and the Microsoft Office Compatibili‐
37397       ty Pack for Word, Excel, and PowerPoint 2007 and later  versions'  file
37398       formats
37399
37400   tcp lookup some.domain.com no such host
37401       This  happens  when  rclone cannot resolve a domain.  Please check that
37402       your DNS setup is generally working, e.g.
37403
37404              # both should print a long list of possible IP addresses
37405              dig www.googleapis.com          # resolve using your default DNS
37406              dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
37407
37408       If you are using systemd-resolved (default on Arch Linux), ensure it is
37409       at version 233 or higher.  Previous releases contain a bug which causes
37410       not all domains to be resolved properly.
37411
37412       Additionally with the GODEBUG=netdns= environment variable the  Go  re‐
37413       solver decision can be influenced.  This also allows to resolve certain
37414       issues with DNS resolution.  See the name resolution section in the  go
37415       docs (https://golang.org/pkg/net/#hdr-Name_Resolution).
37416
37417   The total size reported in the stats for a sync is wrong and keeps changing
37418       It  is  likely  you have more than 10,000 files that need to be synced.
37419       By default rclone only gets 10,000 files ahead in a sync so as  not  to
37420       use  up  too  much  memory.   You  can  change  this  default  with the
37421       --max-backlog (https://rclone.org/docs/#max-backlog-n) flag.
37422
37423   Rclone is using too much memory or appears to have a memory leak
37424       Rclone is written in Go which uses a garbage  collector.   The  default
37425       settings for the garbage collector mean that it runs when the heap size
37426       has doubled.
37427
37428       However it is possible to tune the garbage collector to use less memory
37429       by  setting  GOGC  (https://dave.cheney.net/tag/gogc) to a lower value,
37430       say export GOGC=20.  This will make the garbage collector work  harder,
37431       reducing memory size at the expense of CPU usage.
37432
37433       The most common cause of rclone using lots of memory is a single direc‐
37434       tory with thousands or millions of files in.  Rclone has to  load  this
37435       entirely  into  memory  as  rclone  objects.   Each rclone object takes
37436       0.5k-1k of memory.
37437
37438   License
37439       This is free software under the terms of MIT  the  license  (check  the
37440       COPYING file included with the source code).
37441
37442              Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/
37443
37444              Permission is hereby granted, free of charge, to any person obtaining a copy
37445              of this software and associated documentation files (the "Software"), to deal
37446              in the Software without restriction, including without limitation the rights
37447              to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37448              copies of the Software, and to permit persons to whom the Software is
37449              furnished to do so, subject to the following conditions:
37450
37451              The above copyright notice and this permission notice shall be included in
37452              all copies or substantial portions of the Software.
37453
37454              THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37455              IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37456              FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37457              AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37458              LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37459              OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
37460              THE SOFTWARE.
37461
37462   Authors
37463       • Nick Craig-Wood <nick@craig-wood.com>
37464
37465   Contributors
37466       {{< rem email addresses removed from here need to be addeed to bin/.ig‐
37467       nore-emails to make sure update-authors.py doesn't immediately put them
37468       back in again.  >}}
37469
37470       • Alex Couper <amcouper@gmail.com>
37471
37472       • Leonid Shalupov <leonid@shalupov.com> <shalupov@diverse.org.ru>
37473
37474       • Shimon Doodkin <helpmepro1@gmail.com>
37475
37476       • Colin Nicholson <colin@colinn.com>
37477
37478       • Klaus Post <klauspost@gmail.com>
37479
37480       • Sergey Tolmachev <tolsi.ru@gmail.com>
37481
37482       • Adriano Aurélio Meirelles <adriano@atinge.com>
37483
37484       • C.  Bess <cbess@users.noreply.github.com>
37485
37486       • Dmitry Burdeev <dibu28@gmail.com>
37487
37488       • Joseph Spurrier <github@josephspurrier.com>
37489
37490       • Björn Harrtell <bjorn@wololo.org>
37491
37492       • Xavier Lucas <xavier.lucas@corp.ovh.com>
37493
37494       • Werner Beroux <werner@beroux.com>
37495
37496       • Brian Stengaard <brian@stengaard.eu>
37497
37498       • Jakub Gedeon <jgedeon@sofi.com>
37499
37500       • Jim Tittsler <jwt@onjapan.net>
37501
37502       • Michal Witkowski <michal@improbable.io>
37503
37504       • Fabian Ruff <fabian.ruff@sap.com>
37505
37506       • Leigh Klotz <klotz@quixey.com>
37507
37508       • Romain Lapray <lapray.romain@gmail.com>
37509
37510       • Justin R.  Wilson <jrw972@gmail.com>
37511
37512       • Antonio Messina <antonio.s.messina@gmail.com>
37513
37514       • Stefan G.  Weichinger <office@oops.co.at>
37515
37516       • Per Cederberg <cederberg@gmail.com>
37517
37518       • Radek Šenfeld <rush@logic.cz>
37519
37520       • Fredrik Fornwall <fredrik@fornwall.net>
37521
37522       • Asko Tamm <asko@deekit.net>
37523
37524       • xor-zz <xor@gstocco.com>
37525
37526       • Tomasz Mazur <tmazur90@gmail.com>
37527
37528       • Marco Paganini <paganini@paganini.net>
37529
37530       • Felix Bünemann <buenemann@louis.info>
37531
37532       • Durval Menezes <jmrclone@durval.com>
37533
37534       • Luiz Carlos Rumbelsperger Viana <maxd13_luiz_carlos@hotmail.com>
37535
37536       • Stefan Breunig <stefan-github@yrden.de>
37537
37538       • Alishan Ladhani <ali-l@users.noreply.github.com>
37539
37540       • 0xJAKE <0xJAKE@users.noreply.github.com>
37541
37542       • Thibault Molleman <thibaultmol@users.noreply.github.com>
37543
37544       • Scott McGillivray <scott.mcgillivray@gmail.com>
37545
37546       • Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
37547
37548       • Lukas Loesche <lukas@mesosphere.io>
37549
37550       • emyarod <allllaboutyou@gmail.com>
37551
37552       • T.C.  Ferguson <tcf909@gmail.com>
37553
37554       • Brandur <brandur@mutelight.org>
37555
37556       • Dario Giovannetti <dev@dariogiovannetti.net>
37557
37558       • Károly Oláh <okaresz@aol.com>
37559
37560       • Jon Yergatian <jon@macfanatic.ca>
37561
37562       • Jack Schmidt <github@mowsey.org>
37563
37564       • Dedsec1 <Dedsec1@users.noreply.github.com>
37565
37566       • Hisham Zarka <hzarka@gmail.com>
37567
37568       • Jérôme Vizcaino <jerome.vizcaino@gmail.com>
37569
37570       • Mike Tesch <mjt6129@rit.edu>
37571
37572       • Marvin Watson <marvwatson@users.noreply.github.com>
37573
37574       • Danny Tsai <danny8376@gmail.com>
37575
37576       • Yoni Jah <yonjah+git@gmail.com> <yonjah+github@gmail.com>
37577
37578       • Stephen     Harris     <github@spuddy.org>     <sweharris@users.nore‐
37579         ply.github.com>
37580
37581       • Ihor Dvoretskyi <ihor.dvoretskyi@gmail.com>
37582
37583       • Jon Craton <jncraton@gmail.com>
37584
37585       • Hraban Luyat <hraban@0brg.net>
37586
37587       • Michael Ledin <mledin89@gmail.com>
37588
37589       • Martin Kristensen <me@azgul.com>
37590
37591       • Too Much IO <toomuchio@users.noreply.github.com>
37592
37593       • Anisse Astier <anisse@astier.eu>
37594
37595       • Zahiar Ahmed <zahiar@live.com>
37596
37597       • Igor Kharin <igorkharin@gmail.com>
37598
37599       • Bill Zissimopoulos <billziss@navimatics.com>
37600
37601       • Bob Potter <bobby.potter@gmail.com>
37602
37603       • Steven Lu <tacticalazn@gmail.com>
37604
37605       • Sjur Fredriksen <sjurtf@ifi.uio.no>
37606
37607       • Ruwbin <hubus12345@gmail.com>
37608
37609       • Fabian Möller <fabianm88@gmail.com> <f.moeller@nynex.de>
37610
37611       • Edward Q.  Bridges <github@eqbridges.com>
37612
37613       • Vasiliy Tolstov <v.tolstov@selfip.ru>
37614
37615       • Harshavardhana <harsha@minio.io>
37616
37617       • sainaen <sainaen@gmail.com>
37618
37619       • gdm85 <gdm85@users.noreply.github.com>
37620
37621       • Yaroslav Halchenko <debian@onerussian.com>
37622
37623       • John Papandriopoulos <jpap@users.noreply.github.com>
37624
37625       • Zhiming Wang <zmwangx@gmail.com>
37626
37627       • Andy Pilate <cubox@cubox.me>
37628
37629       • Oliver     Heyme     <olihey@googlemail.com>      <olihey@users.nore‐
37630         ply.github.com> <de8olihe@lego.com>
37631
37632       • wuyu <wuyu@yunify.com>
37633
37634       • Andrei Dragomir <adragomi@adobe.com>
37635
37636       • Christian Brüggemann <mail@cbruegg.com>
37637
37638       • Alex McGrath Kraak <amkdude@gmail.com>
37639
37640       • bpicode <bjoern.pirnay@googlemail.com>
37641
37642       • Daniel Jagszent <daniel@jagszent.de>
37643
37644       • Josiah White <thegenius2009@gmail.com>
37645
37646       • Ishuah Kariuki <kariuki@ishuah.com> <ishuah91@gmail.com>
37647
37648       • Jan Varho <jan@varho.org>
37649
37650       • Girish Ramakrishnan <girish@cloudron.io>
37651
37652       • LingMan <LingMan@users.noreply.github.com>
37653
37654       • Jacob McNamee <jacobmcnamee@gmail.com>
37655
37656       • jersou <jertux@gmail.com>
37657
37658       • thierry <thierry@substantiel.fr>
37659
37660       • Simon Leinen <simon.leinen@gmail.com> <ubuntu@s3-test.novalocal>
37661
37662       • Dan Dascalescu <ddascalescu+github@gmail.com>
37663
37664       • Jason Rose <jason@jro.io>
37665
37666       • Andrew Starr-Bochicchio <a.starr.b@gmail.com>
37667
37668       • John Leach <john@johnleach.co.uk>
37669
37670       • Corban Raun <craun@instructure.com>
37671
37672       • Pierre Carlson <mpcarl@us.ibm.com>
37673
37674       • Ernest Borowski <er.borowski@gmail.com>
37675
37676       • Remus Bunduc <remus.bunduc@gmail.com>
37677
37678       • Iakov Davydov <iakov.davydov@unil.ch> <dav05.gith@myths.ru>
37679
37680       • Jakub Tasiemski <tasiemski@gmail.com>
37681
37682       • David Minor <dminor@saymedia.com>
37683
37684       • Tim Cooijmans <cooijmans.tim@gmail.com>
37685
37686       • Laurence <liuxy6@gmail.com>
37687
37688       • Giovanni Pizzi <gio.piz@gmail.com>
37689
37690       • Filip Bartodziej <filipbartodziej@gmail.com>
37691
37692       • Jon Fautley <jon@dead.li>
37693
37694       • lewapm <32110057+lewapm@users.noreply.github.com>
37695
37696       • Yassine Imounachen <yassine256@gmail.com>
37697
37698       • Chris   Redekop  <chris-redekop@users.noreply.github.com>  <chris.re‐
37699         dekop@gmail.com>
37700
37701       • Jon Fautley <jon@adenoid.appstal.co.uk>
37702
37703       • Will Gunn <WillGunn@users.noreply.github.com>
37704
37705       • Lucas Bremgartner <lucas@bremis.ch>
37706
37707       • Jody Frankowski <jody.frankowski@gmail.com>
37708
37709       • Andreas Roussos <arouss1980@gmail.com>
37710
37711       • nbuchanan <nbuchanan@utah.gov>
37712
37713       • Durval Menezes <rclone@durval.com>
37714
37715       • Victor <vb-github@viblo.se>
37716
37717       • Mateusz <pabian.mateusz@gmail.com>
37718
37719       • Daniel Loader <spicypixel@gmail.com>
37720
37721       • David0rk <davidork@gmail.com>
37722
37723       • Alexander Neumann <alexander@bumpern.de>
37724
37725       • Giri Badanahatti <gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local>
37726
37727       • Leo R.  Lundgren <leo@finalresort.org>
37728
37729       • wolfv <wolfv6@users.noreply.github.com>
37730
37731       • Dave Pedu <dave@davepedu.com>
37732
37733       • Stefan Lindblom <lindblom@spotify.com>
37734
37735       • seuffert <oliver@seuffert.biz>
37736
37737       • gbadanahatti <37121690+gbadanahatti@users.noreply.github.com>
37738
37739       • Keith Goldfarb <barkofdelight@gmail.com>
37740
37741       • Steve Kriss <steve@heptio.com>
37742
37743       • Chih-Hsuan Yen <yan12125@gmail.com>
37744
37745       • Alexander Neumann <fd0@users.noreply.github.com>
37746
37747       • Matt Holt <mholt@users.noreply.github.com>
37748
37749       • Eri Bastos <bastos.eri@gmail.com>
37750
37751       • Michael P.  Dubner <pywebmail@list.ru>
37752
37753       • Antoine GIRARD <sapk@users.noreply.github.com>
37754
37755       • Mateusz Piotrowski <mpp302@gmail.com>
37756
37757       • Animosity022    <animosity22@users.noreply.github.com>     <earl.tex‐
37758         ter@gmail.com>
37759
37760       • Peter Baumgartner <pete@lincolnloop.com>
37761
37762       • Craig Rachel <craig@craigrachel.com>
37763
37764       • Michael G.  Noll <miguno@users.noreply.github.com>
37765
37766       • hensur <me@hensur.de>
37767
37768       • Oliver Heyme <de8olihe@lego.com>
37769
37770       • Richard Yang <richard@yenforyang.com>
37771
37772       • Piotr Oleszczyk <piotr.oleszczyk@gmail.com>
37773
37774       • Rodrigo <rodarima@gmail.com>
37775
37776       • NoLooseEnds <NoLooseEnds@users.noreply.github.com>
37777
37778       • Jakub Karlicek <jakub@karlicek.me>
37779
37780       • John Clayton <john@codemonkeylabs.com>
37781
37782       • Kasper Byrdal Nielsen <byrdal76@gmail.com>
37783
37784       • Benjamin Joseph Dag <bjdag1234@users.noreply.github.com>
37785
37786       • themylogin <themylogin@gmail.com>
37787
37788       • Onno Zweers <onno.zweers@surfsara.nl>
37789
37790       • Jasper Lievisse Adriaanse <jasper@humppa.nl>
37791
37792       • sandeepkru     <sandeep.ummadi@gmail.com>     <sandeepkru@users.nore‐
37793         ply.github.com>
37794
37795       • HerrH <atomtigerzoo@users.noreply.github.com>
37796
37797       • Andrew <4030760+sparkyman215@users.noreply.github.com>
37798
37799       • dan smith <XX1011@gmail.com>
37800
37801       • Oleg Kovalov <iamolegkovalov@gmail.com>
37802
37803       • Ruben Vandamme <github-com-00ff86@vandamme.email>
37804
37805       • Cnly <minecnly@gmail.com>
37806
37807       • Andres Alvarez <1671935+kir4h@users.noreply.github.com>
37808
37809       • reddi1 <xreddi@gmail.com>
37810
37811       • Matt Tucker <matthewtckr@gmail.com>
37812
37813       • Sebastian Bünger <buengese@gmail.com> <buengese@protonmail.com>
37814
37815       • Martin Polden <mpolden@mpolden.no>
37816
37817       • Alex Chen <Cnly@users.noreply.github.com>
37818
37819       • Denis <deniskovpen@gmail.com>
37820
37821       • bsteiss <35940619+bsteiss@users.noreply.github.com>
37822
37823       • Cédric Connes <cedric.connes@gmail.com>
37824
37825       • Dr.  Tobias Quathamer <toddy15@users.noreply.github.com>
37826
37827       • dcpu <42736967+dcpu@users.noreply.github.com>
37828
37829       • Sheldon Rupp <me@shel.io>
37830
37831       • albertony <12441419+albertony@users.noreply.github.com>
37832
37833       • cron410 <cron410@gmail.com>
37834
37835       • Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
37836
37837       • Felix Brucker <felix@felixbrucker.com>
37838
37839       • Santiago Rodríguez <scollazo@users.noreply.github.com>
37840
37841       • Craig Miskell <craig.miskell@fluxfederation.com>
37842
37843       • Antoine GIRARD <sapk@sapk.fr>
37844
37845       • Joanna Marek <joanna.marek@u2i.com>
37846
37847       • frenos <frenos@users.noreply.github.com>
37848
37849       • ssaqua <ssaqua@users.noreply.github.com>
37850
37851       • xnaas <me@xnaas.info>
37852
37853       • Frantisek Fuka <fuka@fuxoft.cz>
37854
37855       • Paul Kohout <pauljkohout@yahoo.com>
37856
37857       • dcpu <43330287+dcpu@users.noreply.github.com>
37858
37859       • jackyzy823 <jackyzy823@gmail.com>
37860
37861       • David Haguenauer <ml@kurokatta.org>
37862
37863       • teresy <hi.teresy@gmail.com>
37864
37865       • buergi <patbuergi@gmx.de>
37866
37867       • Florian Gamboeck <mail@floga.de>
37868
37869       • Ralf Hemberger <10364191+rhemberger@users.noreply.github.com>
37870
37871       • Scott Edlund <sedlund@users.noreply.github.com>
37872
37873       • Erik Swanson <erik@retailnext.net>
37874
37875       • Jake Coggiano <jake@stripe.com>
37876
37877       • brused27 <brused27@noemailaddress>
37878
37879       • Peter Kaminski <kaminski@istori.com>
37880
37881       • Henry Ptasinski <henry@logout.com>
37882
37883       • Alexander <kharkovalexander@gmail.com>
37884
37885       • Garry McNulty <garrmcnu@gmail.com>
37886
37887       • Mathieu Carbou <mathieu.carbou@gmail.com>
37888
37889       • Mark Otway <mark@otway.com>
37890
37891       • William Cocker <37018962+WilliamCocker@users.noreply.github.com>
37892
37893       • François Leurent <131.js@cloudyks.org>
37894
37895       • Arkadius Stefanski <arkste@gmail.com>
37896
37897       • Jay <dev@jaygoel.com>
37898
37899       • andrea rota <a@xelera.eu>
37900
37901       • nicolov <nicolov@users.noreply.github.com>
37902
37903       • Dario Guzik <dario@guzik.com.ar>
37904
37905       • qip <qip@users.noreply.github.com>
37906
37907       • yair@unicorn <yair@unicorn>
37908
37909       • Matt Robinson <brimstone@the.narro.ws>
37910
37911       • kayrus <kay.diam@gmail.com>
37912
37913       • Rémy Léone <remy.leone@gmail.com>
37914
37915       • Wojciech Smigielski <wojciech.hieronim.smigielski@gmail.com>
37916
37917       • weetmuts <oehrstroem@gmail.com>
37918
37919       • Jonathan <vanillajonathan@users.noreply.github.com>
37920
37921       • James Carpenter <orbsmiv@users.noreply.github.com>
37922
37923       • Vince <vince0villamora@gmail.com>
37924
37925       • Nestar47 <47841759+Nestar47@users.noreply.github.com>
37926
37927       • Six <brbsix@gmail.com>
37928
37929       • Alexandru Bumbacea <alexandru.bumbacea@booking.com>
37930
37931       • calisro <robert.calistri@gmail.com>
37932
37933       • Dr.Rx <david.rey@nventive.com>
37934
37935       • marcintustin <marcintustin@users.noreply.github.com>
37936
37937       • jaKa Močnik <jaka@koofr.net>
37938
37939       • Fionera <fionera@fionera.de>
37940
37941       • Dan Walters <dan@walters.io>
37942
37943       • Danil Semelenov <sgtpep@users.noreply.github.com>
37944
37945       • xopez <28950736+xopez@users.noreply.github.com>
37946
37947       • Ben Boeckel <mathstuf@gmail.com>
37948
37949       • Manu <manu@snapdragon.cc>
37950
37951       • Kyle E.  Mitchell <kyle@kemitchell.com>
37952
37953       • Gary Kim <gary@garykim.dev>
37954
37955       • Jon <jonathn@github.com>
37956
37957       • Jeff Quinn <jeffrey.quinn@bluevoyant.com>
37958
37959       • Peter Berbec <peter@berbec.com>
37960
37961       • didil <1284255+didil@users.noreply.github.com>
37962
37963       • id01 <gaviniboom@gmail.com>
37964
37965       • Robert Marko <robimarko@gmail.com>
37966
37967       • Philip Harvey <32467456+pharveybattelle@users.noreply.github.com>
37968
37969       • JorisE <JorisE@users.noreply.github.com>
37970
37971       • garry415 <garry.415@gmail.com>
37972
37973       • forgems <forgems@gmail.com>
37974
37975       • Florian Apolloner <florian@apolloner.eu>
37976
37977       • Aleksandar  Janković  <office@ajankovic.com>   <ajankovic@users.nore‐
37978         ply.github.com>
37979
37980       • Maran <maran@protonmail.com>
37981
37982       • nguyenhuuluan434 <nguyenhuuluan434@gmail.com>
37983
37984       • Laura Hausmann <zotan@zotan.pw> <laura@hausmann.dev>
37985
37986       • yparitcher <y@paritcher.com>
37987
37988       • AbelThar <abela.tharen@gmail.com>
37989
37990       • Matti Niemenmaa <matti.niemenmaa+git@iki.fi>
37991
37992       • Russell Davis <russelldavis@users.noreply.github.com>
37993
37994       • Yi FU <yi.fu@tink.se>
37995
37996       • Paul Millar <paul.millar@desy.de>
37997
37998       • justinalin <justinalin@qnap.com>
37999
38000       • EliEron <subanimehd@gmail.com>
38001
38002       • justina777 <chiahuei.lin@gmail.com>
38003
38004       • Chaitanya Bankanhal <bchaitanya15@gmail.com>
38005
38006       • Michał Matczuk <michal@scylladb.com>
38007
38008       • Macavirus <macavirus@zoho.com>
38009
38010       • Abhinav Sharma <abhi18av@users.noreply.github.com>
38011
38012       • ginvine <34869051+ginvine@users.noreply.github.com>
38013
38014       • Patrick Wang <mail6543210@yahoo.com.tw>
38015
38016       • Cenk Alti <cenkalti@gmail.com>
38017
38018       • Andreas Chlupka <andy@chlupka.com>
38019
38020       • Alfonso Montero <amontero@tinet.org>
38021
38022       • Ivan Andreev <ivandeex@gmail.com>
38023
38024       • David Baumgold <david@davidbaumgold.com>
38025
38026       • Lars Lehtonen <lars.lehtonen@gmail.com>
38027
38028       • Matei David <matei.david@gmail.com>
38029
38030       • David <david.bramwell@endemolshine.com>
38031
38032       • Anthony Rusdi <33247310+antrusd@users.noreply.github.com>
38033
38034       • Richard Patel <me@terorie.dev>
38035
38036       • 庄天翼 <zty0826@gmail.com>
38037
38038       • SwitchJS <dev@switchjs.com>
38039
38040       • Raphael <PowershellNinja@users.noreply.github.com>
38041
38042       • Sezal Agrawal <sezalagrawal@gmail.com>
38043
38044       • Tyler <TylerNakamura@users.noreply.github.com>
38045
38046       • Brett Dutro <brett.dutro@gmail.com>
38047
38048       • Vighnesh SK <booterror99@gmail.com>
38049
38050       • Arijit Biswas <dibbyo456@gmail.com>
38051
38052       • Michele Caci <michele.caci@gmail.com>
38053
38054       • AlexandrBoltris <ua2fgb@gmail.com>
38055
38056       • Bryce Larson <blarson@saltstack.com>
38057
38058       • Carlos Ferreyra <crypticmind@gmail.com>
38059
38060       • Saksham Khanna <sakshamkhanna@outlook.com>
38061
38062       • dausruddin <5763466+dausruddin@users.noreply.github.com>
38063
38064       • zero-24 <zero-24@users.noreply.github.com>
38065
38066       • Xiaoxing Ye <ye@xiaoxing.us>
38067
38068       • Barry Muldrey <barry@muldrey.net>
38069
38070       • Sebastian Brandt <sebastian.brandt@friday.de>
38071
38072       • Marco Molteni <marco.molteni@mailbox.org>
38073
38074       • Ankur   Gupta   <ankur0493@gmail.com>  <7876747+ankur0493@users.nore‐
38075         ply.github.com>
38076
38077       • Maciej Zimnoch <maciej@scylladb.com>
38078
38079       • anuar45 <serdaliyev.anuar@gmail.com>
38080
38081       • Fernando <ferferga@users.noreply.github.com>
38082
38083       • David Cole <david.cole@sohonet.com>
38084
38085       • Wei He <git@weispot.com>
38086
38087       • Outvi V <19144373+outloudvi@users.noreply.github.com>
38088
38089       • Thomas Kriechbaumer <thomas@kriechbaumer.name>
38090
38091       • Tennix <tennix@users.noreply.github.com>
38092
38093       • Ole Schütt <ole@schuett.name>
38094
38095       • Kuang-che Wu <kcwu@csie.org>
38096
38097       • Thomas Eales <wingsuit@users.noreply.github.com>
38098
38099       • Paul Tinsley <paul.tinsley@vitalsource.com>
38100
38101       • Felix Hungenberg <git@shiftgeist.com>
38102
38103       • Benjamin Richter <github@dev.telepath.de>
38104
38105       • landall <cst_zf@qq.com>
38106
38107       • thestigma <thestigma@gmail.com>
38108
38109       • jtagcat <38327267+jtagcat@users.noreply.github.com>
38110
38111       • Damon Permezel <permezel@me.com>
38112
38113       • boosh <boosh@users.noreply.github.com>
38114
38115       • unbelauscht <58393353+unbelauscht@users.noreply.github.com>
38116
38117       • Motonori IWAMURO <vmi@nifty.com>
38118
38119       • Benjapol Worakan <benwrk@live.com>
38120
38121       • Dave Koston <dave.koston@stackpath.com>
38122
38123       • Durval Menezes <DurvalMenezes@users.noreply.github.com>
38124
38125       • Tim Gallant <me@timgallant.us>
38126
38127       • Frederick Zhang <frederick888@tsundere.moe>
38128
38129       • valery1707 <valery1707@gmail.com>
38130
38131       • Yves G <theYinYeti@yalis.fr>
38132
38133       • Shing Kit Chan <chanshingkit@gmail.com>
38134
38135       • Franklyn Tackitt <franklyn@tackitt.net>
38136
38137       • Robert-André Mauchin <zebob.m@gmail.com>
38138
38139       • evileye <48332831+ibiruai@users.noreply.github.com>
38140
38141       • Joachim Brandon LeBlanc <brandon@leblanc.codes>
38142
38143       • Patryk Jakuszew <patryk.jakuszew@gmail.com>
38144
38145       • fishbullet <shindu666@gmail.com>
38146
38147       • greatroar <@>
38148
38149       • Bernd Schoolmann <mail@quexten.com>
38150
38151       • Elan Ruusamäe <glen@pld-linux.org>
38152
38153       • Max Sum <max@lolyculture.com>
38154
38155       • Mark Spieth <mspieth@users.noreply.github.com>
38156
38157       • harry <me@harry.plus>
38158
38159       • Samantha McVey <samantham@posteo.net>
38160
38161       • Jack Anderson <jack.anderson@metaswitch.com>
38162
38163       • Michael G <draget@speciesm.net>
38164
38165       • Brandon Philips <brandon@ifup.org>
38166
38167       • Daven <dooven@users.noreply.github.com>
38168
38169       • Martin Stone <martin@d7415.co.uk>
38170
38171       • David Bramwell <13053834+dbramwell@users.noreply.github.com>
38172
38173       • Sunil Patra <snl_su@live.com>
38174
38175       • Adam Stroud <adam.stroud@gmail.com>
38176
38177       • Kush <kushsharma@users.noreply.github.com>
38178
38179       • Matan Rosenberg <matan129@gmail.com>
38180
38181       • gitch1 <63495046+gitch1@users.noreply.github.com>
38182
38183       • ElonH <elonhhuang@gmail.com>
38184
38185       • Fred <fred@creativeprojects.tech>
38186
38187       • Sébastien Gross <renard@users.noreply.github.com>
38188
38189       • Maxime Suret <11944422+msuret@users.noreply.github.com>
38190
38191       • Caleb Case <caleb@storj.io>
38192
38193       • Ben Zenker <imbenzenker@gmail.com>
38194
38195       • Martin Michlmayr <tbm@cyrius.com>
38196
38197       • Brandon McNama <bmcnama@pagerduty.com>
38198
38199       • Daniel Slyman <github@skylayer.eu>
38200
38201       • Alex Guerrero <guerrero@users.noreply.github.com>
38202
38203       • Matteo Pietro Dazzi <matteopietro.dazzi@gft.com>
38204
38205       • edwardxml <56691903+edwardxml@users.noreply.github.com>
38206
38207       • Roman Kredentser <shareed2k@gmail.com>
38208
38209       • Kamil Trzciński <ayufan@ayufan.eu>
38210
38211       • Zac Rubin <z-0@users.noreply.github.com>
38212
38213       • Vincent Feltz <psycho@feltzv.fr>
38214
38215       • Heiko Bornholdt <bornholdt@informatik.uni-hamburg.de>
38216
38217       • Matteo Pietro Dazzi <matteopietro.dazzi@gmail.com>
38218
38219       • jtagcat <gitlab@c7.ee>
38220
38221       • Petri Salminen <petri@salminen.dev>
38222
38223       • Tim Burke <tim.burke@gmail.com>
38224
38225       • Kai Lüke <kai@kinvolk.io>
38226
38227       • Garrett Squire <github@garrettsquire.com>
38228
38229       • Evan Harris <eharris@puremagic.com>
38230
38231       • Kevin <keyam@microsoft.com>
38232
38233       • Morten Linderud <morten@linderud.pw>
38234
38235       • Dmitry Ustalov <dmitry.ustalov@gmail.com>
38236
38237       • Jack <196648+jdeng@users.noreply.github.com>
38238
38239       • kcris <cristian.tarsoaga@gmail.com>
38240
38241       • tyhuber1 <68970760+tyhuber1@users.noreply.github.com>
38242
38243       • David Ibarra <david.ibarra@realty.com>
38244
38245       • Tim Gallant <tim@lilt.com>
38246
38247       • Kaloyan Raev <kaloyan@storj.io>
38248
38249       • Jay McEntire <jay.mcentire@gmail.com>
38250
38251       • Leo Luan <leoluan@us.ibm.com>
38252
38253       • aus <549081+aus@users.noreply.github.com>
38254
38255       • Aaron Gokaslan <agokaslan@fb.com>
38256
38257       • Egor Margineanu <egmar@users.noreply.github.com>
38258
38259       • Lucas Kanashiro <lucas.kanashiro@canonical.com>
38260
38261       • WarpedPixel <WarpedPixel@users.noreply.github.com>
38262
38263       • Sam Edwards <sam@samedwards.ca>
38264
38265       • wjielai <gouki0123@gmail.com>
38266
38267       • Muffin King <jinxz_k@live.com>
38268
38269       • Christopher Stewart <6573710+1f47a@users.noreply.github.com>
38270
38271       • Russell Cattelan <cattelan@digitalelves.com>
38272
38273       • gyutw <30371241+gyutw@users.noreply.github.com>
38274
38275       • Hekmon <edouardhur@gmail.com>
38276
38277       • LaSombra <lasombra@users.noreply.github.com>
38278
38279       • Dov Murik <dov.murik@gmail.com>
38280
38281       • Ameer Dawood <ameer1234567890@gmail.com>
38282
38283       • Dan Hipschman <dan.hipschman@opendoor.com>
38284
38285       • Josh Soref <jsoref@users.noreply.github.com>
38286
38287       • David <david@staron.nl>
38288
38289       • Ingo <ingo@hoffmann.cx>
38290
38291       • Adam   Plánský   <adamplansky@users.noreply.github.com>    <adamplan‐
38292         sky@gmail.com>
38293
38294       • Manish Gupta <manishgupta.ait@gmail.com>
38295
38296       • Deepak Sah <sah.sslpu@gmail.com>
38297
38298       • Marcin Zelent <marcin@zelent.net>
38299
38300       • zhucan <zhucan.k8s@gmail.com>
38301
38302       • James Lim <james.lim@samsara.com>
38303
38304       • Laurens Janssen <BD69BM@insim.biz>
38305
38306       • Bob Bagwill <bobbagwill@gmail.com>
38307
38308       • Nathan Collins <colli372@msu.edu>
38309
38310       • lostheli
38311
38312       • kelv <kelvin@acks.org>
38313
38314       • Milly <milly.ca@gmail.com>
38315
38316       • gtorelly <gtorelly@gmail.com>
38317
38318       • Brad Ackerman <brad@facefault.org>
38319
38320       • Mitsuo Heijo <mitsuo.heijo@gmail.com>
38321
38322       • Claudio Bantaloukas <rockdreamer@gmail.com>
38323
38324       • Benjamin Gustin <gustin.ben@gmail.com>
38325
38326       • Ingo Weiss <ingo@redhat.com>
38327
38328       • Kerry Su <me@sshockwave.net>
38329
38330       • Ilyess Bachiri <ilyess.bachiri@sonder.com>
38331
38332       • Yury Stankevich <urykhy@gmail.com>
38333
38334       • kice <wslikerqs@gmail.com>
38335
38336       • Denis Neuling <denisneuling@gmail.com>
38337
38338       • Janne Johansson <icepic.dz@gmail.com>
38339
38340       • Patrik Nordlén <patriki@gmail.com>
38341
38342       • CokeMine <aptx4561@gmail.com>
38343
38344       • Sơn Trần-Nguyễn <github@sntran.com>
38345
38346       • lluuaapp <266615+lluuaapp@users.noreply.github.com>
38347
38348       • Zach Kipp <kipp.zach@gmail.com>
38349
38350       • Riccardo Iaconelli <riccardo@kde.org>
38351
38352       • Sakuragawa Misty <gyc990326@gmail.com>
38353
38354       • Nicolas Rueff <nicolas@rueff.fr>
38355
38356       • Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
38357
38358       • Bob Pusateri <BobPusateri@users.noreply.github.com>
38359
38360       • Alex JOST <25005220+dimejo@users.noreply.github.com>
38361
38362       • Alexey Tabakman <samosad.ru@gmail.com>
38363
38364       • David Sze <sze.david@gmail.com>
38365
38366       • cynthia kwok <cynthia.m.kwok@gmail.com>
38367
38368       • Ankur Gupta <agupta@egnyte.com>
38369
38370       • Miron Veryanskiy <MironVeryanskiy@gmail.com>
38371
38372       • K265 <k.265@qq.com>
38373
38374       • Vesnyx <Vesnyx@users.noreply.github.com>
38375
38376       • Dmitry Chepurovskiy <me@dm3ch.net>
38377
38378       • Rauno Ots <rauno.ots@cgi.com>
38379
38380       • Georg Neugschwandtner <georg.neugschwandtner@gmx.net>
38381
38382       • pvalls <polvallsrue@gmail.com>
38383
38384       • Robert Thomas <31854736+wolveix@users.noreply.github.com>
38385
38386       • Romeo Kienzler <romeo.kienzler@gmail.com>
38387
38388       • tYYGH <tYYGH@users.noreply.github.com>
38389
38390       • georne <77802995+georne@users.noreply.github.com>
38391
38392       • Maxwell Calman <mcalman@MacBook-Pro.local>
38393
38394       • Naveen Honest Raj <naveendurai19@gmail.com>
38395
38396       • Lucas Messenger <lmesseng@cisco.com>
38397
38398       • Manish Kumar <krmanish260@gmail.com>
38399
38400       • x0b <x0bdev@gmail.com>
38401
38402       • CERN through the CS3MESH4EOSC Project
38403

Contact the rclone project

38405   Forum
38406       Forum for questions and general discussion:
38407
38408https://forum.rclone.org
38409
38410   GitHub repository
38411       The project's repository is located at:
38412
38413https://github.com/rclone/rclone
38414
38415       There you can file bug reports or contribute with pull requests.
38416
38417   Twitter
38418       You can also follow me on twitter for rclone announcements:
38419
38420       • [@njcw](https://twitter.com/njcw)
38421
38422   Email
38423       Or  if all else fails or you want to ask something private or confiden‐
38424       tial email Nick Craig-Wood (mailto:nick@craig-wood.com).  Please  don't
38425       email  me  requests  for help - those are better directed to the forum.
38426       Thanks!
38427

AUTHORS

38429       Nick Craig-Wood.
38430
38431
38432
38433User Manual                      Apr 26, 2021                        rclone(1)
Impressum